Program Listing for File TypeCode.h

Return to documentation for file (/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/datastructure/TypeCode.h)

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

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

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

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

#ifndef SICK_SAFETYSCANNERS_BASE_DATASTRUCTURE_TYPECODE_H
#define SICK_SAFETYSCANNERS_BASE_DATASTRUCTURE_TYPECODE_H

#include <iostream>

namespace sick {
namespace datastructure {

enum e_interface_type
{
  E_EFIPRO           = 0,
  E_ETHERNET_IP      = 1,
  E_PROFINET         = 3,
  E_NONSAFE_ETHERNET = 4
};

enum e_ranges
{
  E_NORMAL_RANGE = 40,
  E_LONG_RANGE   = 64
};

class TypeCode
{
public:
  TypeCode();

  std::string getTypeCode() const;
  void setTypeCode(const std::string& type_code);
  uint8_t getInterfaceType() const;
  void setInterfaceType(const uint8_t& interface_type);

  float getMaxRange() const;
  void setMaxRange(const float& max_distance);

private:
  std::string m_type_code;
  uint8_t m_interface_type;
  float m_max_range;
};

} // namespace datastructure
} // namespace sick

#endif // SICK_SAFETYSCANNERS_BASE_DATASTRUCTURE_TYPECODE_H