History log of /haiku/src/kits/app/Handler.cpp
Revision Date Author Comments
# ebb0db62 04-Jul-2019 Augustin Cavalier <waddlesplash@gmail.com>

kits: Only export private dummy copy constructors for R5 ABI.

Fixes #546 (after all these years!)


# 16af9b4c 05-Nov-2017 Humdinger <humdingerb@gmail.com>

Style, no functional changes

Make termination consistant with that last commit hrev51521.
As wished and proof-read by waddlesplash. Hope all's well...


# 2776568d 12-Jun-2014 John Scipione <jscipione@gmail.com>

Fix BHandler::GetSupportedSuites()

The logic was reversed accidentally in hrev47355

Rewrite the method to make more sense. If data is NULL return
B_BAD_VALUE right away. Otherwise set the status based on the first
operation, if that succeeds perform a second one, and return the
result.

Fixes CID 1222666


# be902ac4 11-Jun-2014 John Scipione <jscipione@gmail.com>

App Kit: style changes.

No functional change intended.

Focused on documented classes only.

* Update copyright information.
* whitespace fixes.
* pointer style
* Rename some variables, msg => message, form => what
* Need consistent variable names to make documentation easier,
allows us to use \copydoc or \copydetails instead of repeating
ourselves over and over again.


# 38d688cc 03-Mar-2012 Jérôme Duval <jerome.duval@gmail.com>

BHandler: hopefully fixes a regression introduced in hrev43777.

* BHandler scripting handles bad scripting syntax by returning the Messenger property.
* Thanks to Siarzhuk Zharski for pointing this out.


# 4bbb27e3 12-Feb-2012 Jerome Duval <jerome.duval@gmail.com>

More 'GCC4.6 variable set but not used' fixes.


# 39fbf550 15-Oct-2008 Oliver Tappe <zooey@hirschkaefer.de>

bonefish + zooey:
* Fixed a general problem with respect to overriding of the reserved
virtual function slots: instead of statically invoking the method
that corresponds to the reserved slot on the class that contains the
slot, we now invoke the virtual Perform() method. Perform() then dispatches
the method invocation to the "proper" class, i.e. the highest class in the
hierarchy that actually implements the requested method.
This fixes a crash in apps that use liblayout's MSlider class and
should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
invoke Perform() where necessary or to pass on the method call statically
(for slots that were already maintained by Be)


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


# 2617261d 04-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* fix a nasty bug i introduced with 26383, leaving the looper locked
* grab the fLooper pointer in some more functions, just to play save
* remove wrong comment in UnlockLooper, since it's obviously possible to change fLooper

In case we remove the handler from the loopers handler list, we need to grab the looper
pointer first, since calling RemoveHandler(...) will call BHandler::SetLooper(...) thus
setting fLooper to NULL and calling UnlockLooper did nothing, leaving the looper locked.

Thanks Maurice for pointing out that 26383 broke Cortex, the wires where not draw and the
app was locked somehow.



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


# 17e0fc6b 04-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* cleanup



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


# 731b9ac7 11-Jul-2008 Karsten Heimrich <host.haiku@gmx.de>

* If a handler goes away that has an looper, we should remove us from the
loppers fHandlers list, otherwise we might end up with a dangeling pointer.

This should fix the crashes seen in Cortex and Icon-O-Matic on app close.



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


# 157c0ced 21-Apr-2008 Jérôme Duval <korli@users.berlios.de>

don't try to archive BHandler::fName when it is null


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


# 618b37dc 05-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Fixed various incorrect uses of the erase() method of several STL containers I introduced before. Thanks to Stefano for the hint!


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


# 2f03d0e0 05-Jun-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Changed the loops in BHandler::_SendNotices() and ::_ValidateHandlers().
See also r20183.


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


# 11ef32df 20-Feb-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

erase() shrinks the vector, so we decrement the handler. Fixes the crash in case there are invalid handlers (Time application, for example). Should be fixed in the other _SendNotices() call too ?

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


# f6c08206 01-Feb-2007 Axel Dörfler <axeld@pinc-software.de>

* The BHandler observer mechanism was completely broken in Haiku for remote targets;
this fixes bug #1005. As a result, the Disks icon will now appear in file panels
when you change that setting with a panel open.
* _ObserverList is now in the BPrivate namespace (and renamed to ObserverList).
* its BHandler map is now only temporarily used for handlers that do not belong to
a looper yet; when BHandler::SendNotices() is called, they will be transferred
into the BMessenger map.
* Invalid messengers are now removed from the map when encountered.
* Added TODO comments about a possible reference counting if a handler is added
twice to a list (right now, this will be ignored).
* All {Start|Stop}Watching() methods are now more or less safe to be used in low
memory situations (adding some items to the map can still throw an exception...).
* Renamed BHandler::InitData() to _InitData().
* Some refactoring and cleanup.


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


