OpenDDS  Snapshot(2023/04/07-19:43)
Public Types | Public Member Functions | List of all members
OpenDDS::DCPS::ValueDispatcher_T< T > Struct Template Reference

#include <ValueDispatcher.h>

Inheritance diagram for OpenDDS::DCPS::ValueDispatcher_T< T >:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::ValueDispatcher_T< T >:
Collaboration graph
[legend]

Public Types

typedef OpenDDS::DCPS::DDSTraits< T > TraitsType
 
typedef TraitsType::DataWriterType DataWriterType
 

Public Member Functions

virtual ~ValueDispatcher_T ()
 
virtual void * new_value () const
 
virtual void delete_value (void *data) const
 
virtual bool read (ValueReader &value_reader, void *data) const
 
virtual void write (ValueWriter &value_writer, const void *data) const
 
virtual DDS::InstanceHandle_t register_instance_helper (DDS::DataWriter *dw, const void *data) const
 
virtual DDS::ReturnCode_t write_helper (DDS::DataWriter *dw, const void *data, DDS::InstanceHandle_t inst) const
 
virtual DDS::ReturnCode_t unregister_instance_helper (DDS::DataWriter *dw, const void *data, DDS::InstanceHandle_t inst) const
 
virtual DDS::ReturnCode_t dispose_helper (DDS::DataWriter *dw, const void *data, DDS::InstanceHandle_t inst) const
 
- Public Member Functions inherited from OpenDDS::DCPS::ValueDispatcher
virtual ~ValueDispatcher ()
 

Detailed Description

template<typename T>
struct OpenDDS::DCPS::ValueDispatcher_T< T >

Definition at line 34 of file ValueDispatcher.h.

Member Typedef Documentation

◆ DataWriterType

template<typename T >
typedef TraitsType::DataWriterType OpenDDS::DCPS::ValueDispatcher_T< T >::DataWriterType

Definition at line 59 of file ValueDispatcher.h.

◆ TraitsType

Definition at line 58 of file ValueDispatcher.h.

Constructor & Destructor Documentation

◆ ~ValueDispatcher_T()

template<typename T >
virtual OpenDDS::DCPS::ValueDispatcher_T< T >::~ValueDispatcher_T ( )
inlinevirtual

Definition at line 35 of file ValueDispatcher.h.

35 {}

Member Function Documentation

◆ delete_value()

template<typename T >
virtual void OpenDDS::DCPS::ValueDispatcher_T< T >::delete_value ( void *  data) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 42 of file ValueDispatcher.h.

43  {
44  T* tbd = static_cast<T*>(data);
45  delete tbd;
46  }

◆ dispose_helper()

template<typename T >
virtual DDS::ReturnCode_t OpenDDS::DCPS::ValueDispatcher_T< T >::dispose_helper ( DDS::DataWriter dw,
const void *  data,
DDS::InstanceHandle_t  inst 
) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 79 of file ValueDispatcher.h.

References OPENDDS_END_VERSIONED_NAMESPACE_DECL, and DDS::RETCODE_BAD_PARAMETER.

80  {
81  DataWriterType* dw_t = dynamic_cast<DataWriterType*>(dw);
82  return dw_t ? dw_t->dispose(*static_cast<const T*>(data), inst) : DDS::RETCODE_BAD_PARAMETER;
83  }
const ReturnCode_t RETCODE_BAD_PARAMETER
TraitsType::DataWriterType DataWriterType

◆ new_value()

template<typename T >
virtual void* OpenDDS::DCPS::ValueDispatcher_T< T >::new_value ( ) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 37 of file ValueDispatcher.h.

38  {
39  return new T();
40  }

◆ read()

template<typename T >
virtual bool OpenDDS::DCPS::ValueDispatcher_T< T >::read ( ValueReader value_reader,
void *  data 
) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 48 of file ValueDispatcher.h.

References OpenDDS::DCPS::vread().

49  {
50  return vread(value_reader, *static_cast<T*>(data));
51  }
bool vread(ValueReader &, XTypes::TypeIdentifier &)

◆ register_instance_helper()

template<typename T >
virtual DDS::InstanceHandle_t OpenDDS::DCPS::ValueDispatcher_T< T >::register_instance_helper ( DDS::DataWriter dw,
const void *  data 
) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 61 of file ValueDispatcher.h.

References DDS::HANDLE_NIL.

62  {
63  DataWriterType* dw_t = dynamic_cast<DataWriterType*>(dw);
64  return dw_t ? dw_t->register_instance(*static_cast<const T*>(data)) : DDS::HANDLE_NIL;
65  }
const InstanceHandle_t HANDLE_NIL
TraitsType::DataWriterType DataWriterType

◆ unregister_instance_helper()

template<typename T >
virtual DDS::ReturnCode_t OpenDDS::DCPS::ValueDispatcher_T< T >::unregister_instance_helper ( DDS::DataWriter dw,
const void *  data,
DDS::InstanceHandle_t  inst 
) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 73 of file ValueDispatcher.h.

References DDS::RETCODE_BAD_PARAMETER.

74  {
75  DataWriterType* dw_t = dynamic_cast<DataWriterType*>(dw);
76  return dw_t ? dw_t->unregister_instance(*static_cast<const T*>(data), inst) : DDS::RETCODE_BAD_PARAMETER;
77  }
const ReturnCode_t RETCODE_BAD_PARAMETER
TraitsType::DataWriterType DataWriterType

◆ write()

template<typename T >
virtual void OpenDDS::DCPS::ValueDispatcher_T< T >::write ( ValueWriter value_writer,
const void *  data 
) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 53 of file ValueDispatcher.h.

References OpenDDS::DCPS::vwrite().

54  {
55  vwrite(value_writer, *static_cast<const T*>(data));
56  }
void vwrite(ValueWriter &vw, const Observer::Sample &sample)
Definition: Observer.cpp:51

◆ write_helper()

template<typename T >
virtual DDS::ReturnCode_t OpenDDS::DCPS::ValueDispatcher_T< T >::write_helper ( DDS::DataWriter dw,
const void *  data,
DDS::InstanceHandle_t  inst 
) const
inlinevirtual

Implements OpenDDS::DCPS::ValueDispatcher.

Definition at line 67 of file ValueDispatcher.h.

References DDS::RETCODE_BAD_PARAMETER.

68  {
69  DataWriterType* dw_t = dynamic_cast<DataWriterType*>(dw);
70  return dw_t ? dw_t->write(*static_cast<const T*>(data), inst) : DDS::RETCODE_BAD_PARAMETER;
71  }
const ReturnCode_t RETCODE_BAD_PARAMETER
TraitsType::DataWriterType DataWriterType

The documentation for this struct was generated from the following file: