diff options
| author | George Hazan <george.hazan@gmail.com> | 2025-03-21 20:48:58 +0300 |
|---|---|---|
| committer | George Hazan <george.hazan@gmail.com> | 2025-03-21 20:48:58 +0300 |
| commit | 975e0c49b5d3d6e03139ade7c16b856ccf3db3da (patch) | |
| tree | 93900d0088cb875543ddc47d1c3ad853a0d1a5da /include/m_utils.h | |
| parent | d927f17c1675e93d4cca6a39df83852a17bb4ab2 (diff) | |
useful class moved to m_utils.h
Diffstat (limited to 'include/m_utils.h')
| -rw-r--r-- | include/m_utils.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/m_utils.h b/include/m_utils.h index e44a3609c6..d7dc704085 100644 --- a/include/m_utils.h +++ b/include/m_utils.h @@ -517,6 +517,20 @@ struct MIR_APP_EXPORT MAsyncObject : public MNonCopyable MIR_APP_DLL(void) Utils_InvokeAsync(MAsyncObject *pObj);
/////////////////////////////////////////////////////////////////////////////////////////
+
+class MEventHandle
+{
+ HANDLE _hEvent;
+public:
+ __inline explicit MEventHandle() { _hEvent = CreateEvent(NULL, 0, 0, NULL); }
+ __inline explicit MEventHandle(HANDLE hEvent) : _hEvent(hEvent) {}
+ __inline ~MEventHandle() { CloseHandle(_hEvent); }
+ __inline void Set() { SetEvent(_hEvent); }
+ __inline void Wait(uint32_t dwMilliseconds = INFINITE) { WaitForSingleObject(_hEvent, dwMilliseconds); }
+ __inline operator HANDLE() { return _hEvent; }
+};
+
+/////////////////////////////////////////////////////////////////////////////////////////
// compatibility functions
#ifndef _WINDOWS
|