# 9dbe170a 26-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented direct message passing for local targets; this fixes a deadlock
with PostMessage() in case the message queue is full.
Some notes:
* for synchronous replies, we don't use this mechanism yet, but it could be
extended to do that as well.
* the code looks so complicated because we need a way to access the looper's
queue without locking it (to prevent deadlocks); like Dano's solution, I've
abused BTokenSpace to store a BDirectMessageTarget with a BHandler.
* we also need to decouple the lifetime of a looper's queue from its target,
as we cannot lock the looper, and therefore, can't guarantee it stays valid
as long as we're accessing it outside of BLooper.
* init_clipboard() now needs to be done after the global constructors have
been called - since sending messages now needs gDefaultTokens to be initialized.
Since this is done per image, it shouldn't cause any troubles, though.
* some minor cleanup, removed unused _msg_cache_cleanup_() and friends.


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


# 252f4767 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added some needed stdio.h includes. I don't know what magic was used to compile
these for other people, but they wouldn't compile for me when building the
app_server test environment.


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


# 3a59f3e4 14-Jun-2006 Jérôme Duval <korli@users.berlios.de>

should have been cur, dunno how it built before ...
fixed bug #661


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


# a5845049 13-Jun-2006 Jérôme Duval <korli@users.berlios.de>

now handles also the case when all specifiers are solved, and behaves as if we were asked the Messenger


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


# f4fc3d62 05-Jun-2006 Jérôme Duval <korli@users.berlios.de>

* fixed some more GetSupportedSuites implementations
* fixed some local variables names
* fixed the case of some message attribute names


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


# ad236123 28-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Removed some unnecessary TODO items.


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


# 090dcfd4 28-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Removed some more musings about LockLooper() and token space.


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


# 689dc9f9 28-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Simplified LockLooper() and LockLooperWithTimeout(), got rid of not really
helpful but extensive comments in the code.
* Fixed possible wrong error values of LockLooperWithTimeout().
* AddFilter()/RemoveFilter() now check if the looper is locked in case this
handler belongs to a looper - as SetFilterList() already did.


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


# 47c2c0f2 11-Mar-2006 Stephan Aßmus <superstippi@gmx.de>

fix some memory leaks, please review

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


# 5edcfe96 03-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Cleanup!


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


# 579d1b23 15-Dec-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Improved debug output

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


# 17adbf1f 30-Nov-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Misc style changes

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


# b360ada4 21-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

If a handler passes a BMessage on to the next handler, it will now make sure
its filters are taken into account.
It will also filter out messages in case the filter targeted the current handler
again - note, this is not really a good solution, as ideally, all previous handlers
must be ignored.


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


# 7089b0e3 04-Jul-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

If a filter was added to a handler which belonged to a looper, the filter's looper was never initialized. BHandler::SetLooper() now also sets the looper for every filter (moved from BLooper::AddHandler)

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


# 418ab064 26-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Apparently I can't reuse those references, as it leads to every kind of bugs. I wonder if it's just plain wrong or it's a gcc bug. Minor changes.

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


# 5b6aece6 22-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

SendNotices() should send messages also to observers interested to all kind of messages.


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


# 04dc040e 19-May-2005 Axel Dörfler <axeld@pinc-software.de>

No more B_MESSAGE_NOT_UNDERSTOOD messages for standard messages.
Added another ToDo item about missing filtering.


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


# d95383a3 23-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed various binary compatibility problems with R4.5.


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


# dfb8cfea 21-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed some obvious bugs: B_GET_PROPERTY shouldn't enter the debugger fow unknown
properties; it should pass on to the next handler (and only if there is none
reply with a B_MESSAGE_NOT_UNDERSTOOD).
Those B_MESSAGE_NOT_UNDERSTOOD are no longer the answer to a B_MESSAGE_NOT_UNDERSTOOD
message anymore, as this lead to an endless loop (for example when starting the
media_server).
Added some ToDo comments - someone please check what has to be done and fill it
out some more.


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


# 47761c47 01-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Adapted to match our style guide.
Fixed warnings.
Made gArchiveNameField static (and therefore changed the prefix to 's').


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


