SeaBreeze
ThermoElectricFeatureBase.h
Go to the documentation of this file.
1 /***************************************************/
37 #ifndef THERMOELECTRICFEATUREBASE_H
38 #define THERMOELECTRICFEATUREBASE_H
39 
40 #include "common/buses/Bus.h"
47 
48 namespace seabreeze {
49 
52  public:
54  virtual ~ThermoElectricFeatureBase();
55  virtual void setThermoElectricEnable(const Protocol &protocol,
56  const Bus &bus, bool enable) throw (FeatureException);
57  virtual double getTemperatureCelsius(const Protocol &protocol,
58  const Bus &bus) throw (FeatureException);
59  virtual void setTemperatureSetPointCelsius(const Protocol &protocol,
60  const Bus &bus, double degreesC)
62 
63  /* These remain abstract because the limits of any given device will
64  * depend on its implementation. They will either need to be hardcoded
65  * into the implementation or be queried from the device.
66  */
67  virtual double getDefaultSetPointCelsius(const Protocol &protocol,
68  const Bus &bus) throw (FeatureException) = 0;
69  virtual bool getDefaultThermoElectricEnable(const Protocol &protocol,
70  const Bus &bus) throw (FeatureException) = 0;
71 
72  /* Inherited from Feature */
73  /* This is still abstract in case the device needs to do anything
74  * special with regards to defaults when it is initialized.
75  */
76  virtual bool initialize(const Protocol &protocol, const Bus &bus)
77  throw (FeatureException) = 0;
78 
79  virtual FeatureFamily getFeatureFamily();
80  };
81 
82 }
83 
84 #endif /* THERMOELECTRICFEATUREBASE_H */
Definition: ThermoElectricFeatureBase.h:50
Definition: Protocol.h:44
Definition: FeatureImpl.h:54
Definition: FeatureFamily.h:39
Definition: ThermoElectricFeatureInterface.h:43
Definition: FeatureException.h:43
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42
Definition: IllegalArgumentException.h:43