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_DATASTRUCTURE_COMMSETTINGS_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_COMMSETTINGS_H 00037 00038 #include <boost/asio/ip/address_v4.hpp> 00039 #include <iostream> 00040 #include <string> 00041 00042 namespace sick { 00043 namespace datastructure { 00044 00048 class CommSettings 00049 { 00050 public: 00054 CommSettings(); 00055 00061 boost::asio::ip::address_v4 getHostIp() const; 00067 void setHostIp(const boost::asio::ip::address_v4& host_ip); 00073 void setHostIp(const std::string& host_ip); 00074 00080 uint16_t getHostUdpPort() const; 00086 void setHostUdpPort(const uint16_t& host_udp_port); 00087 00093 uint8_t getChannel() const; 00099 void setChannel(const uint8_t& channel); 00100 00106 bool getEnabled() const; 00112 void setEnabled(bool enabled); 00113 00119 uint8_t getEInterfaceType() const; 00125 void setEInterfaceType(const uint8_t& e_interface_type); 00126 00132 uint16_t getPublishingFrequency() const; 00138 void setPublishingFrequency(const uint16_t& publishing_frequency); 00139 00145 uint32_t getStartAngle() const; 00151 void setStartAngle(const uint32_t& start_angle); 00152 00158 uint32_t getEndAngle() const; 00164 void setEndAngle(const uint32_t& end_angle); 00165 00171 uint16_t getFeatures() const; 00177 void setFeatures(const uint16_t& features); 00187 void setFeatures(const bool general_system_state, 00188 const bool derived_settings, 00189 const bool measurement_data, 00190 const bool intrusion_data, 00191 const bool application_data); 00192 00198 boost::asio::ip::address_v4 getSensorIp() const; 00204 void setSensorIp(const boost::asio::ip::address_v4& sensor_ip); 00205 00211 uint16_t getSensorTcpPort() const; 00217 void setSensorTcpPort(const uint16_t& sensor_tcp_port); 00223 void setSensorIp(const std::string& sensor_ip); 00224 00225 private: 00226 boost::asio::ip::address_v4 m_sensor_ip; 00227 uint16_t m_sensor_tcp_port; 00228 boost::asio::ip::address_v4 m_host_ip; 00229 uint16_t m_host_udp_port; 00230 uint8_t m_channel; 00231 bool m_enabled; 00232 uint8_t m_e_interface_type; 00233 uint16_t m_publishing_frequency; 00234 uint32_t m_start_angle; 00235 uint32_t m_end_angle; 00236 uint16_t m_features; 00237 }; 00238 00239 00240 } // namespace datastructure 00241 } // namespace sick 00242 00243 #endif // SICK_SAFETYSCANNERS_DATASTRUCTURE_COMMSETTINGS_H