| Home | Download | Screen shots | Discussion | Documentation |
|---|
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 listener_set & | listeners () const throw () |
| Registered listeners. | |
| double | last_time () const throw () |
| The timestamp of the last event emitted. | |
Static Public Member Functions | |
| static std::auto_ptr < event_emitter > | create (const field_value &value) throw (std::bad_alloc) |
| Create an event_emitter. | |
Protected Member Functions | |
| listener_set & | listeners () throw () |
| Registered listeners. | |
| void | last_time (double t) throw () |
| Set the timestamp of the last event emitted. | |
| event_emitter (const field_value &value) throw () | |
| Construct. | |
Private Member Functions | |
| virtual void | emit_event (double timestamp)=0 throw (std::bad_alloc) |
| Emit an event. | |
Private Attributes | |
| const field_value & | value_ |
| A reference to the field_value for the event_emitter. | |
| std::set< event_listener * > | listeners_ |
| The listeners registered for this emitter. | |
| double | last_time_ |
| The timestamp of the last event emitted. | |
Friends | |
| class | node |
The implementation of node calls event_emitter::emit_event. | |
Set of event_listeners.
| openvrml::event_emitter::~event_emitter | ( | ) | throw () [pure virtual] |
Destroy.
| openvrml::event_emitter::event_emitter | ( | const field_value & | value | ) | throw () [explicit, protected] |
| std::auto_ptr< event_emitter > openvrml::event_emitter::create | ( | const field_value & | value | ) | throw (std::bad_alloc) [static] |
Create an event_emitter.
| value | value to emit. |
| std::bad_alloc | if memory allocation fails. |
| const 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 event_emitter::listener_set & openvrml::event_emitter::listeners | ( | ) | const throw () |
Registered listeners.
| double openvrml::event_emitter::last_time | ( | ) | const throw () |
The timestamp of the last event emitted.
| event_emitter::listener_set & openvrml::event_emitter::listeners | ( | ) | throw () [protected] |
Registered listeners.
| void openvrml::event_emitter::last_time | ( | double | t | ) | throw () [protected] |
Set the timestamp of the last event emitted.
| t | the timestamp of the last event emitted. |
| void openvrml::event_emitter::emit_event | ( | double | timestamp | ) | throw (std::bad_alloc) [private, pure virtual] |
Emit an event.
| timestamp | the current time. |
| std::bad_alloc | if memory allocation fails. |
Implemented in openvrml::field_value_emitter< FieldValue >, openvrml::field_value_emitter< openvrml::sfrotation >, openvrml::field_value_emitter< openvrml::sffloat >, openvrml::field_value_emitter< openvrml::sfvec2f >, openvrml::field_value_emitter< openvrml::mfcolor >, openvrml::field_value_emitter< openvrml::sfvec3f >, openvrml::field_value_emitter< openvrml::sftime >, openvrml::field_value_emitter< openvrml::mfstring >, openvrml::field_value_emitter< openvrml::sfimage >, openvrml::field_value_emitter< openvrml::mffloat >, openvrml::field_value_emitter< openvrml::sfcolor >, openvrml::field_value_emitter< openvrml::mfnode >, openvrml::field_value_emitter< openvrml::mfrotation >, openvrml::field_value_emitter< openvrml::mfvec2f >, openvrml::field_value_emitter< openvrml::sfint32 >, openvrml::field_value_emitter< openvrml::mfvec3f >, openvrml::field_value_emitter< openvrml::sfbool >, openvrml::field_value_emitter< openvrml::sfstring >, and openvrml::field_value_emitter< openvrml::sfnode >.
class openvrml::event_emitter::node [friend] |
The implementation of node calls event_emitter::emit_event.
The only things that should be emitting events are nodes. Subclasses of node should call node::emit_event to emit an event.
const field_value & openvrml::event_emitter::value_ [private] |
The listeners registered for this emitter.
When emit_event is called, each of the registered listeners will be sent an event.
double openvrml::event_emitter::last_time_ [private] |
The timestamp of the last event emitted.