![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtAsynchronousEventQueue.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtAsynchronousEventQueue_H_ 00014 #define DtAsynchronousEventQueue_H_ 00015 00016 #include <vrvUtil/vrvUtil.h> 00017 #include <vrvUtil/DtLockedBufferedQueue.h> 00018 #include <vrvUtil/DtEventQueueInterface.h> 00019 00020 #include <boost/thread/tss.hpp> 00021 00022 namespace makVrv 00023 { 00027 class DT_DLL_VRVUTIL DtAsynchronousEventQueue : public DtEventQueueInterface 00028 { 00029 public: 00030 00031 friend class DtMainEventQueue; 00032 00035 void initializeInThread(); 00036 00038 static DtAsynchronousEventQueue* findThisThreadEventQueue(); 00039 00043 virtual void postEvent(const Event& signal); 00044 00046 00047 00048 00049 virtual void processEvents(); 00051 00052 protected: 00053 00055 DtAsynchronousEventQueue(); 00056 ~DtAsynchronousEventQueue(); 00057 00059 00060 00061 void queueSharedEventList(SharedEventList sharedEvents); 00063 00064 protected: 00065 DtLockedBufferedQueue< SharedEventList > myQueuedLists; 00066 00067 }; 00068 } 00069 00070 #endif 00071