#pragma once #include class SyncEvent { public: enum { INFINITE_TIMEOUT = 0xFFFFFFFF }; SyncEvent(bool bManualReset = true); ~SyncEvent(void); void Trigger (void); bool IsTriggered (int32_t iWaitTime = 0) const; void Reset(); void * GetHandle(); protected: SyncEvent(const SyncEvent&); SyncEvent& operator=(const SyncEvent&); void * m_Event; #ifndef _WIN32 void * m_cond; bool m_signalled; #endif };