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_COLA2_MEASUREMENTPERSISTENTCONFIGVARIABLECOMMAND_H 00036 #define SICK_SAFETYSCANNERS_COLA2_MEASUREMENTPERSISTENTCONFIGVARIABLECOMMAND_H 00037 00038 00039 #include <sick_safetyscanners/cola2/VariableCommand.h> 00040 #include <sick_safetyscanners/data_processing/ParseMeasurementPersistentConfigData.h> 00041 #include <sick_safetyscanners/datastructure/CommSettings.h> 00042 00043 namespace sick { 00044 namespace cola2 { 00045 00049 class MeasurementPersistentConfigVariableCommand : public VariableCommand 00050 { 00051 public: 00055 typedef sick::cola2::VariableCommand base_class; 00056 00067 MeasurementPersistentConfigVariableCommand(Cola2Session& session, 00068 datastructure::ConfigData& config_data); 00069 00075 void addTelegramData(sick::datastructure::PacketBuffer::VectorBuffer& telegram) const; 00076 00083 bool canBeExecutedWithoutSessionID() const; 00084 00090 bool processReply(); 00091 00092 00093 private: 00094 std::shared_ptr<sick::data_processing::ReadWriteHelper> m_writer_ptr; 00095 std::shared_ptr<sick::data_processing::ParseMeasurementPersistentConfigData> 00096 m_measurement_persistent_config_parser_ptr; 00097 00098 sick::datastructure::ConfigData& m_config_data; 00099 }; 00100 00101 } // namespace cola2 00102 } // namespace sick 00103 00104 #endif // SICK_SAFETYSCANNERS_COLA2_MEASUREMENTPERSISTENTCONFIGVARIABLECOMMAND_H