#!/usr/bin/env python

import win32api
import win32event

# this represents a waitable event, NOT a Windows Message.

class Event(object):
	def __init__(self, B_create_lower = True):
		self.owns_handle = B_create_lower
		if B_create_lower:
			self.handle = win32event.CreateEvent(None, False, False, None) # the last is "name".
		else:
			self.handle = None

	@classmethod
	def from_handle(self, handle):
		event_1 = Event(B_create_lower=False)
		event_1.handle = handle
		return event_1
		
	def close(self):
		if self.owns_handle and self.handle is not None:
			win32api.CloseHandle(self.handle)
			self.handle = None
