4ceb1e519c
task_looper() again. * removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately, you don't have to do that anymore - use B_PREFERRED_TOKEN instead. * fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument in case of failure. * Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher counterpart to the app_server (the other will be _DetermineTarget()). * Made it easier to use Michael's Message4 implementation: just add the following line to your UserBuildConfig: AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ; * Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will target the client handler, while the other will target the preferred handler of the client looper (usually the view having focus). * Fixed dano message unflattening in the Message4 code. * Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation. * I hope that's all - it's a huge change, but it's all connected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
35 lines
774 B
C++
35 lines
774 B
C++
/*
|
|
* Copyright 2003-2005, Haiku.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef MESSENGER_PRIVATE_H
|
|
#define MESSENGER_PRIVATE_H
|
|
|
|
|
|
#include <Messenger.h>
|
|
#include <TokenSpace.h>
|
|
|
|
|
|
class BMessenger::Private {
|
|
public:
|
|
Private(BMessenger* messenger) : fMessenger(messenger) {}
|
|
Private(BMessenger& messenger) : fMessenger(&messenger) {}
|
|
|
|
port_id Port()
|
|
{ return fMessenger->fPort; }
|
|
int32 Token()
|
|
{ return fMessenger->fHandlerToken; }
|
|
team_id Team()
|
|
{ return fMessenger->fTeam; }
|
|
bool IsPreferredTarget()
|
|
{ return fMessenger->fHandlerToken == B_PREFERRED_TOKEN; }
|
|
|
|
void SetTo(team_id team, port_id port, int32 token)
|
|
{ fMessenger->_SetTo(team, port, token); }
|
|
|
|
private:
|
|
BMessenger* fMessenger;
|
|
};
|
|
|
|
#endif // MESSENGER_PRIVATE_H
|