CEvent Class Reference

Event. More...

#include <CEvent.h>

List of all members.

Public Types

typedef UInt32 Type
typedef UInt32 Flags
 kUnknown
 The event type is unknown.
 kQuit
 The quit event.
 kSystem
 The data points to a system event type.
 kTimer
 The data points to timer info.
 kLast
 Must be last.
 kNone = 0x00
 No flags.
 kDeliverImmediately = 0x01
 Dispatch and free event immediately.
 kDontFreeData = 0x02
 Don't free data in deleteData.
enum  {
  kUnknown, kQuit, kSystem, kTimer,
  kLast
}
enum  { kNone = 0x00, kDeliverImmediately = 0x01, kDontFreeData = 0x02 }

Public Member Functions

 CEvent ()
 CEvent (Type type, void *target=NULL, void *data=NULL, UInt32 flags=kNone)
 Create CEvent with data.
accessors
Type getType () const
 Get event type.
void * getTarget () const
 Get the event target.
void * getData () const
 Get the event data.
Flags getFlags () const
 Get event flags.

Static Public Member Functions

manipulators
static Type registerType (const char *name)
 Creates a new event type.
static Type registerTypeOnce (Type &type, const char *name)
 Creates a new event type.
static const char * getTypeName (Type type)
 Get name for event.
static void deleteData (const CEvent &)
 Release event data.


Detailed Description

Event.

A CEvent holds an event type and a pointer to event data.

Definition at line 25 of file CEvent.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
kUnknown  The event type is unknown.
kQuit  The quit event.
kSystem  The data points to a system event type.
kTimer  The data points to timer info.
kLast  Must be last.

Definition at line 28 of file CEvent.h.

anonymous enum

Enumerator:
kNone  No flags.
kDeliverImmediately  Dispatch and free event immediately.
kDontFreeData  Don't free data in deleteData.

Definition at line 37 of file CEvent.h.


Constructor & Destructor Documentation

CEvent::CEvent ( Type  type,
void *  target = NULL,
void *  data = NULL,
UInt32  flags = kNone 
)

Create CEvent with data.

The type must have been registered using registerType(). The data must be POD (plain old data) allocated by malloc(), which means it cannot have a constructor, destructor or be composed of any types that do. target is the intended recipient of the event. flags is any combination of Flags.


Member Function Documentation

void CEvent::deleteData ( const CEvent  )  [static]

Release event data.

Deletes event data for the given event (using free()).

Definition at line 83 of file CEvent.cpp.

References getData(), getFlags(), getType(), kDontFreeData, kQuit, kSystem, kTimer, and kUnknown.

Referenced by CEventQueue::addEvent(), and CEventQueue::adoptBuffer().

void * CEvent::getData (  )  const

Get the event data.

Returns the event data.

Definition at line 53 of file CEvent.cpp.

Referenced by deleteData(), CStreamFilter::filterEvent(), CXWindowsScreen::handleSystemEvent(), COSXScreen::handleSystemEvent(), CMSWindowsScreen::handleSystemEvent(), CInputFilter::CScreenConnectedCondition::match(), CInputFilter::CMouseButtonCondition::match(), CInputFilter::CKeystrokeCondition::match(), and CInputFilter::CSwitchToScreenAction::perform().

CEvent::Flags CEvent::getFlags (  )  const

Get event flags.

Returns the event flags.

Definition at line 59 of file CEvent.cpp.

Referenced by CEventQueue::addEvent(), and deleteData().

void * CEvent::getTarget (  )  const

Get the event target.

Returns the event target.

Definition at line 47 of file CEvent.cpp.

Referenced by CEventQueue::dispatchEvent(), CInputFilter::CMouseButtonAction::perform(), CInputFilter::CKeystrokeAction::perform(), CInputFilter::CKeyboardBroadcastAction::perform(), CInputFilter::CSwitchInDirectionAction::perform(), CInputFilter::CSwitchToScreenAction::perform(), and CInputFilter::CLockCursorToScreenAction::perform().

CEvent::Type CEvent::getType (  )  const

Get event type.

Returns the event type.

Definition at line 41 of file CEvent.cpp.

Referenced by CEventQueue::addEvent(), deleteData(), CEventQueue::dispatchEvent(), CStreamFilter::filterEvent(), CPacketStreamFilter::filterEvent(), CInputFilter::CScreenConnectedCondition::match(), CInputFilter::CMouseButtonCondition::match(), CInputFilter::CKeystrokeCondition::match(), and CInputFilter::CSwitchToScreenAction::perform().

const char * CEvent::getTypeName ( Type  type  )  [static]

Get name for event.

Returns the name for the event type. This is primarily for debugging.

Definition at line 77 of file CEvent.cpp.

CEvent::Type CEvent::registerType ( const char *  name  )  [static]

Creates a new event type.

Returns a unique event type id.

Definition at line 65 of file CEvent.cpp.

CEvent::Type CEvent::registerTypeOnce ( Type type,
const char *  name 
) [static]

Creates a new event type.

If type contains kUnknown then it is set to a unique event type id otherwise it is left alone. The final value of type is returned.

Definition at line 71 of file CEvent.cpp.

Referenced by IPrimaryScreen::getButtonDownEvent(), IPrimaryScreen::getButtonUpEvent(), CClientProxy::getClipboardChangedEvent(), IScreen::getClipboardGrabbedEvent(), IDataSocket::getConnectedEvent(), CServer::getConnectedEvent(), CClientListener::getConnectedEvent(), CClient::getConnectedEvent(), IListenSocket::getConnectingEvent(), IDataSocket::getConnectionFailedEvent(), CClient::getConnectionFailedEvent(), ISocket::getDisconnectedEvent(), CServer::getDisconnectedEvent(), CClientProxy::getDisconnectedEvent(), CClient::getDisconnectedEvent(), IScreen::getErrorEvent(), CServer::getErrorEvent(), CClientProxyUnknown::getFailureEvent(), IPrimaryScreen::getFakeInputBeginEvent(), IPrimaryScreen::getFakeInputEndEvent(), IPrimaryScreen::getHotKeyDownEvent(), IPrimaryScreen::getHotKeyUpEvent(), IStream::getInputReadyEvent(), IStream::getInputShutdownEvent(), CServer::getKeyboardBroadcastEvent(), IKeyState::getKeyDownEvent(), IKeyState::getKeyRepeatEvent(), IKeyState::getKeyUpEvent(), CServer::getLockCursorToScreenEvent(), IPrimaryScreen::getMotionOnPrimaryEvent(), IPrimaryScreen::getMotionOnSecondaryEvent(), IStream::getOutputErrorEvent(), IStream::getOutputFlushedEvent(), IStream::getOutputShutdownEvent(), CClientProxy::getReadyEvent(), IScreen::getResumeEvent(), IPrimaryScreen::getScreensaverActivatedEvent(), IPrimaryScreen::getScreensaverDeactivatedEvent(), IScreen::getShapeChangedEvent(), CClientProxyUnknown::getSuccessEvent(), IScreen::getSuspendEvent(), CServer::getSwitchInDirectionEvent(), CServer::getSwitchToScreenEvent(), and IPrimaryScreen::getWheelEvent().


The documentation for this class was generated from the following files:
Generated on Fri Nov 6 00:18:59 2009 for synergy-plus by  doxygen 1.4.7