AndroMeta  2.0.0
AndroMeta/include/AndroMeta/MMessageBuffer.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2009-2012 AndroMeta LLC. All rights reserved.
00003  *
00004  * AndroMeta LLC retains all intellectual property and proprietary 
00005  * rights to this software and related documentation and any modifications 
00006  * thereto.  Any use, reproduction, disclosure, or distribution of this 
00007  * software and related documentation without an express license agreement 
00008  * from AndroMeta LLC is strictly prohibited.
00009  * 
00010  */
00011 
00019 #ifndef ANDROMETA_M_MESSAGE_BUFFER_H
00020 #define ANDROMETA_M_MESSAGE_BUFFER_H
00021 
00022 #include <AndroMeta/MTime.h>
00023 
00024 namespace Meta{
00025   
00026   class MMessageHandler;
00027   class MMessage;
00028   
00043   class MMessageBuffer{
00044   public:
00045     
00049     MMessageBuffer();
00050     
00054     virtual ~MMessageBuffer();
00055     
00059     void clearMessages();
00060     
00064     size_t messageCount() const;
00065     
00069     void submitMessage(MMessage* msg);
00070     
00075     virtual mvar messageIndex(MMessage* msg);
00076     
00080     void clearHandlers();
00081     
00082     friend class MMessageBuffer_;
00083     
00084   private:
00085     MMessageBuffer& operator=(const MMessageBuffer&);
00086     MMessageBuffer(const MMessageBuffer&);
00087     
00088     class MMessageBuffer_* x_;
00089   };
00090   
00091 } // end namespace Meta
00092 
00093 #endif // ANDROMETA_M_MESSAGE_BUFFER_H
00094