Event queue buffer for Win32. More...
#include <CMSWindowsEventQueueBuffer.h>
Inherits IEventQueueBuffer.
Public Member Functions | |
virtual void | waitForEvent (double timeout) |
Block waiting for an event. | |
virtual Type | getEvent (CEvent &event, UInt32 &dataID) |
Get the next event. | |
virtual bool | addEvent (UInt32 dataID) |
Post an event. | |
virtual bool | isEmpty () const |
Check if event queue buffer is empty. | |
virtual CEventQueueTimer * | newTimer (double duration, bool oneShot) const |
Create a timer object. | |
virtual void | deleteTimer (CEventQueueTimer *) const |
Destroy a timer object. |
Event queue buffer for Win32.
Definition at line 23 of file CMSWindowsEventQueueBuffer.h.
bool CMSWindowsEventQueueBuffer::addEvent | ( | UInt32 | dataID | ) | [virtual] |
Post an event.
Add the given event to the end of the queue buffer. This is a user event and getEvent()
must be able to identify it as such and return dataID
. This method must cause waitForEvent()
to return at some future time if it's blocked waiting on an event.
Implements IEventQueueBuffer.
Definition at line 116 of file CMSWindowsEventQueueBuffer.cpp.
void CMSWindowsEventQueueBuffer::deleteTimer | ( | CEventQueueTimer * | ) | const [virtual] |
Destroy a timer object.
Destroy a timer object previously returned by newTimer()
.
Implements IEventQueueBuffer.
Definition at line 135 of file CMSWindowsEventQueueBuffer.cpp.
IEventQueueBuffer::Type CMSWindowsEventQueueBuffer::getEvent | ( | CEvent & | event, | |
UInt32 & | dataID | |||
) | [virtual] |
Get the next event.
Get the next event from the buffer. Return kNone if no event is available. If a system event is next, return kSystem and fill in event. The event data in a system event can point to a static buffer (because CEvent::deleteData() will not attempt to delete data in a kSystem event). Otherwise, return kUser and fill in dataID
with the value passed to addEvent()
.
Implements IEventQueueBuffer.
Definition at line 80 of file CMSWindowsEventQueueBuffer.cpp.
References IEventQueue::getSystemTarget(), IEventQueueBuffer::kNone, CEvent::kQuit, CEvent::kSystem, IEventQueueBuffer::kSystem, and IEventQueueBuffer::kUser.
bool CMSWindowsEventQueueBuffer::isEmpty | ( | ) | const [virtual] |
Check if event queue buffer is empty.
Return true iff the event queue buffer is empty.
Implements IEventQueueBuffer.
Definition at line 123 of file CMSWindowsEventQueueBuffer.cpp.
CEventQueueTimer * CMSWindowsEventQueueBuffer::newTimer | ( | double | duration, | |
bool | oneShot | |||
) | const [virtual] |
Create a timer object.
Create and return a timer object. The object is opaque and is used only by the buffer but it must be a valid object (i.e. not NULL).
Implements IEventQueueBuffer.
Definition at line 129 of file CMSWindowsEventQueueBuffer.cpp.
void CMSWindowsEventQueueBuffer::waitForEvent | ( | double | timeout | ) | [virtual] |
Block waiting for an event.
Wait for an event in the event queue buffer for up to timeout
seconds.
Implements IEventQueueBuffer.
Definition at line 53 of file CMSWindowsEventQueueBuffer.cpp.