Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

MessageList.h

Go to the documentation of this file.
00001 #ifndef MESSAGELIST_H
00002 #define MESSAGELIST_H
00003 #include <list>
00004 #include "Message.h"
00005 #include "Synchronization.h"
00006 namespace rwil {
00007   typedef void (*rwil_MessageList_AddCallback_t)(const list<Message>&);
00008 
00010   class MessageList
00011     {
00012     public:
00014 
00017       void Add(const Message& msg);
00019 
00022       void Add(list<Message>& messages);
00024 
00027       void SetAddCallback(rwil_MessageList_AddCallback_t callback);
00029 
00034       list<Message *> Query(time_t start, time_t end);
00036 
00041       list<Message *> Query(std::string paramname, std::string value);
00043 
00047       void Destroy(list<Message*> messages);
00049 
00054       void Lock();
00056 
00061       void Release();
00063 
00067       bool Wait(int milli);
00069 
00072       void Wait();
00073       MessageList() : m_addcallback(NULL) {}
00074     private:
00076       list<Message> m_messages;
00078       Mutex m_op;
00079       Mutex m_lock;
00081       Semaphore m_count;
00083       rwil_MessageList_AddCallback_t m_addcallback;
00084     };
00085 }
00086 #endif
00087 

Generated on Tue Apr 9 13:53:07 2002 for RWIL - Real World Interface Library by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001