Home | Download | Screen shots | Discussion | Documentation |
---|
Abstract base class of event emitters. More...
#include <openvrml/event.h>
Public Types | |
typedef std::set < event_listener * > | listener_set |
Set of event_listeners . |
Public Member Functions | |
virtual | ~event_emitter ()=0 throw () |
Destroy. | |
const field_value & | value () const throw () |
A reference to the field_value for the event_emitter . | |
const std::string | eventout_id () const throw () |
The associated eventOut identifier. | |
double | last_time () const throw () |
The timestamp of the last event emitted. | |
template<typename FieldValue > | |
bool | add (field_value_listener< FieldValue > &listener) throw ( std::bad_alloc ) |
Add an event listener. | |
template<typename FieldValue > | |
bool | remove (field_value_listener< FieldValue > &listener) throw () |
Remove an event listener. |
Protected Member Functions | |
event_emitter (const field_value &value) throw () | |
Construct. | |
template<typename FieldValue > | |
const std::set < field_value_listener < FieldValue > * > | listeners () const throw ( std::bad_alloc ) |
The event listeners currently listening to the emitter. | |
template<typename FieldValue > | |
void | emit_event (double timestamp) throw ( std::bad_alloc ) |
Emit an event. |
Private Member Functions | |
virtual const std::string | do_eventout_id () const =0 throw () |
The associated eventOut identifier. |
Abstract base class of event emitters.
|
pure virtual |
Destroy.
Implemented in openvrml::node_impl_util::abstract_node< Derived >::event_emitter< FieldValue >.
|
explicitprotected |
Construct.
[in] | value | field_value associated with this emitter. |
const openvrml::field_value & openvrml::event_emitter::value | ( | ) | const throw () |
A reference to the field_value
for the event_emitter
.
field_value
for the event_emitter
. const std::string openvrml::event_emitter::eventout_id | ( | ) | const throw () |
The associated eventOut
identifier.
This function delegates to event_emitter::do_eventout_id
.
eventOut
identifier. double openvrml::event_emitter::last_time | ( | ) | const throw () |
The timestamp of the last event emitted.
bool openvrml::event_emitter::add | ( | field_value_listener< FieldValue > & | listener | ) | throw ( std::bad_alloc ) |
Add an event listener.
FieldValue | a Field Value. |
[in] | listener | an event listener. |
std::bad_alloc | if memory allocation fails. |
Reimplemented in openvrml::field_value_emitter< FieldValue >.
bool openvrml::event_emitter::remove | ( | field_value_listener< FieldValue > & | listener | ) | throw () |
Remove an event listener.
FieldValue | a Field Value. |
[in] | listener | an event listener. |
Reimplemented in openvrml::field_value_emitter< FieldValue >.
|
protected |
The event listeners currently listening to the emitter.
FieldValue | a Field Value. |
Reimplemented in openvrml::field_value_emitter< FieldValue >, and openvrml::field_value_emitter< sfnode >.
|
protected |
Emit an event.
FieldValue | a Field Value. |
[in] | timestamp | the current time. |
std::bad_alloc | if memory allocation fails. |
[in] | timestamp | the current time. |
std::bad_alloc | if memory allocation fails. |
This function is called by node::emit_event
.
|
privatepure virtual |
The associated eventOut
identifier.
Concrete subclasses must implement this function.