openvrml::node_impl_util::event_emitter_base< Node > Class Template Reference

Abstract base for event_emitter implementations. More...

#include <openvrml/node_impl_util.h>

Inheritance diagram for openvrml::node_impl_util::event_emitter_base< Node >:

Public Member Functions

virtual ~event_emitter_base ()=0 throw ()
 Destroy.
openvrml::nodenode () const throw ()
 The node with which the event_emitter is associated.
- Public Member Functions inherited from openvrml::event_emitter
virtual ~event_emitter ()=0 throw ()
 Destroy.
const field_valuevalue () 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_base (openvrml::node &n, const field_value &value) throw ()
 Construct.
- Protected Member Functions inherited from openvrml::event_emitter
 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 throw ()
 The associated eventOut identifier.

Additional Inherited Members

- Public Types inherited from openvrml::event_emitter
typedef std::set
< event_listener * > 
listener_set
 Set of event_listeners.

Detailed Description

template<typename Node>
class openvrml::node_impl_util::event_emitter_base< Node >

Abstract base for event_emitter implementations.

event_emitter_base implements openvrml::event_emitter::do_eventout_id.

Template Parameters
Nodea concrete node type.

Constructor & Destructor Documentation

template<typename Node >
openvrml::node_impl_util::event_emitter_base< Node >::~event_emitter_base ( ) throw ()
pure virtual

Destroy.

template<typename Node >
openvrml::node_impl_util::event_emitter_base< Node >::event_emitter_base ( openvrml::node n,
const field_value value 
) throw ()
protected

Construct.

Parameters
[in]nthe node associated with the event_emitter.
[in]valuethe field value associated with the event_emitter.

Member Function Documentation

template<typename Node >
openvrml::node & openvrml::node_impl_util::event_emitter_base< Node >::node ( ) const throw ()

The node with which the event_emitter is associated.

template<typename Node >
const std::string openvrml::node_impl_util::event_emitter_base< Node >::do_eventout_id ( ) const throw ()
privatevirtual

The associated eventOut identifier.

Returns
the associated eventOut identifier.