SeaBreeze
LightSourceFeatureBase.h
Go to the documentation of this file.
1 /***************************************************/
30 #ifndef LIGHTSOURCEFEATUREBASE_H
31 #define LIGHTSOURCEFEATUREBASE_H
32 
35 #include "common/buses/Bus.h"
38 
39 namespace seabreeze {
40 
43  public:
44  LightSourceFeatureBase(std::vector<ProtocolHelper *> helpers, int lampModuleIndex);
45  virtual ~LightSourceFeatureBase();
46 
47  /* Enable controls */
48  virtual bool hasLightSourceEnable(const Protocol &protocol,
49  const Bus &bus, int lightSourceIndex) throw (FeatureException);
50 
51  virtual bool isLightSourceEnabled(const Protocol &protocol,
52  const Bus &bus, int lightSourceIndex) throw (FeatureException);
53 
54  virtual void setLightSourceEnable(const Protocol &protocol,
55  const Bus &bus, int lightSourceIndex, bool enable) throw (FeatureException);
56 
57  /* Intensity controls */
58  virtual bool hasVariableIntensity(const Protocol &protocol,
59  const Bus &bus, int lightSourceIndex) throw (FeatureException);
60 
61  virtual double getLightSourceIntensity(const Protocol &protocol,
62  const Bus &bus, int lightSourceIndex) throw (FeatureException);
63 
64  virtual void setLightSourceIntensity(const Protocol &protocol,
65  const Bus &bus, int lightSourceIndex, double intensity) throw (FeatureException);
66 
67  /* Overriding from Feature */
68  virtual FeatureFamily getFeatureFamily();
69 
70  protected:
71  int moduleIndex;
72  };
73 
74 }
75 
76 #endif /* LIGHTSOURCEFEATUREBASE_H */
Definition: LightSourceFeatureBase.h:41
Definition: Protocol.h:44
Definition: LightSourceFeatureInterface.h:40
Definition: FeatureImpl.h:54
Definition: FeatureFamily.h:39
Definition: FeatureException.h:43
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42