CARMA C++
IPQinterface.h
1 #ifndef CARMA_UTIL_IPQINTERFACE_H
2 #define CARMA_UTIL_IPQINTERFACE_H
3 
4 #include <string>
5 
6 namespace carma {
7 namespace util {
8 
9 class IPQinterface {
10 public:
11 
18  virtual ~IPQinterface() = 0; // Must provide empty definition (in cc).
19 
23  virtual ::std::string getFileName( ) const = 0;
24 
31  virtual int getQueueSize() const = 0;
32 
37  virtual int getElementSize() const = 0;
38 
44  virtual int getNumAvailable() const = 0;
45 
50  virtual bool isEmpty() const = 0;
51 
57  virtual bool isDataAvailable() const = 0;
58 
62  virtual void setNoneAvailable() = 0;
63 
75  virtual unsigned int read() = 0;
76 
87  virtual bool readNewest() = 0;
88 
99  virtual bool readNewestConditionalCopy() = 0;
100 
107  virtual unsigned int getLostElementCount() const = 0;
108 
109  virtual unsigned int getPutOffset() const = 0;
110  virtual unsigned int getGetOffset() const = 0;
111  virtual unsigned int getMaxOffset() const = 0;
112 
113 protected:
114 
120  virtual void write() = 0;
121 
122 private:
123 }; // class IPQinterface
124 
125 }} // namespace carma::util
126 
127 #endif