summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/skype_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/SkypeWeb/src/skype_utils.h')
-rw-r--r--protocols/SkypeWeb/src/skype_utils.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/protocols/SkypeWeb/src/skype_utils.h b/protocols/SkypeWeb/src/skype_utils.h
index b50b65546a..1a608bce47 100644
--- a/protocols/SkypeWeb/src/skype_utils.h
+++ b/protocols/SkypeWeb/src/skype_utils.h
@@ -76,5 +76,35 @@ public:
__inline char *get_reason() { return mir_strdup(szReason); }
};
+class EventHandle
+{
+ HANDLE _hEvent;
+public:
+ inline EventHandle()
+ {
+ _hEvent = CreateEvent(NULL, 0, 0, NULL);
+ }
+ inline ~EventHandle()
+ {
+ CloseHandle(_hEvent);
+ }
+ inline void Set()
+ {
+ SetEvent(_hEvent);
+ }
+ inline void Wait()
+ {
+ WaitForSingleObject(_hEvent, INFINITE);
+ }
+ inline void Wait(DWORD dwMilliseconds)
+ {
+ WaitForSingleObject(_hEvent, dwMilliseconds);
+ }
+ inline operator HANDLE()
+ {
+ return _hEvent;
+ }
+};
+
#endif //_UTILS_H_ \ No newline at end of file