openvrml::field_value_listener< FieldValue > Class Template Reference

Concrete event listener template. More...

#include <openvrml/event.h>

Inheritance diagram for openvrml::field_value_listener< FieldValue >:

List of all members.

Public Member Functions

virtual ~field_value_listener ()=0 throw ()
 Destroy.
void process_event (const FieldValue &value, double timestamp) throw ( std::bad_alloc )
 Process an event.
virtual field_value::type_id type () const throw ()
 FieldValue::field_value_type_id.

Protected Member Functions

 field_value_listener () throw ()
 Construct.

Private Member Functions

virtual void do_process_event (const FieldValue &value, double timestamp)=0 throw ( std::bad_alloc )
 Called by field_value_listener<FieldValue>::do_process_event.

Detailed Description

template<typename FieldValue>
class openvrml::field_value_listener< FieldValue >

Concrete event listener template.

Template Parameters:
FieldValuea Field Value.

Constructor & Destructor Documentation

template<typename FieldValue >
openvrml::field_value_listener< FieldValue >::~field_value_listener ( ) throw () [pure virtual]

Destroy.

Template Parameters:
FieldValuea Field Value.
template<typename FieldValue >
openvrml::field_value_listener< FieldValue >::field_value_listener ( ) throw () [explicit, protected]

Construct.

Template Parameters:
FieldValuea Field Value.

Member Function Documentation

template<typename FieldValue>
void openvrml::field_value_listener< FieldValue >::process_event ( const FieldValue &  value,
double  timestamp 
) throw ( std::bad_alloc )

Process an event.

Template Parameters:
FieldValuea Field Value.
Parameters:
[in]valuethe event value.
[in]timestampthe current time.
Exceptions:
std::bad_allocif memory allocation fails.
template<typename FieldValue >
field_value::type_id openvrml::field_value_listener< FieldValue >::type ( ) const throw () [virtual]

FieldValue::field_value_type_id.

Template Parameters:
FieldValuea Field Value.
Returns:
FieldValue::field_value_type_id.

Implements openvrml::event_listener.

template<typename FieldValue>
void openvrml::field_value_listener< FieldValue >::do_process_event ( const FieldValue &  value,
double  timestamp 
) throw ( std::bad_alloc ) [private, pure virtual]

Called by field_value_listener<FieldValue>::do_process_event.

Subclasses must implement this function.

Template Parameters:
FieldValuea Field Value.
Parameters:
[in]valuethe event value.
[in]timestampthe current time.
Exceptions:
std::bad_allocif memory allocation fails.

Implemented in openvrml::exposedfield< FieldValue >, and openvrml::exposedfield< sfnode >.