6 #ifndef OPENDDS_DCPS_VALUE_DISPATCHER_H 7 #define OPENDDS_DCPS_VALUE_DISPATCHER_H 21 virtual void* new_value()
const = 0;
22 virtual void delete_value(
void* data)
const = 0;
44 T* tbd =
static_cast<T*
>(data);
50 return vread(value_reader, *static_cast<T*>(data));
55 vwrite(value_writer, *static_cast<const T*>(data));
63 DataWriterType* dw_t =
dynamic_cast<DataWriterType*
>(dw);
64 return dw_t ? dw_t->register_instance(*static_cast<const T*>(data)) :
DDS::HANDLE_NIL;
69 DataWriterType* dw_t =
dynamic_cast<DataWriterType*
>(dw);
75 DataWriterType* dw_t =
dynamic_cast<DataWriterType*
>(dw);
81 DataWriterType* dw_t =
dynamic_cast<DataWriterType*
>(dw);
void vwrite(ValueWriter &vw, const Observer::Sample &sample)
virtual DDS::ReturnCode_t dispose_helper(DDS::DataWriter *dw, const void *data, DDS::InstanceHandle_t inst) const
const InstanceHandle_t HANDLE_NIL
#define OpenDDS_Dcps_Export
OpenDDS::DCPS::DDSTraits< T > TraitsType
bool vread(ValueReader &, XTypes::TypeIdentifier &)
virtual DDS::ReturnCode_t unregister_instance_helper(DDS::DataWriter *dw, const void *data, DDS::InstanceHandle_t inst) const
virtual void delete_value(void *data) const
virtual void write(ValueWriter &value_writer, const void *data) const
ssize_t read(ACE_HANDLE handle, void *buf, size_t len)
virtual DDS::ReturnCode_t write_helper(DDS::DataWriter *dw, const void *data, DDS::InstanceHandle_t inst) const
virtual ~ValueDispatcher_T()
virtual DDS::InstanceHandle_t register_instance_helper(DDS::DataWriter *dw, const void *data) const
TraitsType::DataWriterType DataWriterType
HANDLE_TYPE_NATIVE InstanceHandle_t
virtual ~ValueDispatcher()
virtual bool read(ValueReader &value_reader, void *data) const
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
::DDS::ReturnCode_t write(in<%SCOPED%> instance_data, in ::DDS::InstanceHandle_t handle)
The Internal API and Implementation of OpenDDS.
virtual void * new_value() const
const ReturnCode_t RETCODE_BAD_PARAMETER