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:
ejakowatz
2003-08-25 23:33:02 +00:00
parent d2ef10fe9f
commit 19cdc4570f
3 changed files with 37 additions and 4 deletions
+4
View File
@@ -89,11 +89,15 @@ public:
team_id Team() const;
//----- Private or reserved -----------------------------------------
class Private;
private:
friend class BRoster;
friend class BPrivate::TRoster;
friend class BMessage;
friend class BQuery;
friend class Private;
friend inline void _set_message_reply_(BMessage *, BMessenger);
friend status_t swap_data(type_code, void *, size_t, swap_action);
friend bool operator<(const BMessenger &a, const BMessenger &b);
+8 -4
View File
@@ -9,6 +9,9 @@
// Standard Includes -----------------------------------------------------------
// System Includes -------------------------------------------------------------
#include <Message.h>
#include <Messenger.h>
#include <MessengerPrivate.h>
// Project Includes ------------------------------------------------------------
@@ -35,10 +38,11 @@ class BMessage::Private
}
inline void SetReply(BMessenger messenger)
{
fMessage->fReplyTo.port = messenger.fPort;
fMessage->fReplyTo.target = messenger.fHandlerToken;
fMessage->fReplyTo.team = messenger.fTeam;
fMessage->fReplyTo.preferred = messenger.fPreferredTarget;
BMessenger::Private mp(messenger);
fMessage->fReplyTo.port = mp.Port();
fMessage->fReplyTo.target = mp.Token();
fMessage->fReplyTo.team = mp.Team();
fMessage->fReplyTo.preferred = mp.IsPreferredTarget();
}
inline int32 GetTarget()
{
+25
View File
@@ -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