SeaBreeze
DataBufferFeatureInterface.h
Go to the documentation of this file.
1 /***************************************************/
30 #ifndef DATABUFFERFEATUREINTERFACE_H
31 #define DATABUFFERFEATUREINTERFACE_H
32 
34 #include "common/buses/Bus.h"
36 
37 namespace seabreeze {
38 
39  typedef unsigned char DataBufferIndex_t;
40  typedef DataBufferIndex_t DataBufferCount_t;
41  typedef unsigned long DataBufferElementCount_t;
42 
44  public:
45  virtual ~DataBufferFeatureInterface() = 0;
46 
47  virtual DataBufferCount_t getNumberOfBuffers() = 0;
48  virtual void clearBuffer(const Protocol &protocol, const Bus &bus,
49  const DataBufferIndex_t bufferIndex) throw (FeatureException) = 0;
50  virtual DataBufferElementCount_t getBufferCapacity(const Protocol &protocol,
51  const Bus &bus, const DataBufferIndex_t bufferIndex)
52  throw (FeatureException) = 0;
53  virtual DataBufferElementCount_t getBufferCapacityMaximum(
54  const Protocol &protocol, const Bus &bus,
55  const DataBufferIndex_t bufferIndex) throw (FeatureException) = 0;
56  virtual DataBufferElementCount_t getBufferCapacityMinimum(
57  const Protocol &protocol, const Bus &bus,
58  const DataBufferIndex_t bufferIndex) throw (FeatureException) = 0;
59  virtual DataBufferElementCount_t getNumberOfElements(
60  const Protocol &protocol, const Bus &bus,
61  const DataBufferIndex_t bufferIndex) throw (FeatureException) = 0;
62  virtual void setBufferCapacity(const Protocol &protocol, const Bus &bus,
63  const DataBufferIndex_t bufferIndex,
64  const DataBufferElementCount_t bufferSize)
65  throw (FeatureException) = 0;
66  };
67 
68  /* Default implementation for (otherwise) pure virtual destructor */
69  inline DataBufferFeatureInterface::~DataBufferFeatureInterface() {}
70 
71 } /* end namespace */
72 
73 
74 #endif /* DATABUFFERFEATUREINTERFACE_H */
75 
Definition: Protocol.h:44
Definition: FeatureException.h:43
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42
Definition: DataBufferFeatureInterface.h:43