2005-06-28 01:04:34 +02:00
|
|
|
#include "MessagePasser.h"
|
2005-06-25 04:21:26 +02:00
|
|
|
|
|
|
|
#include "ps/ThreadUtil.h"
|
|
|
|
#include <queue>
|
|
|
|
|
2005-07-03 18:25:48 +02:00
|
|
|
template <typename T> class MessagePasserImpl : public AtlasMessage::MessagePasser<T>
|
2005-06-25 04:21:26 +02:00
|
|
|
{
|
|
|
|
public:
|
2005-10-09 05:26:16 +02:00
|
|
|
MessagePasserImpl();
|
2005-07-03 18:25:48 +02:00
|
|
|
virtual void Add(T* msg);
|
|
|
|
virtual T* Retrieve();
|
2005-09-13 05:57:34 +02:00
|
|
|
virtual bool IsEmpty();
|
2005-06-25 04:21:26 +02:00
|
|
|
|
2005-10-09 05:26:16 +02:00
|
|
|
void SetTrace(bool t);
|
|
|
|
|
2005-06-25 04:21:26 +02:00
|
|
|
private:
|
|
|
|
CMutex m_Mutex;
|
2005-07-03 18:25:48 +02:00
|
|
|
std::queue<T*> m_Queue;
|
2005-10-09 05:26:16 +02:00
|
|
|
bool m_Trace;
|
2005-06-25 04:21:26 +02:00
|
|
|
};
|