1
0
forked from 0ad/0ad
0ad/source/tools/atlas/GameInterface/MessagePasser.h
Ykkrosh 7bfe647366 Atlas: Initial terrain-selection panel.
TextureManager: Skip *.jbf too.

This was SVN commit r3085.
2005-11-03 03:49:57 +00:00

29 lines
574 B
C++

#ifndef MESSAGEPASSER_H__
#define MESSAGEPASSER_H__
namespace AtlasMessage
{
struct IMessage;
struct QueryMessage;
class MessagePasser
{
public:
virtual void Add(IMessage*)=0;
// takes ownership of IMessage object
virtual IMessage* Retrieve()=0;
virtual void Query(QueryMessage*, void(*timeoutCallback)())=0;
// blocks; caller retains ownership of QueryMessage object
};
extern MessagePasser* g_MessagePasser;
#define POST_MESSAGE(type) AtlasMessage::g_MessagePasser->Add(new AtlasMessage::m##type)
}
#endif // MESSAGEPASSER_H__