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_DEVICENAMEVARIABLECOMMAND_H 00036 #define SICK_SAFETYSCANNERS_COLA2_DEVICENAMEVARIABLECOMMAND_H 00037 00038 #include <string> 00039 00040 #include <sick_safetyscanners/cola2/VariableCommand.h> 00041 #include <sick_safetyscanners/data_processing/ParseDeviceName.h> 00042 #include <sick_safetyscanners/datastructure/CommSettings.h> 00043 00044 namespace sick { 00045 namespace cola2 { 00046 00047 class DeviceNameVariableCommand : public VariableCommand 00048 { 00049 public: 00053 typedef sick::cola2::VariableCommand base_class; 00054 00062 DeviceNameVariableCommand(Cola2Session& session, std::string& device_name); 00063 00069 void addTelegramData(sick::datastructure::PacketBuffer::VectorBuffer& telegram) const; 00070 00077 bool canBeExecutedWithoutSessionID() const; 00078 00084 bool processReply(); 00085 00086 00087 private: 00088 std::shared_ptr<sick::data_processing::ReadWriteHelper> m_writer_ptr; 00089 std::shared_ptr<sick::data_processing::ParseDeviceName> m_device_name_parser_ptr; 00090 00091 std::string& m_device_name; 00092 }; 00093 00094 } // namespace cola2 00095 } // namespace sick 00096 00097 #endif // SICK_SAFETYSCANNERS_COLA2_DEVICENAMEVARIABLECOMMAND_H