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
These allow for additional messages about the progress/status of the request.
For now, the messages are sent unconditionally, though it may be reasonable to
in the future switch to sending them only when enabled.
Change-Id: Ic45a0055037af02c689494fa5ce0acd03592ad7e
The integration PostTest has a basic test that the expected messages are sent and
have the expected data fields. The gist is documented in book.dox.
To do are the messages around SSL. However, that functionality is also not
implemented yet, so there is nothing to send.
Change-Id: Ib8f36ed32f9854d643d8256338b71af7067059f0
The current implementation of the keystore_server is not perfect. While the
source has many seeds for a future of having keyrings encrypted, and having
more fine grained permissions, it is far from complete.
The main arguments for adding documentation about this new but incomplete
functionality is that while it is incomplete, the API is part of the public
headers, and there are some legitimate use cases for developers.
The documentation aims to give the proper amount of caution to any developer
that is considering using this API.
Change-Id: I154a3f8374b22dc6929758cba7ba810833bcfe9d
I've updated the docs to match the current BMailComponent, documented
new functions, and cleaned up the MailComponent.h file to at least
somewhat match our coding style.
First in a series (there are 3 more old API docs on the Mail Kit in that
"Public API" folder.)
- Delete the introduction from the kits list page, as it is already
under locale_intro.
- Update the description in locale_intro.
- Since the locale kit now lives in libbe, delete the paragraph about
libraries from the intro, and move the still relevant part about
liblocalestub to the catalog translation macros description in
Catalog.dox.
This mostly reverts commit 75b219d35a.
The changes to the image URLs in Alert.dox are still needed, so I
didn't revert those.
As per discussion on the mailing list and IRC.
* Automatic whitespace cleanup.
* Removed all of Midi2 from the "libbe" group, as they aren't part of it
* Get rid of the redundant "libmidi2" group, as all of midi2 is already in
the "MIDI 2 Kit" group, and the docs explicitly state that the MIDI 2 Kit
has its own library.
* Update the Doxyfile for 1.7.6.1. Doxywizard reformatted the comments; that's why this change is so big
* Disable graph inheritance trees; use "Inherits/Inherited by" lists instead (Doxygen has this on by default; I don't think it was intentional)
* Shorten two subgroup names; helps with formatting in Doxygen 1.8 and looks cleaner
* Moves the page footer ("The Haiku Book pre-R1...") be in a <footer> tag, and add a CSS rule for this tag
* Disable XML output, no one is using it
* Disable Microsoft IDL parsing, speeds up Doxygen a bit
This documentation was provided by Omri Barak, a student participating
in Google Code Initiative (GCI) 2011.
Signed off by John Scipione
Since this is the first class documented in the Game Kit I also added
a reference to the Game Kit to the API docs front page.
This started off as just being a page to detail the key codes since I find
myself constantly referencing the BeBook page on the subject and it is
horribly broken. However, the page has grown to detail many of the keyboard
related methods and constants defined in InterfaceDefs.h as well. A very
long and detailed explanation of the key_map structure is included.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43230 a95241bf-73f2-0310-859d-f6bbb57e9c96
If you have never seen this before you are in for a bit of a shock.
Update the Doxyfile to 1.7.3 (the version that gets auto-generated).
Update the book.dox front page with some nice introductory text.
Add new documentation for the following classes:
BCheckBox
BClipboard
BColorControl
BControl
BEntryList
BView (preliminary)
Remove redundant documentation from src/kits/storage/EntryList.cpp
Minor documentation update for the following classes:
BAlert
BApplication
BArchivable
BBox
BButton
BCatalog
BFindDirectory
BHandler
BUnarchiver
BString
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43096 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Remove BNode documentation from the source code and add it to Node.dox
* Rewrite some of the existing documents
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42986 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Some new classes documented
* Screenshots for the interface kit controls
* A lot of typo fixes
* Some css tweaks
This has some backporting to the current version of Doxygen, since
there are experiments to get coloring similar to the one in the Be
Book that will hopefully be upstreamed in Doxygen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42608 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also parse the actual code to get the methods shown in the classes, inheritance diagrams, and all that stuff
* Add some docs on date formatting to BLocale
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37925 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Complete and correct some parts of locale and catalog classes reference
* Ensure the methods are prefixed with the class name so doxygen knows where they belong.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37898 a95241bf-73f2-0310-859d-f6bbb57e9c96
* BufferIO.dox Reformat according to the guidelines
* DataIO.dox Reformat according to the guidelines
* Flattenable.dox New documentation.
* Locker.dox Finished documentation.
* SupportDefs.dox Reformat according to the guidelines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20511 a95241bf-73f2-0310-859d-f6bbb57e9c96
* book.dox Rework a bit of the structure
* midi2/support Separate the overview (or Introduction) from the list of elements in a module.
* support Wrote initial documentation for Beep/BufferIO/DataIO
* Stub for article on archiving.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20307 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Finish up documentation for BString
* Trying to work a bit more on the structure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20236 a95241bf-73f2-0310-859d-f6bbb57e9c96