Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/tools/atlas/GameInterface/MessagePasser.h
Show All 28 Lines | |||||
class MessagePasser | class MessagePasser | ||||
{ | { | ||||
public: | public: | ||||
virtual ~MessagePasser() {} | virtual ~MessagePasser() {} | ||||
virtual void Add(IMessage*) = 0; | virtual void Add(IMessage*) = 0; | ||||
// takes ownership of IMessage object | // takes ownership of IMessage object | ||||
virtual IMessage* Retrieve() = 0; | |||||
virtual void Query(QueryMessage*, void(*timeoutCallback)()) = 0; | virtual void Query(QueryMessage*, void(*timeoutCallback)()) = 0; | ||||
// blocks; caller retains ownership of QueryMessage object | // blocks; caller retains ownership of QueryMessage object | ||||
}; | }; | ||||
extern MessagePasser* g_MessagePasser; | extern MessagePasser* g_MessagePasser; | ||||
#define POST_MESSAGE(type, data) AtlasMessage::g_MessagePasser->Add(SHAREABLE_NEW(AtlasMessage::m##type, data)) | #define POST_MESSAGE(type, data) AtlasMessage::g_MessagePasser->Add(SHAREABLE_NEW(AtlasMessage::m##type, data)) | ||||
} | } | ||||
#endif // INCLUDED_MESSAGEPASSER | #endif // INCLUDED_MESSAGEPASSER |
Wildfire Games · Phabricator