Files
haiku-beta6/headers/private/app/MessagePrivate.h
T

84 lines
1.8 KiB
C++
Raw Normal View History

2003-08-25 07:55:52 +00:00
//------------------------------------------------------------------------------
// MessagePrivate.h
//
//------------------------------------------------------------------------------
#ifdef USING_MESSAGE4
# include <MessagePrivate4.h>
#else
2003-08-25 07:55:52 +00:00
#ifndef MESSAGEPRIVATE_H
#define MESSAGEPRIVATE_H
#include <Message.h>
#include <Messenger.h>
#include <MessengerPrivate.h>
#include <TokenSpace.h>
2003-08-25 07:55:52 +00:00
class BMessage::Private {
2003-08-25 07:55:52 +00:00
public:
Private(BMessage* msg) : fMessage(msg) {;}
Private(BMessage& msg) : fMessage(&msg) {;}
inline void SetTarget(int32 token)
2003-08-25 07:55:52 +00:00
{
fMessage->fTarget = token;
fMessage->fPreferred = token == B_PREFERRED_TOKEN;
2003-08-25 07:55:52 +00:00
}
inline void SetReply(team_id team, port_id port, int32 token)
{
fMessage->fReplyTo.port = port;
fMessage->fReplyTo.target = token;
fMessage->fReplyTo.team = team;
fMessage->fReplyTo.preferred = token == B_PREFERRED_TOKEN;
}
2003-08-25 07:55:52 +00:00
inline void SetReply(BMessenger messenger)
{
BMessenger::Private mp(messenger);
fMessage->fReplyTo.port = mp.Port();
fMessage->fReplyTo.target = mp.Token();
fMessage->fReplyTo.team = mp.Team();
fMessage->fReplyTo.preferred = mp.IsPreferredTarget();
2003-08-25 07:55:52 +00:00
}
2003-08-25 07:55:52 +00:00
inline int32 GetTarget()
{
return fMessage->fTarget;
}
2003-08-25 07:55:52 +00:00
inline bool UsePreferredTarget()
{
return fMessage->fPreferred;
}
2005-01-26 02:18:19 +00:00
static inline status_t SendFlattenedMessage(void *data, int32 size,
port_id port, int32 token, bigtime_t timeout)
2005-01-26 02:18:19 +00:00
{
return BMessage::_SendFlattenedMessage(data, size, port, token,
timeout);
2005-01-26 02:18:19 +00:00
}
static inline void StaticInit()
{
BMessage::_StaticInit();
}
static inline void StaticCleanup()
{
BMessage::_StaticCleanup();
}
static inline void StaticCacheCleanup()
{
BMessage::_StaticCacheCleanup();
}
2003-08-25 07:55:52 +00:00
private:
BMessage* fMessage;
};
#endif // MESSAGEPRIVATE_H
#endif // USING_MESSAGE4