![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: assistantMsgQueue.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef assistantMsgQueue_H_ 00010 #define assistantMsgQueue_H_ 00011 00015 00016 #include <vlutil/vlList.h> 00017 00018 #include "assistantMsgCbMgr.h" 00019 #include "assistantMsg.h" 00020 00027 class DT_DLL_ASSISTANT DtAssistantMsgQueue 00028 { 00029 00030 public: 00031 00033 DtAssistantMsgQueue(); 00034 00036 virtual ~DtAssistantMsgQueue(); 00037 00039 virtual void addMsgCallback(DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn, 00040 void *usr ); 00041 00043 virtual void removeMsgCallback(DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn, 00044 void *usr ); 00045 00047 virtual void addMsg( const DtAssistantMsg& msg, int compId ); 00048 00051 virtual void beginProcessMsg(); 00052 00055 virtual void finishProcessMsg(); 00056 00058 virtual const DtAssistantMsg* currMsg() const; 00059 00062 virtual int currentCompId() const; 00063 00064 private: 00065 00067 DtAssistantMsgQueue( const DtAssistantMsgQueue& ); 00068 00070 DtAssistantMsgQueue& operator=(const DtAssistantMsgQueue& ); 00071 00072 protected: 00073 00074 struct DtAssistantMsgQueueItem 00075 { 00076 DtAssistantMsg* msg; 00077 int compId; 00078 }; 00079 00081 DtList myMsgList; 00082 00084 DtAssistantMsgQueueItem* myCurrMsgItem; 00085 00087 DtAssistantMsgCbMgr myMsgCbMgr; 00088 }; 00089 00090 #endif