00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _POSEDCPS_H_
00012 #define _POSEDCPS_H_
00013
00014 #include "sacpp_mapping.h"
00015 #include "sacpp_DDS_DCPS.h"
00016 #include "Quaternion.h"
00017 #include "dds_dcps_builtintopics.h"
00018 #include "Pose.h"
00019 #include "dds_builtinTopics.h"
00020 #include "Point.h"
00021 #include "Time.h"
00022 #include "dds_dcps_interfaces.h"
00023 struct Time;
00024 struct Point;
00025 struct Quaternion;
00026 struct Pose;
00027
00028 class PoseTypeSupportInterface;
00029
00030 typedef PoseTypeSupportInterface * PoseTypeSupportInterface_ptr;
00031 typedef DDS_DCPSInterface_var < PoseTypeSupportInterface> PoseTypeSupportInterface_var;
00032 typedef DDS_DCPSInterface_out < PoseTypeSupportInterface> PoseTypeSupportInterface_out;
00033
00034
00035 class PoseDataWriter;
00036
00037 typedef PoseDataWriter * PoseDataWriter_ptr;
00038 typedef DDS_DCPSInterface_var < PoseDataWriter> PoseDataWriter_var;
00039 typedef DDS_DCPSInterface_out < PoseDataWriter> PoseDataWriter_out;
00040
00041
00042 class PoseDataReader;
00043
00044 typedef PoseDataReader * PoseDataReader_ptr;
00045 typedef DDS_DCPSInterface_var < PoseDataReader> PoseDataReader_var;
00046 typedef DDS_DCPSInterface_out < PoseDataReader> PoseDataReader_out;
00047
00048
00049 class PoseDataReaderView;
00050
00051 typedef PoseDataReaderView * PoseDataReaderView_ptr;
00052 typedef DDS_DCPSInterface_var < PoseDataReaderView> PoseDataReaderView_var;
00053 typedef DDS_DCPSInterface_out < PoseDataReaderView> PoseDataReaderView_out;
00054
00055
00056 struct PoseSeq_uniq_ {};
00057 typedef DDS_DCPSUFLSeq < Pose, struct PoseSeq_uniq_> PoseSeq;
00058 typedef DDS_DCPSSequence_var < PoseSeq> PoseSeq_var;
00059 typedef DDS_DCPSSequence_out < PoseSeq> PoseSeq_out;
00060 class PoseTypeSupportInterface
00061 :
00062 virtual public DDS::TypeSupport
00063 {
00064 public:
00065 typedef PoseTypeSupportInterface_ptr _ptr_type;
00066 typedef PoseTypeSupportInterface_var _var_type;
00067
00068 static PoseTypeSupportInterface_ptr _duplicate (PoseTypeSupportInterface_ptr obj);
00069 DDS::Boolean _local_is_a (const char * id);
00070
00071 static PoseTypeSupportInterface_ptr _narrow (DDS::Object_ptr obj);
00072 static PoseTypeSupportInterface_ptr _unchecked_narrow (DDS::Object_ptr obj);
00073 static PoseTypeSupportInterface_ptr _nil () { return 0; }
00074 static const char * _local_id;
00075 PoseTypeSupportInterface_ptr _this () { return this; }
00076
00077
00078 protected:
00079 PoseTypeSupportInterface () {};
00080 ~PoseTypeSupportInterface () {};
00081 private:
00082 PoseTypeSupportInterface (const PoseTypeSupportInterface &);
00083 PoseTypeSupportInterface & operator = (const PoseTypeSupportInterface &);
00084 };
00085
00086 class PoseDataWriter
00087 :
00088 virtual public DDS::DataWriter
00089 {
00090 public:
00091 typedef PoseDataWriter_ptr _ptr_type;
00092 typedef PoseDataWriter_var _var_type;
00093
00094 static PoseDataWriter_ptr _duplicate (PoseDataWriter_ptr obj);
00095 DDS::Boolean _local_is_a (const char * id);
00096
00097 static PoseDataWriter_ptr _narrow (DDS::Object_ptr obj);
00098 static PoseDataWriter_ptr _unchecked_narrow (DDS::Object_ptr obj);
00099 static PoseDataWriter_ptr _nil () { return 0; }
00100 static const char * _local_id;
00101 PoseDataWriter_ptr _this () { return this; }
00102
00103 virtual DDS::InstanceHandle_t register_instance (const Pose& instance_data) = 0;
00104 virtual DDS::InstanceHandle_t register_instance_w_timestamp (const Pose& instance_data, const DDS::Time_t& source_timestamp) = 0;
00105 virtual DDS::ReturnCode_t unregister_instance (const Pose& instance_data, DDS::InstanceHandle_t handle) = 0;
00106 virtual DDS::ReturnCode_t unregister_instance_w_timestamp (const Pose& instance_data, DDS::InstanceHandle_t handle, const DDS::Time_t& source_timestamp) = 0;
00107 virtual DDS::ReturnCode_t write (const Pose& instance_data, DDS::InstanceHandle_t handle) = 0;
00108 virtual DDS::ReturnCode_t write_w_timestamp (const Pose& instance_data, DDS::InstanceHandle_t handle, const DDS::Time_t& source_timestamp) = 0;
00109 virtual DDS::ReturnCode_t dispose (const Pose& instance_data, DDS::InstanceHandle_t handle) = 0;
00110 virtual DDS::ReturnCode_t dispose_w_timestamp (const Pose& instance_data, DDS::InstanceHandle_t handle, const DDS::Time_t& source_timestamp) = 0;
00111 virtual DDS::ReturnCode_t writedispose (const Pose& instance_data, DDS::InstanceHandle_t handle) = 0;
00112 virtual DDS::ReturnCode_t writedispose_w_timestamp (const Pose& instance_data, DDS::InstanceHandle_t handle, const DDS::Time_t& source_timestamp) = 0;
00113 virtual DDS::ReturnCode_t get_key_value (Pose& key_holder, DDS::InstanceHandle_t handle) = 0;
00114 virtual DDS::InstanceHandle_t lookup_instance (const Pose& instance_data) = 0;
00115
00116 protected:
00117 PoseDataWriter () {};
00118 ~PoseDataWriter () {};
00119 private:
00120 PoseDataWriter (const PoseDataWriter &);
00121 PoseDataWriter & operator = (const PoseDataWriter &);
00122 };
00123
00124 class PoseDataReader
00125 :
00126 virtual public DDS::DataReader
00127 {
00128 public:
00129 typedef PoseDataReader_ptr _ptr_type;
00130 typedef PoseDataReader_var _var_type;
00131
00132 static PoseDataReader_ptr _duplicate (PoseDataReader_ptr obj);
00133 DDS::Boolean _local_is_a (const char * id);
00134
00135 static PoseDataReader_ptr _narrow (DDS::Object_ptr obj);
00136 static PoseDataReader_ptr _unchecked_narrow (DDS::Object_ptr obj);
00137 static PoseDataReader_ptr _nil () { return 0; }
00138 static const char * _local_id;
00139 PoseDataReader_ptr _this () { return this; }
00140
00141 virtual DDS::ReturnCode_t read (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00142 virtual DDS::ReturnCode_t take (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00143 virtual DDS::ReturnCode_t read_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00144 virtual DDS::ReturnCode_t take_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00145 virtual DDS::ReturnCode_t read_next_sample (Pose& received_data, DDS::SampleInfo& sample_info) = 0;
00146 virtual DDS::ReturnCode_t take_next_sample (Pose& received_data, DDS::SampleInfo& sample_info) = 0;
00147 virtual DDS::ReturnCode_t read_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00148 virtual DDS::ReturnCode_t take_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00149 virtual DDS::ReturnCode_t read_next_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00150 virtual DDS::ReturnCode_t take_next_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00151 virtual DDS::ReturnCode_t read_next_instance_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00152 virtual DDS::ReturnCode_t take_next_instance_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00153 virtual DDS::ReturnCode_t return_loan (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq) = 0;
00154 virtual DDS::ReturnCode_t get_key_value (Pose& key_holder, DDS::InstanceHandle_t handle) = 0;
00155 virtual DDS::InstanceHandle_t lookup_instance (const Pose& instance) = 0;
00156
00157 protected:
00158 PoseDataReader () {};
00159 ~PoseDataReader () {};
00160 private:
00161 PoseDataReader (const PoseDataReader &);
00162 PoseDataReader & operator = (const PoseDataReader &);
00163 };
00164
00165 class PoseDataReaderView
00166 :
00167 virtual public DDS::DataReaderView
00168 {
00169 public:
00170 typedef PoseDataReaderView_ptr _ptr_type;
00171 typedef PoseDataReaderView_var _var_type;
00172
00173 static PoseDataReaderView_ptr _duplicate (PoseDataReaderView_ptr obj);
00174 DDS::Boolean _local_is_a (const char * id);
00175
00176 static PoseDataReaderView_ptr _narrow (DDS::Object_ptr obj);
00177 static PoseDataReaderView_ptr _unchecked_narrow (DDS::Object_ptr obj);
00178 static PoseDataReaderView_ptr _nil () { return 0; }
00179 static const char * _local_id;
00180 PoseDataReaderView_ptr _this () { return this; }
00181
00182 virtual DDS::ReturnCode_t read (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00183 virtual DDS::ReturnCode_t take (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00184 virtual DDS::ReturnCode_t read_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00185 virtual DDS::ReturnCode_t take_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00186 virtual DDS::ReturnCode_t read_next_sample (Pose& received_data, DDS::SampleInfo& sample_info) = 0;
00187 virtual DDS::ReturnCode_t take_next_sample (Pose& received_data, DDS::SampleInfo& sample_info) = 0;
00188 virtual DDS::ReturnCode_t read_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00189 virtual DDS::ReturnCode_t take_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00190 virtual DDS::ReturnCode_t read_next_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00191 virtual DDS::ReturnCode_t take_next_instance (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::SampleStateMask sample_states, DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) = 0;
00192 virtual DDS::ReturnCode_t read_next_instance_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00193 virtual DDS::ReturnCode_t take_next_instance_w_condition (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::InstanceHandle_t a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00194 virtual DDS::ReturnCode_t return_loan (PoseSeq& received_data, DDS::SampleInfoSeq& info_seq) = 0;
00195 virtual DDS::ReturnCode_t get_key_value (Pose& key_holder, DDS::InstanceHandle_t handle) = 0;
00196 virtual DDS::InstanceHandle_t lookup_instance (const Pose& instance) = 0;
00197
00198 protected:
00199 PoseDataReaderView () {};
00200 ~PoseDataReaderView () {};
00201 private:
00202 PoseDataReaderView (const PoseDataReaderView &);
00203 PoseDataReaderView & operator = (const PoseDataReaderView &);
00204 };
00205
00206 template <>
00207 DDS::BuiltinTopicKey_t_slice* DDS_DCPS_ArrayHelper < DDS::BuiltinTopicKey_t, DDS::BuiltinTopicKey_t_slice, DDS::BuiltinTopicKey_t_uniq_>::alloc ();
00208 template <>
00209 void DDS_DCPS_ArrayHelper < DDS::BuiltinTopicKey_t, DDS::BuiltinTopicKey_t_slice, DDS::BuiltinTopicKey_t_uniq_>::copy (DDS::BuiltinTopicKey_t_slice *to, const DDS::BuiltinTopicKey_t_slice* from);
00210 template <>
00211 void DDS_DCPS_ArrayHelper < DDS::BuiltinTopicKey_t, DDS::BuiltinTopicKey_t_slice, DDS::BuiltinTopicKey_t_uniq_>::free (DDS::BuiltinTopicKey_t_slice *ptr);
00212
00213
00214
00215
00216 #endif