| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iEvent Struct Reference
[Event handling]

This interface describes any system event. More...

`#include <iutil/event.h>`

Inheritance diagram for iEvent:

[legend]
List of all members.

## Public Member Functions
virtual bool | AttributeExists (const char *name)=0
| Test whether an attribute exists.
virtual csRef< iEventAttributeIterator > | GetAttributeIterator ()=0
| Get an iterator for all attributes.
virtual csEventAttributeType | GetAttributeType (const char *name)=0
| Query the type of an attribute.
virtual const csEventID | GetName ()=0
| Return event name.
virtual bool | Remove (const char *name)=0
| Remove a specific attribute.
virtual bool | RemoveAll ()=0
| Remove all attributes.
virtual bool | Add (const char *name, int8 v)=0
| Add an attribute to the event.
virtual csEventError | Retrieve (const char *name, int8 &v) const =0
| Retrieve an attribute from the event.
## Public Attributes
bool | Broadcast
| Ignore "true" returned by HandleEvent.
csEventID | Name
| Event name.
csTicks | Time
| Time when the event occured.

## Detailed Description

This interface describes any system event.

Events can be generated by hardware (keyboard, mouse) as well as by software (commands and broadcasts). Not all events neccessarily pass through the system event queue; you may organize point-to-point event flows between some plugins and so on.

The events can be generated by the event outlet (see the CreateEvent method in iEventOutlet) if you don't want to create your own implementations of this interface. On the other hand, if you want to provide extra functionality you may subclass iEvent interface and add another interface (say iExtEvent) then you may query that interface using normal SCF QueryInterface method.

Definition at line 277 of file event.h.

## Member Function Documentation

virtual bool iEvent::Add | ( | const char * | name,
|  | int8 | v |
| ) |  |  | `[pure virtual]`

Add an attribute to the event.

virtual bool iEvent::AttributeExists | ( | const char * | name | ) | `[pure virtual]`

Test whether an attribute exists.

Implemented in csEvent.

virtual csRef<iEventAttributeIterator> iEvent::GetAttributeIterator | ( |  | ) | `[pure virtual]`

Get an iterator for all attributes.

Implemented in csEvent.

virtual csEventAttributeType iEvent::GetAttributeType | ( | const char * | name | ) | `[pure virtual]`

Query the type of an attribute.

Implemented in csEvent.

virtual const csEventID iEvent::GetName | ( |  | ) | `[pure virtual]`

Return event name.

Implemented in csEvent.

virtual bool iEvent::Remove | ( | const char * | name | ) | `[pure virtual]`

Remove a specific attribute.

Implemented in csEvent.

virtual bool iEvent::RemoveAll | ( |  | ) | `[pure virtual]`

Remove all attributes.

Implemented in csEvent.

virtual csEventError iEvent::Retrieve | ( | const char * | name,
|  | int8 & | v |
| ) |  |  | const`[pure virtual]`

Retrieve an attribute from the event.

## Member Data Documentation

bool iEvent::Broadcast

Ignore "true" returned by HandleEvent.

Definition at line 287 of file event.h.

csEventID iEvent::Name

Event name.

Definition at line 281 of file event.h.

csTicks iEvent::Time

Time when the event occured.

Definition at line 285 of file event.h.

The documentation for this struct was generated from the following file:

- iutil/event.h