| 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 > | |
| 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.
| openvrml::event_emitter::~event_emitter | ( | ) | throw () [pure virtual] |
Destroy.
Implemented in openvrml::node_impl_util::abstract_node< Derived >::event_emitter< FieldValue >.
| openvrml::event_emitter::event_emitter | ( | const field_value & | value | ) | throw () [explicit, protected] |
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 >.
| void openvrml::event_emitter::emit_event | ( | double | timestamp | ) | throw ( std::bad_alloc ) [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.
Reimplemented in openvrml::field_value_emitter< FieldValue >, and openvrml::field_value_emitter< sfnode >.
| const std::string openvrml::event_emitter::do_eventout_id | ( | ) | const throw () [private, pure virtual] |
The associated eventOut identifier.
Concrete subclasses must implement this function.
Implemented in openvrml::node_impl_util::event_emitter_base< Node >, and openvrml::node_impl_util::event_emitter_base< Derived >.