How the glaring fubar in MessagePrivate.h got past me is a mystery.
Nonetheless, here is new BMessenger-related goodness to smooth is all out. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4374 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -89,11 +89,15 @@ public:
|
|||||||
team_id Team() const;
|
team_id Team() const;
|
||||||
|
|
||||||
//----- Private or reserved -----------------------------------------
|
//----- Private or reserved -----------------------------------------
|
||||||
|
|
||||||
|
class Private;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class BRoster;
|
friend class BRoster;
|
||||||
friend class BPrivate::TRoster;
|
friend class BPrivate::TRoster;
|
||||||
friend class BMessage;
|
friend class BMessage;
|
||||||
friend class BQuery;
|
friend class BQuery;
|
||||||
|
friend class Private;
|
||||||
friend inline void _set_message_reply_(BMessage *, BMessenger);
|
friend inline void _set_message_reply_(BMessage *, BMessenger);
|
||||||
friend status_t swap_data(type_code, void *, size_t, swap_action);
|
friend status_t swap_data(type_code, void *, size_t, swap_action);
|
||||||
friend bool operator<(const BMessenger &a, const BMessenger &b);
|
friend bool operator<(const BMessenger &a, const BMessenger &b);
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
// Standard Includes -----------------------------------------------------------
|
// Standard Includes -----------------------------------------------------------
|
||||||
|
|
||||||
// System Includes -------------------------------------------------------------
|
// System Includes -------------------------------------------------------------
|
||||||
|
#include <Message.h>
|
||||||
|
#include <Messenger.h>
|
||||||
|
#include <MessengerPrivate.h>
|
||||||
|
|
||||||
// Project Includes ------------------------------------------------------------
|
// Project Includes ------------------------------------------------------------
|
||||||
|
|
||||||
@@ -35,10 +38,11 @@ class BMessage::Private
|
|||||||
}
|
}
|
||||||
inline void SetReply(BMessenger messenger)
|
inline void SetReply(BMessenger messenger)
|
||||||
{
|
{
|
||||||
fMessage->fReplyTo.port = messenger.fPort;
|
BMessenger::Private mp(messenger);
|
||||||
fMessage->fReplyTo.target = messenger.fHandlerToken;
|
fMessage->fReplyTo.port = mp.Port();
|
||||||
fMessage->fReplyTo.team = messenger.fTeam;
|
fMessage->fReplyTo.target = mp.Token();
|
||||||
fMessage->fReplyTo.preferred = messenger.fPreferredTarget;
|
fMessage->fReplyTo.team = mp.Team();
|
||||||
|
fMessage->fReplyTo.preferred = mp.IsPreferredTarget();
|
||||||
}
|
}
|
||||||
inline int32 GetTarget()
|
inline int32 GetTarget()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#ifndef MESSENGERPRIVAGE_H
|
||||||
|
#define MESSENGERPRIVATE_H
|
||||||
|
|
||||||
|
#include <Messenger.h>
|
||||||
|
|
||||||
|
class BMessenger::Private
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Private(BMessenger* msnger) : fMessenger(msnger) {;}
|
||||||
|
Private(BMessenger& msnger) : fMessenger(&msnger) {;}
|
||||||
|
|
||||||
|
port_id Port()
|
||||||
|
{ return fMessenger->fPort; }
|
||||||
|
int32 Token()
|
||||||
|
{ return fMessenger->fHandlerToken; }
|
||||||
|
team_id Team()
|
||||||
|
{ return fMessenger->fTeam; }
|
||||||
|
bool IsPreferredTarget()
|
||||||
|
{ return fMessenger->fPreferredTarget; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
BMessenger* fMessenger;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MESSENGERPRIVATE_H
|
||||||
Reference in New Issue
Block a user