My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
DataFrameManager.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_DATAFRAMEMANAGER_H
2 #define GCP_UTIL_DATAFRAMEMANAGER_H
3 
11 #include "gcp/util/common/DataFrame.h"
12 #include "gcp/util/common/DataType.h"
13 #include "gcp/util/common/Exception.h"
14 #include "gcp/util/common/Mutex.h"
15 
16 namespace gcp {
17  namespace util {
18 
24 
25  public:
26 
31  DataFrameManager(unsigned nBuffer);
34 
38  virtual ~DataFrameManager();
39 
43  void resize(unsigned int nBuffer);
44 
48  void pack(unsigned int* data, unsigned int ndata,
49  int startIndex=-1);
50 
54  void pack(unsigned long* data, unsigned int ndata,
55  int startIndex=-1);
56 
60  void pack(float* data, unsigned int ndata,
61  int startIndex=-1);
62 
66  void pack(DataFrame* frame, int startIndex);
67 
71  void fillBuffer(unsigned char val, unsigned int ndata);
72 
76  void fillBuffer(unsigned char val);
77 
81  void setErrorStatus(bool wasError);
82 
86  DataFrame* frame();
87 
94  void unpack(unsigned char* data, unsigned int ndata);
95 
101  void unpack(unsigned char* data);
102 
106  void advance(unsigned ndata);
107 
112  virtual void reinitialize();
113 
117  void lock();
118 
122  void unlock();
123 
128  virtual unsigned int getId() {
129  return 0;
130  };
131 
136  unsigned byteOffsetInFrameOfData();
137 
141  unsigned sizeInBytes();
142 
147  unsigned sizeInBytesOfData();
148 
152  virtual void operator=(DataFrameManager& fm);
153 
154  protected:
155 
156  gcp::util::DataFrame* frame_;// The data frame managed by this object
157 
158  bool dataIsInitialized_; // False until the DataFrame buffer
159  // has been allocated
160  unsigned currentIndex_; // Current index into the DataFrame
161  // buffer
162  unsigned nBuffer_; // The number of bytes in the buffer
163  unsigned nUsed_; // The number of bytes used
164 
165  private:
166 
170  void pack(void* data, unsigned int ndata, DataType::Type type,
171  int startIndex=-1);
172 
176  void initialize();
177 
178  }; // End class DataFrameManager
179 
180  } // End namespace util
181 } // End namespace gcp
182 
183 
184 #endif // End #ifndef
void fillBuffer(unsigned char val, unsigned int ndata)
DataFrameManager()
Definition: DataFrameManager.cc:30
void unlock()
Definition: DataFrameManager.cc:414
void resize(unsigned int nBuffer)
Definition: DataFrameManager.cc:100
virtual ~DataFrameManager()
Definition: DataFrameManager.cc:89
virtual unsigned int getId()
Definition: DataFrameManager.h:128
Definition: DataFrame.h:27
void lock()
Definition: DataFrameManager.cc:406
unsigned byteOffsetInFrameOfData()
Definition: DataFrameManager.cc:447
void pack(unsigned int *data, unsigned int ndata, int startIndex=-1)
void advance(unsigned ndata)
Definition: DataFrameManager.cc:274
unsigned sizeInBytes()
Definition: DataFrameManager.cc:456
virtual void operator=(DataFrameManager &fm)
Definition: DataFrameManager.cc:474
DataFrame * frame()
Definition: DataFrameManager.cc:384
void setErrorStatus(bool wasError)
Definition: DataFrameManager.cc:361
Definition: DataFrameManager.h:23
virtual void reinitialize()
Definition: DataFrameManager.cc:392
void unpack(unsigned char *data, unsigned int ndata)
unsigned sizeInBytesOfData()
Definition: DataFrameManager.cc:466