# 2f197f33 18-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BHandler::MessageReceived handles also B_GET_SUPPORTED_SUITES as it should, and prints the message to the stream if it doesn't understand it. Restyled the function to follow our guidelines (more or less).


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


# 5c85a290 04-Sep-2003 haydentech <haydentech@nowhere.fake>

Minor cleanup


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


# e9e500cb 25-Aug-2003 ejakowatz <ejakowatz@nowhere.fake>

Minor tweak to BHandler::UnlockLooper()
Added calls to _init_message_(), _delete_message_(), and
_msg_cache_cleanup() to InitTerminateLibBe.cpp
Finished first implementation of BMessage::SendReply(), BMessage::_send_(),
and BMessage::_send_message()
Add BMessage to app.src, removed BBlockCache from support.src.
New BMessage::Private class has functions for twiddling BMessage internals


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


# 2be975a1 19-Mar-2003 ejakowatz <ejakowatz@nowhere.fake>

_get_object_token_ has found its permanent home in AppMisc.h, which the
other files were modified to include.


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


# e26cbbcf 18-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

Implemented _get_object_token_ to allow app_server to receive BHandler tokens


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


# ec9673bf 22-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

Added/tweaked tests for BLooper; fixes to BLooper stemming from those tests


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


# abb57933 15-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

Tweaks to deal with new repository hierarchy and use of unified CppUnit;
some bug fixes and a couple of new tests for BLooper.


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


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


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


# 2776568d27f68e05867561652f489a68124f9d8f 12-Jun-2014 John Scipione <jscipione@gmail.com>

Fix BHandler::GetSupportedSuites()

The logic was reversed accidentally in hrev47355

Rewrite the method to make more sense. If data is NULL return
B_BAD_VALUE right away. Otherwise set the status based on the first
operation, if that succeeds perform a second one, and return the
result.

Fixes CID 1222666


# be902ac4db5c9d0be72f6d54aa67b66e3dcc7eca 11-Jun-2014 John Scipione <jscipione@gmail.com>

App Kit: style changes.

No functional change intended.

Focused on documented classes only.

* Update copyright information.
* whitespace fixes.
* pointer style
* Rename some variables, msg => message, form => what
* Need consistent variable names to make documentation easier,
allows us to use \copydoc or \copydetails instead of repeating
ourselves over and over again.


# 38d688ccbe075c8632c186909f76e03cad14bd7b 03-Mar-2012 Jérôme Duval <jerome.duval@gmail.com>

BHandler: hopefully fixes a regression introduced in hrev43777.

* BHandler scripting handles bad scripting syntax by returning the Messenger property.
* Thanks to Siarzhuk Zharski for pointing this out.


# 4bbb27e3ccf0b1e38ee4a63ca9ec765e167a72bd 12-Feb-2012 Jerome Duval <jerome.duval@gmail.com>

More 'GCC4.6 variable set but not used' fixes.


# 39fbf5509b8740d9883b61649027478dc8a3ead8 15-Oct-2008 Oliver Tappe <zooey@hirschkaefer.de>

bonefish + zooey:
* Fixed a general problem with respect to overriding of the reserved
virtual function slots: instead of statically invoking the method
that corresponds to the reserved slot on the class that contains the
slot, we now invoke the virtual Perform() method. Perform() then dispatches
the method invocation to the "proper" class, i.e. the highest class in the
hierarchy that actually implements the requested method.
This fixes a crash in apps that use liblayout's MSlider class and
should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
invoke Perform() where necessary or to pass on the method call statically
(for slots that were already maintained by Be)


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


# 2617261d775301611d0312f8122a48feab49a478 04-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* fix a nasty bug i introduced with 26383, leaving the looper locked
* grab the fLooper pointer in some more functions, just to play save
* remove wrong comment in UnlockLooper, since it's obviously possible to change fLooper

In case we remove the handler from the loopers handler list, we need to grab the looper
pointer first, since calling RemoveHandler(...) will call BHandler::SetLooper(...) thus
setting fLooper to NULL and calling UnlockLooper did nothing, leaving the looper locked.

Thanks Maurice for pointing out that 26383 broke Cortex, the wires where not draw and the
app was locked somehow.



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


# 17e0fc6b5a8a52d774864ebd932d081b95eff252 04-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* cleanup



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


# 731b9ac77caa0c62fa01da543ef83ac5007dcfe2 11-Jul-2008 Karsten Heimrich <host.haiku@gmx.de>

