History log of /haiku/src/servers/registrar/MessagingService.cpp
Revision Date Author Comments
# 50cedfd5 02-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build registrar for x86_64.


# e09045d4 14-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* Fix debug build of the registrar.
* Make the macros use varargs so we avoid multiple invokations of the print
function (to properly use with debug_printf for example).
* Minor cleanup to the macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42848 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 553ea301 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
by more general ones using the new interface MessagingTargetSet to represent
a set of targets. This simplifies the usage in cases where the caller doesn't
already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eb5bc5f9 30-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a bit of documentation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11166 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea9716dc 30-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# d0e2e539 29-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 73895a69 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 9e4d0f68 23-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 50cedfd5b01a968c2da00bfd014360b24a3aac66 02-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build registrar for x86_64.


# e09045d41f067ea34a2fcefedb36c2b83ac4cb5d 14-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* Fix debug build of the registrar.
* Make the macros use varargs so we avoid multiple invokations of the print
function (to properly use with debug_printf for example).
* Minor cleanup to the macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42848 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 553ea30124732e31346177c3bab544e074231b8e 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
by more general ones using the new interface MessagingTargetSet to represent
a set of targets. This simplifies the usage in cases where the caller doesn't
already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eb5bc5f9243f6ae838ad2a535c916198f99227a4 30-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a bit of documentation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11166 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea9716dc6edc045b91f011f60693ec9874286584 30-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# d0e2e53903c40d4515fcf5f007906b59e84b176d 29-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 73895a69a034a7bbcbacd7e578c94ac34077f961 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* 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


# 9e4d0f686e2010839c236d91893f002767c47d82 23-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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