Public Types | Public Member Functions

CEvent Class Reference

Event. More...

#include <CEvent.h>

List of all members.

Public Types

enum  {
  kUnknown, kQuit, kSystem, kTimer,
  kLast
}
enum  { kNone = 0x00, kDeliverImmediately = 0x01, kDontFreeData = 0x02 }
typedef UInt32 Type
typedef UInt32 Flags

Public Member Functions

 CEvent (Type type, void *target=NULL, void *data=NULL, Flags flags=kNone)
 Create CEvent with data (POD).
accessors

Type getType () const
 Get event type.
void * getTarget () const
 Get the event target.
void * getData () const
 Get the event data (POD).
CEventDatagetDataObject () const
 Get the event data (non-POD).
Flags getFlags () const
 Get event flags.

manipulators



void setDataObject (CEventData *dataObject)
 Set data (non-POD).
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 35 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 38 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 47 of file CEvent.h.


Constructor & Destructor Documentation

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

Create CEvent with data (POD).

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. For non-POD (normal C++ objects use setDataObject(). target is the intended recipient of the event. flags is any combination of Flags.

Definition at line 36 of file CEvent.cpp.


Member Function Documentation

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

Release event data.

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

Definition at line 77 of file CEvent.cpp.

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

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

void * CEvent::getData (  )  const

Get the event data (POD).

Returns the event data (POD).

Definition at line 59 of file CEvent.cpp.

Referenced by deleteData().

CEventData * CEvent::getDataObject (  )  const

Get the event data (non-POD).

Returns the event data (non-POD). The difference between this and getData() is that when delete is called on this data, so non-POD (non plain old data) dtor is called.

Definition at line 65 of file CEvent.cpp.

CEvent::Flags CEvent::getFlags (  )  const

Get event flags.

Returns the event flags.

Definition at line 71 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 53 of file CEvent.cpp.

CEvent::Type CEvent::getType (  )  const
void CEvent::setDataObject ( CEventData dataObject  ) 

Set data (non-POD).

Set non-POD (non plain old data), where delete is called when the event is deleted, and the destructor is called.

Definition at line 96 of file CEvent.cpp.


The documentation for this class was generated from the following files: