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