32 #ifndef _NPT_MESSAGING_H_ 33 #define _NPT_MESSAGING_H_ 38 #include "NptConstants.h" 40 #include "NptResults.h" 42 #include "NptThreads.h" 43 #include "NptDynamicCast.h" 67 virtual NPT_Result HandleMessage(
NPT_Message* message);
96 NPT_Result HandleMessage(
NPT_Message* message)
override;
104 void DetachHandler();
119 NPT_Cardinal m_ReferenceCount;
130 typedef const char* Type;
133 static Type
const MessageType;
137 virtual Type GetType() {
return MessageType; }
139 return DefaultDeliver(handler);
144 handler->OnMessage(
this);
157 return NPT_ERROR_TERMINATED;
169 virtual NPT_Result PumpMessage(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) = 0;
170 virtual NPT_Result QueueMessage(
NPT_Message* message,
183 m_Queue(NULL), m_Handler(handler) {}
185 m_Queue(queue), m_Handler(NULL) {}
188 m_Queue(queue), m_Handler(handler) {}
198 virtual NPT_Result PostMessage(
NPT_Message* message) {
200 return m_Queue->QueueMessage(message, m_Handler);
221 receiver->PostMessage(m_Message);
230 #endif // _NPT_MESSAGING_H_ Definition: NptMessaging.h:215
Definition: NptThreads.h:76
Definition: NptMessaging.h:126
Definition: NptMessaging.h:73
Definition: NptMessaging.h:164
Definition: NptMessaging.h:152
Definition: NptMessaging.h:177
Definition: NptMessaging.h:53