SeaBreeze
ProgrammableSaturationFeature.h
Go to the documentation of this file.
1 /***************************************************/
30 #ifndef PROGRAMMABLESATURATIONFEATURE_H
31 #define PROGRAMMABLESATURATIONFEATURE_H
32 
35 #include <vector>
36 
37 namespace seabreeze {
38  /* ProgrammableSaturationFeature might be implemented by extending another
39  * Feature, so this needs to use virtual inheritance to solve the
40  * diamond problem.
41  */
42  class ProgrammableSaturationFeature : public virtual Feature,
44 
45  public:
48 
49  virtual unsigned int getSaturation() throw (FeatureException) = 0;
50 
51  /* Overriding from Feature */
52  virtual bool initialize(const Protocol &protocol, const Bus &bus)
53  throw (FeatureException) = 0;
54 
55  virtual FeatureFamily getFeatureFamily() = 0;
56  };
57 
58 } /* end namespace seabreeze */
59 
60 #endif /* PROGRAMMABLESATURATIONFEATURE_H */
Definition: ProgrammableSaturationFeature.h:42
Definition: Protocol.h:44
Definition: FeatureFamily.h:39
Definition: ProgrammableSaturationFeatureInterface.h:37
Definition: FeatureException.h:43
Definition: Feature.h:51
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42