00001
00002
00003
00004
00005
00006
00007
00008
00009 #include <queue>
00010 #include <list>
00011 using namespace std;
00012
00013 class Message;
00014
00027
00028 class Message_Queue
00029 {
00032 typedef queue<Message *, list<Message *> > MsgQueType;
00033
00035 MsgQueType m_msgQueue;
00036
00037 public:
00044 void Add(Message *pMsg)
00045 {
00046
00047 m_msgQueue.push(pMsg);
00048 }
00049
00059
00060 Message *Remove()
00061 {
00062 Message *pMsg = NULL;
00063
00064
00065 if (!m_msgQueue.empty())
00066 {
00067
00068
00069 pMsg = m_msgQueue.front();
00070
00071
00072 m_msgQueue.pop();
00073 }
00074 return pMsg;
00075 }
00076
00080 int GetLength() const
00081 {
00082 return m_msgQueue.size();
00083 }
00084 };