* If a handler goes away that has an looper, we should remove us from the
loppers fHandlers list, otherwise we might end up with a dangeling pointer.

This should fix the crashes seen in Cortex and Icon-O-Matic on app close.



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


# 157c0ced17574407b203068637e3bf7b5e9b7e14 21-Apr-2008 Jérôme Duval <korli@users.berlios.de>

don't try to archive BHandler::fName when it is null


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


# 618b37dc4654dc94fd00d7ce6e0474c445633152 05-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Fixed various incorrect uses of the erase() method of several STL containers I introduced before. Thanks to Stefano for the hint!


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


# 2f03d0e0ed4eab02e388c6c2806be8d8e3faa88d 05-Jun-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Changed the loops in BHandler::_SendNotices() and ::_ValidateHandlers().
See also r20183.


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


# 11ef32dfa99ea22f7af0770b3676e73529c43d3b 20-Feb-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

erase() shrinks the vector, so we decrement the handler. Fixes the crash in case there are invalid handlers (Time application, for example). Should be fixed in the other _SendNotices() call too ?

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


# f6c0820638e1924a72cbefa5bbe449c4ba8805e7 01-Feb-2007 Axel Dörfler <axeld@pinc-software.de>

* The BHandler observer mechanism was completely broken in Haiku for remote targets;
this fixes bug #1005. As a result, the Disks icon will now appear in file panels
when you change that setting with a panel open.
* _ObserverList is now in the BPrivate namespace (and renamed to ObserverList).
* its BHandler map is now only temporarily used for handlers that do not belong to
a looper yet; when BHandler::SendNotices() is called, they will be transferred
into the BMessenger map.
* Invalid messengers are now removed from the map when encountered.
* Added TODO comments about a possible reference counting if a handler is added
twice to a list (right now, this will be ignored).
* All {Start|Stop}Watching() methods are now more or less safe to be used in low
memory situations (adding some items to the map can still throw an exception...).
* Renamed BHandler::InitData() to _InitData().
* Some refactoring and cleanup.


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


# 9dbe170a694e59988263a752b746b6a82a5ff277 26-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented direct message passing for local targets; this fixes a deadlock
with PostMessage() in case the message queue is full.
Some notes:
* for synchronous replies, we don't use this mechanism yet, but it could be
extended to do that as well.
* the code looks so complicated because we need a way to access the looper's
queue without locking it (to prevent deadlocks); like Dano's solution, I've
abused BTokenSpace to store a BDirectMessageTarget with a BHandler.
* we also need to decouple the lifetime of a looper's queue from its target,
as we cannot lock the looper, and therefore, can't guarantee it stays valid
as long as we're accessing it outside of BLooper.
* init_clipboard() now needs to be done after the global constructors have
been called - since sending messages now needs gDefaultTokens to be initialized.
Since this is done per image, it shouldn't cause any troubles, though.
* some minor cleanup, removed unused _msg_cache_cleanup_() and friends.


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


# 252f4767828ef4564f9fcedca981234e26e7bd32 12-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added some needed stdio.h includes. I don't know what magic was used to compile
these for other people, but they wouldn't compile for me when building the
app_server test environment.


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


# 3a59f3e4afeae7dd79b34e7c5fcb5839bf8b573b 14-Jun-2006 Jérôme Duval <korli@users.berlios.de>

should have been cur, dunno how it built before ...
fixed bug #661


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


# a58450492adaa707bade05fc3be3758ae3dd6895 13-Jun-2006 Jérôme Duval <korli@users.berlios.de>

now handles also the case when all specifiers are solved, and behaves as if we were asked the Messenger


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


# f4fc3d626a425bf59886cd5773fd2f64ff285b10 05-Jun-2006 Jérôme Duval <korli@users.berlios.de>

* fixed some more GetSupportedSuites implementations
* fixed some local variables names
* fixed the case of some message attribute names


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


# ad236123aa06305ad1264a97b22ebb1c43983085 28-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Removed some unnecessary TODO items.


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


# 090dcfd4a89116a85637a1c6c698a009f5446622 28-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Removed some more musings about LockLooper() and token space.


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


# 689dc9f91adac9182799c5e84bc9c2f34338d9f7 28-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Simplified LockLooper() and LockLooperWithTimeout(), got rid of not really
helpful but extensive comments in the code.
* Fixed possible wrong error values of LockLooperWithTimeout().
* AddFilter()/RemoveFilter() now check if the looper is locked in case this
handler belongs to a looper - as SetFilterList() already did.


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


