Go to the documentation of this file.00001 #ifndef __SIGNALED_EVENT_H
00002 #define __SIGNALED_EVENT_H
00003
00004 #if defined(_XBOX) || defined(X360)
00005
00006 #elif defined(_WIN32)
00007 #include <windows.h>
00008 #else
00009 #include <pthread.h>
00010 #include <sys/types.h>
00011 #include "SimpleMutex.h"
00012 #if defined(_PS3) || defined(__PS3__) || defined(SN_TARGET_PS3)
00013
00014 #endif
00015 #endif
00016
00017 #include "Export.h"
00018
00019 class RAK_DLL_EXPORT SignaledEvent
00020 {
00021 public:
00022 SignaledEvent();
00023 ~SignaledEvent();
00024
00025 void InitEvent(void);
00026 void CloseEvent(void);
00027 void SetEvent(void);
00028 void WaitOnEvent(int timeoutMs);
00029
00030 protected:
00031 #ifdef _WIN32
00032 HANDLE eventList;
00033 #else
00034 SimpleMutex isSignaledMutex;
00035 bool isSignaled;
00036 pthread_condattr_t condAttr;
00037 pthread_cond_t eventList;
00038 pthread_mutex_t hMutex;
00039 pthread_mutexattr_t mutexAttr;
00040 #endif
00041 };
00042
00043 #endif