Commit Graph

135 Commits

Author SHA1 Message Date
Ingo Weinhold
3c0a815896 The registrar now uses BServer instead of BApplication, which makes it
completely independent of the app server.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:55:57 +00:00
Stephan Aßmus
0b6fe6d3a9 Reverted my change for the INFORM define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 08:50:53 +00:00
Stephan Aßmus
fef11f270b The registrar was always in debug mode, no matter what was defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 17:49:19 +00:00
Ingo Weinhold
81d91d7fcb Missing header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 23:16:35 +00:00
Ingo Weinhold
ef13ad9efd Include dir "private/kernel/util" not longer needed, since we already have "private/kernel" and include <util/...>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:20:35 +00:00
Ingo Weinhold
bed68f2088 DoublyLinkedList lives in the <util/DoublyLinkedList.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:16:26 +00:00
Ingo Weinhold
eb5bc5f924 Added a bit of documentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-31 00:26:30 +00:00
Ingo Weinhold
ea9716dc6e Return B_NO_MEMORY, if the command handler could *not* be allocated. First tests indicate that the messaging service basically seems to be working. Didn't test yet, if that's still true, when an area is full.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 18:48:38 +00:00
Ingo Weinhold
4eb57a1d3d Added WARNING macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:06:31 +00:00
Ingo Weinhold
d0e2e53903 * Added missing MessagingCommandHandler methods.
* Added a class for handling "send message" commands and install by
  default. At least in theory messages issued by the kernel should now
  be delivered to the target. Still untested.
* Added lock to protect the command handler map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:17:09 +00:00
Ingo Weinhold
c6dbc50e2b * Added per-port sanity limits. We limit the number and summed size of
messages.
* We now maintain a second message list per port, which is sorted by
  timeout time. Thus we can drop timed out messages as early as possible.
* Fixed a bug which caused messages to disappear in the port list.
* Now delete a port not only when an error occurred when delivering a
  message, but also when it is empty.
* More debug output.

Seems to be working well now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:54:59 +00:00
Ingo Weinhold
0353d33137 Added kernel util header for DoublyLinkedList.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:48:08 +00:00
Ingo Weinhold
634f747e29 Now we use the MessageDeliverer to send asynchronous messages to other apps. Seems to work when the target port is not full. The other case has not been tested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:49:32 +00:00
Ingo Weinhold
f64fc02f89 Added another DeliverMessage version for broadcasting.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:45:59 +00:00
Ingo Weinhold
d306a4652c * Added a timeout to the delivery functions. This is the time after which
the message will be finally dropped. Makes sense for periodic message
  runners for instance.
* Set the target of a BMessage before flattening it. Thus there will be
  space in the flattened header for it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 15:18:29 +00:00
