00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 00003 // -- BEGIN LICENSE BLOCK ---------------------------------------------- 00004 00024 // -- END LICENSE BLOCK ------------------------------------------------ 00025 00026 //---------------------------------------------------------------------- 00033 //---------------------------------------------------------------------- 00034 00035 #ifndef SICK_SAFETYSCANNERS_DATASTRUCTURE_DATA_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_DATA_H 00037 00038 #include <memory> 00039 00040 #include <sick_safetyscanners/datastructure/ApplicationData.h> 00041 #include <sick_safetyscanners/datastructure/ApplicationInputs.h> 00042 #include <sick_safetyscanners/datastructure/ApplicationOutputs.h> 00043 #include <sick_safetyscanners/datastructure/DataHeader.h> 00044 #include <sick_safetyscanners/datastructure/DerivedValues.h> 00045 #include <sick_safetyscanners/datastructure/GeneralSystemState.h> 00046 #include <sick_safetyscanners/datastructure/IntrusionData.h> 00047 #include <sick_safetyscanners/datastructure/MeasurementData.h> 00048 00049 namespace sick { 00050 namespace datastructure { 00051 00055 class Data 00056 { 00057 public: 00061 Data(); 00062 00068 std::shared_ptr<DataHeader> getDataHeaderPtr() const; 00074 void setDataHeaderPtr(const std::shared_ptr<DataHeader>& data_header_ptr); 00075 00081 std::shared_ptr<GeneralSystemState> getGeneralSystemStatePtr() const; 00082 void 00088 setGeneralSystemStatePtr(const std::shared_ptr<GeneralSystemState>& general_system_state_ptr); 00089 00095 std::shared_ptr<DerivedValues> getDerivedValuesPtr() const; 00101 void setDerivedValuesPtr(const std::shared_ptr<DerivedValues>& derived_values_ptr); 00102 00108 std::shared_ptr<MeasurementData> getMeasurementDataPtr() const; 00114 void setMeasurementDataPtr(const std::shared_ptr<MeasurementData>& measurement_data_ptr); 00115 00121 std::shared_ptr<IntrusionData> getIntrusionDataPtr() const; 00127 void setIntrusionDataPtr(const std::shared_ptr<IntrusionData>& intrusion_data_ptr); 00128 00134 std::shared_ptr<ApplicationData> getApplicationDataPtr() const; 00140 void setApplicationDataPtr(const std::shared_ptr<ApplicationData>& application_data_ptr); 00141 00142 private: 00143 std::shared_ptr<DataHeader> m_data_header_ptr; 00144 std::shared_ptr<GeneralSystemState> m_general_system_state_ptr; 00145 std::shared_ptr<DerivedValues> m_derived_values_ptr; 00146 std::shared_ptr<MeasurementData> m_measurement_data_ptr; 00147 std::shared_ptr<IntrusionData> m_intrusion_data_ptr; 00148 std::shared_ptr<ApplicationData> m_application_data_ptr; 00149 }; 00150 00151 } // namespace datastructure 00152 } // namespace sick 00153 00154 #endif