SeaBreeze
AcquisitionDelayFeature.h
Go to the documentation of this file.
1 /***************************************************/
30 #ifndef ACQUISITION_DELAY_FEATURE_H
31 #define ACQUISITION_DELAY_FEATURE_H
32 
35 #include "common/buses/Bus.h"
38 
39 namespace seabreeze {
40 
43  public:
44  AcquisitionDelayFeature(std::vector<ProtocolHelper *> helpers);
45  virtual ~AcquisitionDelayFeature();
46 
47  virtual void setAcquisitionDelayMicroseconds(
48  const Protocol &protocol, const Bus &bus,
49  const unsigned long delayMicros)
50  throw (FeatureException);
51 
52  virtual unsigned long getAcquisitionDelayMicroseconds(
53  const Protocol &protocol, const Bus &bus)
54  throw (FeatureException);
55 
56  /* Overriding from Feature */
57  virtual FeatureFamily getFeatureFamily();
58 
59  /* Methods that remain pure virtual since the protocol interface does
60  * not necessarily provide clean methods for these. A derived
61  * class will be necessary to specify the limits.
62  */
63  virtual unsigned long getAcquisitionDelayIncrementMicroseconds(
64  const Protocol &protocol, const Bus &bus)
65  throw (FeatureException) = 0;
66  virtual unsigned long getAcquisitionDelayMaximumMicroseconds(
67  const Protocol &protocol, const Bus &bus)
68  throw (FeatureException) = 0;
69  virtual unsigned long getAcquisitionDelayMinimumMicroseconds(
70  const Protocol &protocol, const Bus &bus)
71  throw (FeatureException) = 0;
72 
73  protected:
74  unsigned long lastAcquisitionDelayMicroseconds;
75  bool lastAcquisitionDelayValid;
76  };
77 
78 } /* end namespace seabreeze */
79 
80 #endif /* ACQUISITION_DELAY_FEATURE_H */
81 
Definition: Protocol.h:44
Definition: FeatureImpl.h:54
Definition: FeatureFamily.h:39
Definition: FeatureException.h:43
Definition: AcquisitionDelayFeature.h:41
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42
Definition: AcquisitionDelayFeatureInterface.h:40