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_METHODCOMMAND_H 00036 #define SICK_SAFETYSCANNERS_COLA2_METHODCOMMAND_H 00037 00038 #include <sick_safetyscanners/cola2/Command.h> 00039 00040 namespace sick { 00041 namespace cola2 { 00042 00046 class MethodCommand : public Command 00047 { 00048 public: 00055 MethodCommand(Cola2Session& session, const uint16_t& method_index); 00056 00062 void addTelegramData(sick::datastructure::PacketBuffer::VectorBuffer& telegram) const; 00063 00070 bool canBeExecutedWithoutSessionID() const; 00071 00077 bool processReply(); 00078 00079 uint16_t getMethodIndex() const; 00080 void setMethodIndex(const uint16_t& method_index); 00081 00082 private: 00083 uint16_t m_method_index; 00084 std::shared_ptr<sick::data_processing::ReadWriteHelper> m_writer_ptr; 00085 }; 00086 00087 } // namespace cola2 00088 } // namespace sick 00089 00090 #endif // SICK_SAFETYSCANNERS_COLA2_METHODCOMMAND_H