| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*
- * Copyright (c) 2014, Oculus VR, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
- #ifndef __SIGNALED_EVENT_H
- #define __SIGNALED_EVENT_H
- #if defined(_WIN32)
- #include "WindowsIncludes.h"
- #else
- #include <pthread.h>
- #include <sys/types.h>
- #include "SimpleMutex.h"
- #endif
- #include "Export.h"
- namespace RakNet
- {
- class RAK_DLL_EXPORT SignaledEvent
- {
- public:
- SignaledEvent();
- ~SignaledEvent();
- void InitEvent(void);
- void CloseEvent(void);
- void SetEvent(void);
- void WaitOnEvent(int timeoutMs);
- protected:
- #ifdef _WIN32
- HANDLE eventList;
- #else
- SimpleMutex isSignaledMutex;
- bool isSignaled;
- #if !defined(ANDROID)
- pthread_condattr_t condAttr;
- #endif
- pthread_cond_t eventList;
- pthread_mutex_t hMutex;
- pthread_mutexattr_t mutexAttr;
- #endif
- };
- } // namespace RakNet
- #endif
|