00001 00013 #ifndef EVENTQUEUE_H 00014 #define EVENTQUEUE_H 00015 00016 class Event; 00017 00022 class EventQueue { 00023 public: 00024 EventQueue(int num_threads); 00025 ~EventQueue(); 00026 void Push(Event * event); 00027 Event * Pop(); 00028 int Size(); 00029 bool IsOk(); 00030 private: 00031 EventQueue(EventQueue&); 00032 EventQueue& operator=(EventQueue&); 00033 00034 queue<Event*> mQue; 00035 CRITICAL_SECTION mMutex; 00036 // bool mOk; //!< true if semaphores properly initialized. 00037 // HANDLE mFree; //!< Counting semaphore for #free. 00038 // HANDLE mUsed; //!< Counting semaphore for #used. 00039 }; 00040 00041 #endif // EVENTQUEUE_H 00042
1.2.17