00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _NPT_SIMPLE_MESSAGE_QUEUE_H_
00011 #define _NPT_SIMPLE_MESSAGE_QUEUE_H_
00012
00013
00014
00015
00016 #include "NptTypes.h"
00017 #include "NptThreads.h"
00018 #include "NptMessaging.h"
00019 #include "NptQueue.h"
00020
00021
00022
00023
00024 struct NPT_SimpleMessageCapsule;
00025
00026
00027
00028
00029 class NPT_SimpleMessageQueue : public NPT_MessageQueue
00030 {
00031 public:
00032
00033 NPT_SimpleMessageQueue();
00034 virtual ~NPT_SimpleMessageQueue();
00035
00036
00037 virtual NPT_Result QueueMessage(NPT_Message* message,
00038 NPT_MessageHandler* handler);
00039 virtual NPT_Result PumpMessage(bool blocking = true);
00040
00041 private:
00042
00043 NPT_Queue<NPT_SimpleMessageCapsule> m_Queue;
00044 };
00045
00046 #endif // _NPT_SIMPLE_MESSAGE_QUEUE_H_