![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtMainEventQueue.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtMainEventQueue_H_ 00014 #define DtMainEventQueue_H_ 00015 00016 #include <vrvUtil/vrvUtil.h> 00017 #include <vrvUtil/DtEventQueueInterface.h> 00018 00019 namespace makVrv 00020 { 00021 class DtDe; 00022 class DtAsynchronousEventQueue; 00023 00028 class DT_DLL_VRVUTIL DtMainEventQueue : public DtEventQueueInterface 00029 { 00030 public: 00032 DtMainEventQueue(); 00033 00035 virtual ~DtMainEventQueue(); 00036 00039 virtual void postEvent(const Event& signal); 00040 00042 virtual void processEvents(); 00043 00047 DtAsynchronousEventQueue* createAsynchronousEventQueue(); 00048 00051 bool destroyAsynchronousEventQueue(DtAsynchronousEventQueue* secondary); 00052 00053 protected: 00054 00057 void distributeEvents(); 00058 00059 protected: 00060 typedef std::vector<DtAsynchronousEventQueue*> ThreadQueueList; 00061 ThreadQueueList mySecondaryQueues; 00062 00063 SharedEventList myEventsToDistribute; 00064 }; 00065 } 00066 00067 #endif 00068