SeaBreeze
LightSourceFeatureInterface.h
Go to the documentation of this file.
1 /***************************************************/
30 #ifndef LIGHTSOURCEFEATUREINTERFACE_H
31 #define LIGHTSOURCEFEATUREINTERFACE_H
32 
35 #include "common/buses/Bus.h"
37 
38 namespace seabreeze {
39 
41  public:
42  virtual ~LightSourceFeatureInterface() = 0;
43 
44  virtual int getLightSourceCount(const Protocol &protocol,
45  const Bus &bus) throw (FeatureException) = 0;
46 
47  virtual bool hasLightSourceEnable(const Protocol &protocol,
48  const Bus &bus, int lightSourceIndex) throw (FeatureException) = 0;
49 
50  virtual bool isLightSourceEnabled(const Protocol &protocol,
51  const Bus &bus, int lightSourceIndex) throw (FeatureException) = 0;
52 
53  virtual void setLightSourceEnable(const Protocol &protocol,
54  const Bus &bus, int lightSourceIndex, bool enable) throw (FeatureException) = 0;
55 
56  virtual bool hasVariableIntensity(const Protocol &protocol,
57  const Bus &bus, int lightSourceIndex) throw (FeatureException) = 0;
58 
59  virtual double getLightSourceIntensity(const Protocol &protocol,
60  const Bus &bus, int lightSourceIndex) throw (FeatureException) = 0;
61 
62  virtual void setLightSourceIntensity(const Protocol &protocol,
63  const Bus &bus, int lightSourceIndex, double intensity) throw (FeatureException) = 0;
64 
65  };
66 
67  /* Default implementation for (otherwise) pure virtual destructor */
68  inline LightSourceFeatureInterface::~LightSourceFeatureInterface() {}
69 
70 }
71 
72 #endif /* LIGHTSOURCEFEATUREINTERFACE_H */
Definition: Protocol.h:44
Definition: LightSourceFeatureInterface.h:40
Definition: FeatureException.h:43
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42