1 //------------------------------------------------------------------------------ 2 // MessagePrivate.h 3 // 4 //------------------------------------------------------------------------------ 5 6 #ifndef MESSAGEPRIVATE_H 7 #define MESSAGEPRIVATE_H 8 9 #include <Message.h> 10 #include <Messenger.h> 11 #include <MessengerPrivate.h> 12 #include <TokenSpace.h> 13 14 class BMessage::Private 15 { 16 public: 17 Private(BMessage* msg) : fMessage(msg) {;} 18 Private(BMessage& msg) : fMessage(&msg) {;} 19 20 inline void SetTarget(int32 token, bool preferred) 21 { 22 fMessage->fTarget = token; 23 fMessage->fPreferred = preferred; 24 } 25 26 inline void SetReply(BMessenger messenger) 27 { 28 BMessenger::Private mp(messenger); 29 fMessage->fReplyTo.port = mp.Port(); 30 fMessage->fReplyTo.target 31 = (mp.IsPreferredTarget() ? B_PREFERRED_TOKEN : mp.Token()); 32 fMessage->fReplyTo.team = mp.Team(); 33 fMessage->fReplyTo.preferred = mp.IsPreferredTarget(); 34 } 35 36 inline int32 GetTarget() 37 { 38 return fMessage->fTarget; 39 } 40 41 inline bool UsePreferredTarget() 42 { 43 return fMessage->fPreferred; 44 } 45 46 static inline status_t SendFlattenedMessage(void *data, int32 size, 47 port_id port, int32 token, bool preferred, bigtime_t timeout) 48 { 49 return BMessage::_SendFlattenedMessage(data, size, port, token, 50 preferred, timeout); 51 } 52 53 static inline void StaticInit() 54 { 55 BMessage::_StaticInit(); 56 } 57 58 static inline void StaticCleanup() 59 { 60 BMessage::_StaticCleanup(); 61 } 62 63 static inline void StaticCacheCleanup() 64 { 65 BMessage::_StaticCacheCleanup(); 66 } 67 68 private: 69 BMessage* fMessage; 70 }; 71 72 #endif // MESSAGEPRIVATE_H 73 74 /* 75 * $Log $ 76 * 77 * $Id $ 78 * 79 */ 80 81