# 47c2c0f2c8ae6769e15f0255ce8781b804aa2441 11-Mar-2006 Stephan Aßmus <superstippi@gmx.de>

fix some memory leaks, please review

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


# 5edcfe961946df304cc90d04f304c8e2fbc5b4a6 03-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Cleanup!


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


# 579d1b23d7d3fb96055ae2700ec0a930a85f6d41 15-Dec-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Improved debug output

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


# 17adbf1f0c0ec58303f403841abc3949d07d95e1 30-Nov-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Misc style changes

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


# b360ada4bd84e9e7f110b07ea74249c8e5ec6399 21-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

If a handler passes a BMessage on to the next handler, it will now make sure
its filters are taken into account.
It will also filter out messages in case the filter targeted the current handler
again - note, this is not really a good solution, as ideally, all previous handlers
must be ignored.


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


# 7089b0e3dcc8f8f523375aed0ce0e5051207505c 04-Jul-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

If a filter was added to a handler which belonged to a looper, the filter's looper was never initialized. BHandler::SetLooper() now also sets the looper for every filter (moved from BLooper::AddHandler)

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


# 418ab0643ae518f162a6dfcba2c13a71c1f4ffc3 26-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Apparently I can't reuse those references, as it leads to every kind of bugs. I wonder if it's just plain wrong or it's a gcc bug. Minor changes.

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


# 5b6aece60e22184b2e383b3e35d638fc1e238b51 22-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

SendNotices() should send messages also to observers interested to all kind of messages.


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


# 04dc040e402efed83dedbbecfdeb3b38bcfff676 19-May-2005 Axel Dörfler <axeld@pinc-software.de>

No more B_MESSAGE_NOT_UNDERSTOOD messages for standard messages.
Added another ToDo item about missing filtering.


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


# d95383a3b98d9d42a1806bb4c77038a053f2dcdf 23-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed various binary compatibility problems with R4.5.


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


# dfb8cfea3fa1980fecf3d786bd83126cb86b71f9 21-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed some obvious bugs: B_GET_PROPERTY shouldn't enter the debugger fow unknown
properties; it should pass on to the next handler (and only if there is none
reply with a B_MESSAGE_NOT_UNDERSTOOD).
Those B_MESSAGE_NOT_UNDERSTOOD are no longer the answer to a B_MESSAGE_NOT_UNDERSTOOD
message anymore, as this lead to an endless loop (for example when starting the
media_server).
Added some ToDo comments - someone please check what has to be done and fill it
out some more.


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


# 47761c4786d0ae816db9b87b002c84cd6f0155e3 01-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Adapted to match our style guide.
Fixed warnings.
Made gArchiveNameField static (and therefore changed the prefix to 's').


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


# 2f197f3340feecd5eb66ca9a491547997d00cd2a 18-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BHandler::MessageReceived handles also B_GET_SUPPORTED_SUITES as it should, and prints the message to the stream if it doesn't understand it. Restyled the function to follow our guidelines (more or less).


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


# 5c85a290e1be2957266345e37ccea5203bfb00e7 04-Sep-2003 haydentech <haydentech@nowhere.fake>

Minor cleanup


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


# e9e500cb9eaa5061ac383f5093d08bbb65b142f8 25-Aug-2003 ejakowatz <ejakowatz@nowhere.fake>

Minor tweak to BHandler::UnlockLooper()
Added calls to _init_message_(), _delete_message_(), and
_msg_cache_cleanup() to InitTerminateLibBe.cpp
Finished first implementation of BMessage::SendReply(), BMessage::_send_(),
and BMessage::_send_message()
Add BMessage to app.src, removed BBlockCache from support.src.
New BMessage::Private class has functions for twiddling BMessage internals


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


# 2be975a1ee45252030a95af2f21b720eeae12b1e 19-Mar-2003 ejakowatz <ejakowatz@nowhere.fake>

_get_object_token_ has found its permanent home in AppMisc.h, which the
other files were modified to include.


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


# e26cbbcf17d988c9c94da36dbd139e9533acca3c 18-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

Implemented _get_object_token_ to allow app_server to receive BHandler tokens


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


# ec9673bf488423a5fd66aea059111a384ee40a81 22-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

Added/tweaked tests for BLooper; fixes to BLooper stemming from those tests


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


# abb579331f280333b113728756d2f79c03e3acbc 15-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

Tweaks to deal with new repository hierarchy and use of unified CppUnit;
some bug fixes and a couple of new tests for BLooper.


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


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


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