Ingo Weinhold
56833e831f Implemented the actual message sending. The implementation is complete now, but still untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:20:28 +00:00
Ingo Weinhold
757bc7b934 Renamed Referencable to Referenceable (mainly to make Axel happier :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:10:03 +00:00
Ingo Weinhold
2c17b743c7 Implemented all missing functionality save the actual sending of a
flattened message. Support for this needs to be added to BMessage first.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:05:26 +00:00
Ingo Weinhold
42be32659a TRoster is no longer a friend of BMessenger -- use BMessenger::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:08:15 +00:00
Ingo Weinhold
35d70f9eca The MessagingService is now a singleton. Added creation of the MessageDeliverer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:06:42 +00:00
Ingo Weinhold
c36e75d1cb Added Referencable.cpp and MessageDeliverer.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:52 +00:00
Ingo Weinhold
2467cef0f0 This class encapsulates the service delivering messages without dropping
them immediately when the target port is full at the moment. It's not
quite complete. The data structures are there, but the actual delivery is
still missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:05 +00:00
Ingo Weinhold
47e01f5075 Added helper class Referencable (a simple base class for reference counting).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:00:12 +00:00
Ingo Weinhold
73895a69a0 * Added the class MessagingCommandHandler, instances of which can be
registered as handlers for specific commands sent by the kernel.
  (Beautifully object-oriented :-)
* Fixed a bug regarding MessageArea creation (the object was deleted
  twice on error).
* Actually resume the command processor thread.
* Turned the class into a singleton.
* Now always process all commands found in an area (should minimize
  latencies).

Modulo bugs the class is now complete.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:58:37 +00:00
Ingo Weinhold
dd43b03ce1 Added the messaging service and a compatibility file for the R5 test registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:32:17 +00:00
Ingo Weinhold
0a1eb226fb Start the messaging service. Due to missing kernel functionality the
initialization still fails.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:31:02 +00:00
Ingo Weinhold
cdab464e30 New macro for non-fatal, but nevertheless serious errors.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:29:24 +00:00
Ingo Weinhold
c72f8221e0 File we only compile in for the obos_registrar, the one for testing under R5. Contains dummies for syscalls not existent there.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:28:33 +00:00
Ingo Weinhold
9e4d0f686e The beginning of the registrar-side kernel->userland messaging service.
The passing of commands from kernel to registrar should be complete now,
only the actual message delivery is missing.
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:26:39 +00:00
Ingo Weinhold
5513a4cb69 Changed signature.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:20:09 +00:00
Ingo Weinhold
48f570b5c7 * The settings file is now called "HaikuRosterSettings" instead of
"OpenBeOS...".
* Obtain the path of the settings dir via find_directory().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:19:23 +00:00
Ingo Weinhold
769ba00e93 * Changes due to moving RegistrarDefs stuff into the BPrivate namespace.
* Rename the main thread after creating the BApplication. Then at least
  the roster will be ready for use.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:17:35 +00:00
Ingo Weinhold
d8247d2bd9 Changes due to moving RegistrarDefs stuff into the BPrivate namespace.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:14:50 +00:00
Ingo Weinhold
54dd704038 Added support for the DEBUG_PRINTF macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:49:59 +00:00
Ingo Weinhold
807ea2fa80 More informative debug output. The MIME manager keeps on getting spurious what == 0xffffffff messages under Haiku. Needs to be investigated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:36:22 +00:00
Ingo Weinhold
dca399f444 Use the BApplication constructor that returns an error code instead of the one that just exit()s on error, so that we can at least print the error.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:33:57 +00:00
Ingo Weinhold
58b5124e46 Replace ClipboardTree by Clipboard, a class just representing a clipboard.
The clipboards are managed in a simple string->Clipboard map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:45:55 +00:00
Ingo Weinhold
92b98fe111 Build the Haiku registrar (linked against our libroot and libbe). Haven't checked, if it works yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:35:47 +00:00
Ingo Weinhold
c10206311d The case for data-only-based MIME type sniffing was missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:42:21 +00:00
Ingo Weinhold
132c664be7 Added TODO. The implementation should be revised. BClipboard::{Local,System}Count() is broken and I can see why. Instead of just fixing that a reimiplementation is probably best.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:41:06 +00:00
Ingo Weinhold
db10640de9 Got rid of the Storage Kit's kernel abstraction layer, which was
unfortunately quite slow and made some things more complicated than they
needed to be.
Implemented a few missing things (e.g. BSymLink and node locking).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:14:46 +00:00
haydentech
41e9b8c42a gcc3 fixes necessary to compile and link the registrar
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-28 16:23:46 +00:00
Ingo Weinhold
239662215c Fixed signature.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:45:54 +00:00
mahlzeit
4c20e0e8ad Simplified app_flags.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-22 17:51:32 +00:00
Philippe Houdoin
9842b3ba58 Keep moving from binary resource format to source resource (.rdef) files.
Fix midi_server.rdef file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-20 01:40:54 +00:00
Ingo Weinhold
6ab18748f3 Removed invocations of UsePublicHeaders, which was a no-op anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 16:53:22 +00:00
Ingo Weinhold
0582df0213 Removed the old, nicely working, DiskDevice API support from the registrar. We're going to reimplement it in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:31:00 +00:00
Ingo Weinhold
32453e90e0 Removed the old, nicely working, DiskDevice API support from the registrar. We're going to reimplement it in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:20:23 +00:00
Ingo Weinhold
de9b715306 Remove debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-20 00:25:25 +00:00
Ingo Weinhold
295fcc8865 Removed some debug info. Changes due to the removal of the extended_partition_info::partition_code field.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-18 21:33:23 +00:00