00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _GSDFPACKETDCPS_H_
00012 #define _GSDFPACKETDCPS_H_
00013
00014 #include "sacpp_mapping.h"
00015 #include "sacpp_DDS_DCPS.h"
00016 #include "dds_dcps.h"
00017 #include "GSDFPacket.h"
00018
00019
00020 namespace opensplice_dds_comm
00021 {
00022
00023 class GSDFPacketTypeSupportInterface;
00024
00025 typedef GSDFPacketTypeSupportInterface * GSDFPacketTypeSupportInterface_ptr;
00026 typedef DDS_DCPSInterface_var < GSDFPacketTypeSupportInterface> GSDFPacketTypeSupportInterface_var;
00027 typedef DDS_DCPSInterface_out < GSDFPacketTypeSupportInterface> GSDFPacketTypeSupportInterface_out;
00028
00029
00030 class GSDFPacketDataWriter;
00031
00032 typedef GSDFPacketDataWriter * GSDFPacketDataWriter_ptr;
00033 typedef DDS_DCPSInterface_var < GSDFPacketDataWriter> GSDFPacketDataWriter_var;
00034 typedef DDS_DCPSInterface_out < GSDFPacketDataWriter> GSDFPacketDataWriter_out;
00035
00036
00037 class GSDFPacketDataReader;
00038
00039 typedef GSDFPacketDataReader * GSDFPacketDataReader_ptr;
00040 typedef DDS_DCPSInterface_var < GSDFPacketDataReader> GSDFPacketDataReader_var;
00041 typedef DDS_DCPSInterface_out < GSDFPacketDataReader> GSDFPacketDataReader_out;
00042
00043
00044 class GSDFPacketDataReaderView;
00045
00046 typedef GSDFPacketDataReaderView * GSDFPacketDataReaderView_ptr;
00047 typedef DDS_DCPSInterface_var < GSDFPacketDataReaderView> GSDFPacketDataReaderView_var;
00048 typedef DDS_DCPSInterface_out < GSDFPacketDataReaderView> GSDFPacketDataReaderView_out;
00049
00050 struct GSDFPacketSeq_uniq_ {};
00051 typedef DDS_DCPSUVLSeq < GSDFPacket, struct GSDFPacketSeq_uniq_> GSDFPacketSeq;
00052 typedef DDS_DCPSSequence_var < GSDFPacketSeq> GSDFPacketSeq_var;
00053 typedef DDS_DCPSSequence_out < GSDFPacketSeq> GSDFPacketSeq_out;
00054 class GSDFPacketTypeSupportInterface
00055 :
00056 virtual public DDS::TypeSupport
00057 {
00058 public:
00059 typedef GSDFPacketTypeSupportInterface_ptr _ptr_type;
00060 typedef GSDFPacketTypeSupportInterface_var _var_type;
00061
00062 static GSDFPacketTypeSupportInterface_ptr _duplicate (GSDFPacketTypeSupportInterface_ptr obj);
00063 DDS::Boolean _local_is_a (const char * id);
00064
00065 static GSDFPacketTypeSupportInterface_ptr _narrow (DDS::Object_ptr obj);
00066 static GSDFPacketTypeSupportInterface_ptr _unchecked_narrow (DDS::Object_ptr obj);
00067 static GSDFPacketTypeSupportInterface_ptr _nil () { return 0; }
00068 static const char * _local_id;
00069 GSDFPacketTypeSupportInterface_ptr _this () { return this; }
00070
00071
00072 protected:
00073 GSDFPacketTypeSupportInterface () {};
00074 ~GSDFPacketTypeSupportInterface () {};
00075 private:
00076 GSDFPacketTypeSupportInterface (const GSDFPacketTypeSupportInterface &);
00077 GSDFPacketTypeSupportInterface & operator = (const GSDFPacketTypeSupportInterface &);
00078 };
00079
00080 class GSDFPacketDataWriter
00081 :
00082 virtual public DDS::DataWriter
00083 {
00084 public:
00085 typedef GSDFPacketDataWriter_ptr _ptr_type;
00086 typedef GSDFPacketDataWriter_var _var_type;
00087
00088 static GSDFPacketDataWriter_ptr _duplicate (GSDFPacketDataWriter_ptr obj);
00089 DDS::Boolean _local_is_a (const char * id);
00090
00091 static GSDFPacketDataWriter_ptr _narrow (DDS::Object_ptr obj);
00092 static GSDFPacketDataWriter_ptr _unchecked_narrow (DDS::Object_ptr obj);
00093 static GSDFPacketDataWriter_ptr _nil () { return 0; }
00094 static const char * _local_id;
00095 GSDFPacketDataWriter_ptr _this () { return this; }
00096
00097 virtual DDS::LongLong register_instance (const GSDFPacket& instance_data) = 0;
00098 virtual DDS::LongLong register_instance_w_timestamp (const GSDFPacket& instance_data, const DDS::Time_t& source_timestamp) = 0;
00099 virtual DDS::Long unregister_instance (const GSDFPacket& instance_data, DDS::LongLong handle) = 0;
00100 virtual DDS::Long unregister_instance_w_timestamp (const GSDFPacket& instance_data, DDS::LongLong handle, const DDS::Time_t& source_timestamp) = 0;
00101 virtual DDS::Long write (const GSDFPacket& instance_data, DDS::LongLong handle) = 0;
00102 virtual DDS::Long write_w_timestamp (const GSDFPacket& instance_data, DDS::LongLong handle, const DDS::Time_t& source_timestamp) = 0;
00103 virtual DDS::Long dispose (const GSDFPacket& instance_data, DDS::LongLong handle) = 0;
00104 virtual DDS::Long dispose_w_timestamp (const GSDFPacket& instance_data, DDS::LongLong handle, const DDS::Time_t& source_timestamp) = 0;
00105 virtual DDS::Long writedispose (const GSDFPacket& instance_data, DDS::LongLong handle) = 0;
00106 virtual DDS::Long writedispose_w_timestamp (const GSDFPacket& instance_data, DDS::LongLong handle, const DDS::Time_t& source_timestamp) = 0;
00107 virtual DDS::Long get_key_value (GSDFPacket& key_holder, DDS::LongLong handle) = 0;
00108 virtual DDS::LongLong lookup_instance (const GSDFPacket& instance_data) = 0;
00109
00110 protected:
00111 GSDFPacketDataWriter () {};
00112 ~GSDFPacketDataWriter () {};
00113 private:
00114 GSDFPacketDataWriter (const GSDFPacketDataWriter &);
00115 GSDFPacketDataWriter & operator = (const GSDFPacketDataWriter &);
00116 };
00117
00118 class GSDFPacketDataReader
00119 :
00120 virtual public DDS::DataReader
00121 {
00122 public:
00123 typedef GSDFPacketDataReader_ptr _ptr_type;
00124 typedef GSDFPacketDataReader_var _var_type;
00125
00126 static GSDFPacketDataReader_ptr _duplicate (GSDFPacketDataReader_ptr obj);
00127 DDS::Boolean _local_is_a (const char * id);
00128
00129 static GSDFPacketDataReader_ptr _narrow (DDS::Object_ptr obj);
00130 static GSDFPacketDataReader_ptr _unchecked_narrow (DDS::Object_ptr obj);
00131 static GSDFPacketDataReader_ptr _nil () { return 0; }
00132 static const char * _local_id;
00133 GSDFPacketDataReader_ptr _this () { return this; }
00134
00135 virtual DDS::Long read (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00136 virtual DDS::Long take (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00137 virtual DDS::Long read_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00138 virtual DDS::Long take_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00139 virtual DDS::Long read_next_sample (GSDFPacket& received_data, DDS::SampleInfo& sample_info) = 0;
00140 virtual DDS::Long take_next_sample (GSDFPacket& received_data, DDS::SampleInfo& sample_info) = 0;
00141 virtual DDS::Long read_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00142 virtual DDS::Long take_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00143 virtual DDS::Long read_next_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00144 virtual DDS::Long take_next_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00145 virtual DDS::Long read_next_instance_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00146 virtual DDS::Long take_next_instance_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00147 virtual DDS::Long return_loan (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq) = 0;
00148 virtual DDS::Long get_key_value (GSDFPacket& key_holder, DDS::LongLong handle) = 0;
00149 virtual DDS::LongLong lookup_instance (const GSDFPacket& instance) = 0;
00150
00151 protected:
00152 GSDFPacketDataReader () {};
00153 ~GSDFPacketDataReader () {};
00154 private:
00155 GSDFPacketDataReader (const GSDFPacketDataReader &);
00156 GSDFPacketDataReader & operator = (const GSDFPacketDataReader &);
00157 };
00158
00159 class GSDFPacketDataReaderView
00160 :
00161 virtual public DDS::DataReaderView
00162 {
00163 public:
00164 typedef GSDFPacketDataReaderView_ptr _ptr_type;
00165 typedef GSDFPacketDataReaderView_var _var_type;
00166
00167 static GSDFPacketDataReaderView_ptr _duplicate (GSDFPacketDataReaderView_ptr obj);
00168 DDS::Boolean _local_is_a (const char * id);
00169
00170 static GSDFPacketDataReaderView_ptr _narrow (DDS::Object_ptr obj);
00171 static GSDFPacketDataReaderView_ptr _unchecked_narrow (DDS::Object_ptr obj);
00172 static GSDFPacketDataReaderView_ptr _nil () { return 0; }
00173 static const char * _local_id;
00174 GSDFPacketDataReaderView_ptr _this () { return this; }
00175
00176 virtual DDS::Long read (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00177 virtual DDS::Long take (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00178 virtual DDS::Long read_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00179 virtual DDS::Long take_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::ReadCondition_ptr a_condition) = 0;
00180 virtual DDS::Long read_next_sample (GSDFPacket& received_data, DDS::SampleInfo& sample_info) = 0;
00181 virtual DDS::Long take_next_sample (GSDFPacket& received_data, DDS::SampleInfo& sample_info) = 0;
00182 virtual DDS::Long read_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00183 virtual DDS::Long take_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00184 virtual DDS::Long read_next_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00185 virtual DDS::Long take_next_instance (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ULong sample_states, DDS::ULong view_states, DDS::ULong instance_states) = 0;
00186 virtual DDS::Long read_next_instance_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00187 virtual DDS::Long take_next_instance_w_condition (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq, DDS::Long max_samples, DDS::LongLong a_handle, DDS::ReadCondition_ptr a_condition) = 0;
00188 virtual DDS::Long return_loan (GSDFPacketSeq& received_data, DDS::SampleInfoSeq& info_seq) = 0;
00189 virtual DDS::Long get_key_value (GSDFPacket& key_holder, DDS::LongLong handle) = 0;
00190 virtual DDS::LongLong lookup_instance (const GSDFPacket& instance) = 0;
00191
00192 protected:
00193 GSDFPacketDataReaderView () {};
00194 ~GSDFPacketDataReaderView () {};
00195 private:
00196 GSDFPacketDataReaderView (const GSDFPacketDataReaderView &);
00197 GSDFPacketDataReaderView & operator = (const GSDFPacketDataReaderView &);
00198 };
00199
00200 }
00201
00202
00203
00204
00205 #endif