haiku/headers/os
Niels Sascha Reedijk 1111dda699 NetServices: Add libnetservices2.a from dev/netservices into master
The overall design does not deviate much from my proof of concept [2] and that still makes a good read to
understanding the overall architecture. If you want to get a sense of how it is built up, the API comes with
full doxygen documentation for the public API [3], and I have also done a PoC change for HaikuDepot which is
useful as an illustration on what the impact for the user of the new library is. [4] There is also a test suite
that may give some insight into the day to day ergonomics of the API [5].

The current state is that I am fairly confident that many HTTP requests will actually work, but I do expect
rough edges with a protocol with this many diverse implementations. There is also a list of features yet to be
implemented on Trac [6]. Additionally, I still want/need to do performance testing.

The goal of merging the kit right now is to start making it available for more uses, and through that also give
a chance to shape its future. There are also some design decisions that need review, most notably I expect some
discussion around the uses of C++ 17 idioms (like std::optional and std::string_view) and around the use of
exceptions for error handling.

The impact of merging right now should be near zero: the netservices2 kit lives in its own header space, and
builds into its own static library (libnetservices2.a). It is not yet used in any of the apps in our
repository.

The branch does remove the deprecated services kit from the libnetapi.so library, though it leaves
libnetservices.a intact. After our previous announcement to remove it after beta 3, this should be expected.

[2] https://github.com/nielx/haiku-netservices-rfc/tree/exceptions
[3] https://git.haiku-os.org/haiku/tree/docs/user/netservices?h=dev/netservices
[4] https://review.haiku-os.org/c/haiku/+/5692
[5] https://git.haiku-os.org/haiku/tree/src/tests/kits/net/netservices2?h=dev/netservices
[6] https://dev.haiku-os.org/wiki/Development/NetServices2

Change-Id: I5d0b7e2619699f39a2506588417b57391f0f5cc2
2022-11-02 01:37:17 +00:00
..
add-ons Refactor touchpad movement generation by migrating MovementMaker to userland. 2022-07-18 16:00:29 +00:00
app BCursor: add a constructor with bitmap and point 2020-10-08 08:23:31 +00:00
arch kernel/arch/user_debugger: implement for risv64 2021-08-06 15:42:49 +00:00
be_apps be_apps/ServicesDaemon: Remove. 2016-07-29 18:41:30 -04:00
bluetooth bluetooth: ioctls always pass size on Haiku. 2018-11-18 14:42:09 -05:00
device USB: Move usb_iso_packet_descriptor to a separate header. 2021-09-02 16:00:17 +00:00
drivers add physical_block_size field where applicable 2022-09-23 06:56:01 +00:00
game More build fixes. 2020-01-25 21:35:34 +01:00
interface InterfaceDefs: Adjust and introduce new spacing/insets constants. 2022-11-02 02:23:32 +00:00
kernel OS.h: Remove set_timezone function from header, place behind _BEOS_R5_COMPATIBLE_. 2022-04-25 17:25:55 -04:00
locale BCountry: add a GetPreferredLanguage method. 2021-07-21 07:20:39 +00:00
mail Migrate the BMailComponent docs to the Haiku Book. 2017-12-25 19:43:51 -05:00
media Enable some more Werror and fix compiler warnings 2022-04-22 14:25:48 +00:00
midi Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
midi2
net Network: Add a BNetworkDevice::GetNetworks() method and use it in the GUI. 2022-10-25 23:34:42 -04:00
package package kit: Add pre-uninstall scripts feature. 2020-09-21 10:47:57 +00:00
storage Remove Spurious B_BEOS_DATA_DIRECTORY 2017-05-08 22:17:53 +02:00
support Merge remote-tracking branch 'origin/master' into dev/netservices 2022-09-04 07:30:59 +01:00
translation Tracker: Add thumbnail support 2021-08-27 11:39:13 +00:00
AppKit.h
Be.h
BeBuild.h BeBuild: Remove B_ALWAYS_INLINE. 2021-11-18 16:35:05 -05:00
DeviceKit.h
GameKit.h
InterfaceKit.h
KernelKit.h
LocaleKit.h Remove even more Locale Kit cruft. 2017-07-30 14:46:41 -04:00
MailKit.h
MediaKit.h Make BMediaRecorder public 2017-01-10 21:34:20 +01:00
MidiKit.h
NetKit.h
NetworkKit.h headers/NetworkKit: Drop now-private service calls from NetworkKit.h 2022-05-13 16:01:15 +00:00
StorageKit.h
SupportKit.h
TranslationKit.h