Program Listing for File ChangeCommSettingsCommand.h

Return to documentation for file (/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/cola2/ChangeCommSettingsCommand.h)

// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-

// -- BEGIN LICENSE BLOCK ----------------------------------------------

// -- END LICENSE BLOCK ------------------------------------------------

//----------------------------------------------------------------------
//----------------------------------------------------------------------


#ifndef SICK_SAFETYSCANNERS_BASE_COLA2_CHANGECOMMSETTINGSCOMMAND_H
#define SICK_SAFETYSCANNERS_BASE_COLA2_CHANGECOMMSETTINGSCOMMAND_H


#include "sick_safetyscanners_base/cola2/MethodCommand.h"
#include "sick_safetyscanners_base/datastructure/CommSettings.h"

namespace sick {
namespace cola2 {


class ChangeCommSettingsCommand : public MethodCommand
{
public:
  typedef sick::cola2::MethodCommand base_class;

  ChangeCommSettingsCommand(Cola2Session& session, const datastructure::CommSettings& settings);


  std::vector<uint8_t> addTelegramData(const std::vector<uint8_t>& telegram) const;


  bool canBeExecutedWithoutSessionID() const;


  bool processReply();


private:
  sick::datastructure::CommSettings m_settings;

  void writeDataToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeChannelToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeEnabledToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeEInterfaceTypeToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeIPAddresstoDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writePortToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeFrequencyToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeStartAngleToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeEndAngleToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
  void writeFeaturesToDataPtr(std::vector<uint8_t>::iterator data_ptr) const;
};

} // namespace cola2
} // namespace sick

#endif // SICK_SAFETYSCANNERS_BASE_COLA2_CHANGECOMMSETTINGSCOMMAND_H