| ## Public API Reference

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

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

# csEventCord Class Reference

Event cord. More...

`#include <csutil/csevcord.h>`

Inheritance diagram for csEventCord:

[legend]
List of all members.

## Public Member Functions
| csEventCord (csEventID, bool=false)
| Create an event cord for a given name.
virtual csEventID | GetName () const
| Get the category of this cord.
virtual bool | GetPass () const
| Get whether events are passed to the system event queue.
virtual int | Insert (iEventHandler *, int priority)
| Insert an event handler into the event cord.
virtual void | Remove (iEventHandler *)
| Remove an event handler from the event cord.
virtual void | SetPass (bool flag)
| Set whether events are passed to the system event queue.
virtual | ~csEventCord ()
| Destructor.
## Protected Member Functions
void | Lock ()
| Lock the queue for modifications: NESTED CALLS TO LOCK/UNLOCK NOT ALLOWED!
void | Unlock ()
| Unlock the queue.
## Protected Attributes
csEventID | name
| The name of the events on this cord.
volatile bool | pass
| Pass events to the system queue?
PluginData * | plugins
| The cord itself.
volatile int | SpinLock
| Protection against multiple threads accessing the same cord.
## Friends
class | csEventOutlet
| iEventOutlet places events into cords.
## Classes
struct | PluginData

## Detailed Description

Event cord.

Definition at line 38 of file csevcord.h.

## Constructor & Destructor Documentation

csEventCord::csEventCord | ( | csEventID | ,
|  | bool | = `false` |
| ) |  |  |

Create an event cord for a given name.

virtual csEventCord::~csEventCord | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual csEventID csEventCord::GetName | ( |  | ) | const`[inline, virtual]`

Get the category of this cord.

Implements iEventCord.

Definition at line 93 of file csevcord.h.

virtual bool csEventCord::GetPass | ( |  | ) | const`[inline, virtual]`

Get whether events are passed to the system event queue.

Implements iEventCord.

Definition at line 87 of file csevcord.h.

virtual int csEventCord::Insert | ( | iEventHandler * | ,
|  | int | priority |
| ) |  |  | `[virtual]`

Insert an event handler into the event cord.

Implements iEventCord.

void csEventCord::Lock | ( |  | ) | `[inline, protected]`

Lock the queue for modifications: NESTED CALLS TO LOCK/UNLOCK NOT ALLOWED!

Definition at line 65 of file csevcord.h.

virtual void csEventCord::Remove | ( | iEventHandler * |  | ) | `[virtual]`

Remove an event handler from the event cord.

Implements iEventCord.

virtual void csEventCord::SetPass | ( | bool | flag | ) | `[inline, virtual]`

Set whether events are passed to the system event queue.

Implements iEventCord.

Definition at line 90 of file csevcord.h.

void csEventCord::Unlock | ( |  | ) | `[inline, protected]`

Unlock the queue.

Definition at line 67 of file csevcord.h.

## Friends And Related Function Documentation

friend class csEventOutlet`[friend]`

iEventOutlet places events into cords.

Definition at line 70 of file csevcord.h.

## Member Data Documentation

csEventID csEventCord::name`[protected]`

The name of the events on this cord.

Definition at line 46 of file csevcord.h.

volatile bool csEventCord::pass`[protected]`

Pass events to the system queue?

Definition at line 43 of file csevcord.h.

PluginData* csEventCord::plugins`[protected]`

The cord itself.

Definition at line 59 of file csevcord.h.

volatile int csEventCord::SpinLock`[protected]`

Protection against multiple threads accessing the same cord.

Definition at line 62 of file csevcord.h.

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

- csutil/csevcord.h