#ifndef __BASE_SENSOR_GROUPS_H_INCLUDED_
#define __BASE_SENSOR_GROUPS_H_INCLUDED_

namespace models
{
  enum SensorState
  {
    Normal,
    Warn,
    Error,
    NotActive,
  };

class BaseSensorGroups 
{
public:
  /**
   * @brief  Constructs 
   * @param name The name to give this instance of the model base
  */
  virtual void initialize(ros::NodeHandle & nh, const std::string &name) = 0;

  /**
   * @brief Get state from sensors
  */
  virtual models::SensorState State() = 0;

  /**
   * @brief Get bit logic get from sensor
  */
  virtual bool Get() = 0;

  /**
   * @brief Decontructor
  */
  virtual ~BaseSensorGroups() {}
  
protected:
  /**
   * @brief Contructor
  */
  BaseSensorGroups() {}

}; // class BaseSensorGroups 

} // namespace models

#endif