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 #include <sick_safetyscanners/cola2/DeviceNameVariableCommand.h> 00036 00037 #include <sick_safetyscanners/cola2/Cola2Session.h> 00038 #include <sick_safetyscanners/cola2/Command.h> 00039 00040 namespace sick { 00041 namespace cola2 { 00042 00043 DeviceNameVariableCommand::DeviceNameVariableCommand(Cola2Session& session, 00044 std::string& device_name) 00045 : VariableCommand(session, 17) 00046 , m_device_name(device_name) 00047 { 00048 m_writer_ptr = std::make_shared<sick::data_processing::ReadWriteHelper>(); 00049 m_device_name_parser_ptr = std::make_shared<sick::data_processing::ParseDeviceName>(); 00050 } 00051 00052 void DeviceNameVariableCommand::addTelegramData( 00053 sick::datastructure::PacketBuffer::VectorBuffer& telegram) const 00054 { 00055 base_class::addTelegramData(telegram); 00056 } 00057 00058 bool DeviceNameVariableCommand::canBeExecutedWithoutSessionID() const 00059 { 00060 return true; 00061 } 00062 00063 bool DeviceNameVariableCommand::processReply() 00064 { 00065 if (!base_class::processReply()) 00066 { 00067 return false; 00068 } 00069 00070 m_device_name_parser_ptr->parseTCPSequence(getDataVector(), m_device_name); 00071 00072 00073 return true; 00074 } 00075 00076 00077 } // namespace cola2 00078 } // namespace sick