Cat
IOdata.h
Go to the documentation of this file.
1 // $Id: $
2 #ifndef INC_IODATA_H
3 #define INC_IODATA_H 1
4 
5 // Include files
6 #include "StatusCode.h"
7 #include "Object.h"
8 
17 class IOdata : public Object {
18 public:
19  typedef unsigned long U32;
20  typedef unsigned short U16;
21  typedef unsigned char U8;
22 
23  enum Mode {
24  Rd,
25  Wr,
27  };
28 
29  enum WordSize{
33  };
34 
35  enum Bus{
36  USB,
38  I2C,
41  };
42 
44  IOdata( );
45 
46  virtual ~IOdata( );
47 
53  return StatusCode::SUCCESS;
54  }
55 
59  U32 address(){
60  return m_address;
61  }
62 
68  return StatusCode::SUCCESS;
69  }
70 
74  U32 header(){
75  return m_header;
76  }
77 
83  return StatusCode::SUCCESS;
84  }
85 
89  U32 subAddress(){
90  return m_subAddress;
91  }
92 
98  return StatusCode::SUCCESS;
99  }
100 
105  return m_outputSelect;
106  }
107 
112  m_mode=mode;
113  return StatusCode::SUCCESS;
114  }
115 
120  return m_mode;
121  }
122 
128  return StatusCode::SUCCESS;
129  }
134  return m_wordSize;
135  }
136 
141  m_bus=bus;
142  return StatusCode::SUCCESS;
143  }
148  return m_bus;
149  }
150 
156  return StatusCode::SUCCESS;
157  }
162  U32 block(){
163  return m_block;
164  }
169  m_block=block;
170  return StatusCode::SUCCESS;
171  }
175  U32 length(){
176  return m_length;
177  }
178 
179  void defDataU8(unsigned long size){
180  m_length=size;
181  clearDataU8();
182  m_dataU8=new U8[size];
184  }
185 
186  void defDataU16(unsigned long size){
187  m_length=size;
188  clearDataU16();
189  m_dataU16=new U16[size];
191  }
192 
193  void defDataU32(unsigned long size){
194  m_length=size;
195  clearDataU32();
196  m_dataU32=new U32[size];
198  }
199 
200  void clearDataU8(){
201  if (0!=m_dataU8) delete [] m_dataU8;
202  m_dataU8=0;
203  }
204 
205  void clearDataU16(){
206  if (0!=m_dataU16) delete [] m_dataU16;
207  m_dataU16=0;
208  }
209  void clearDataU32(){
210  if (0!=m_dataU32) delete [] m_dataU32;
211  m_dataU32=0;
212  }
213 
214  U8* dataU8(){
215  return m_dataU8;
216  }
217 
218  U16* dataU16(){
219  return m_dataU16;
220  }
221 
222  U32* dataU32(){
223  return m_dataU32;
224  }
225 
226 
227  unsigned long int dataU8(unsigned long int i){
228  return m_dataU8[i];
229  }
230 
231  unsigned long int dataU16(unsigned long int i){
232  return m_dataU16[i];
233  }
234 
235  unsigned long int dataU32(unsigned long int i){
236  return m_dataU32[i];
237  }
238 
239  void setDataU8(U8* data, U32 length){
240 // clearDataU8();
241  m_dataU8=data;
244  }
245 
246  void setDataU16(U16* data, U32 length){
247 // clearDataU16();
248  m_dataU16=data;
251  }
252 
253  void setDataU32(U32* data, U32 length){
254 // clearDataU32();
255  m_dataU32=data;
258  }
259 
260  StatusCode setU8(unsigned long int, U8);
261 
262  StatusCode setU16(unsigned long int, U16);
263 
264  StatusCode setU32(unsigned long int, U32);
265 
266  void dump(unsigned int printout=0);
267 
268 protected:
269 
270 private:
271  unsigned long m_address;
272  unsigned long m_header;
273  unsigned long m_subAddress;
274  unsigned long m_outputSelect;
278  unsigned long m_length;
279  unsigned long m_block;
280  U8 *m_dataU8;
281  U16 *m_dataU16;
282  U32 *m_dataU32;
283 };
284 #endif // INC_IODATA_H
Definition: Object.h:21
U32 outputSelect()
Definition: IOdata.h:104
unsigned short U16
Definition: IOdata.h:20
void defDataU32(unsigned long size)
Definition: IOdata.h:193
def size
Definition: cat.py:38
U32 address()
Definition: IOdata.h:59
unsigned long m_subAddress
Definition: IOdata.h:273
U32 header()
Definition: IOdata.h:74
IOdata::Mode mode()
Definition: IOdata.h:119
unsigned long m_header
Definition: IOdata.h:272
StatusCode setU8(unsigned long int, U8)
Definition: IOdata.cpp:43
unsigned long m_length
Definition: IOdata.h:278
void defDataU16(unsigned long size)
Definition: IOdata.h:186
void setDataU16(U16 *data, U32 length)
Definition: IOdata.h:246
void dump(unsigned int printout=0)
Definition: IOdata.cpp:94
unsigned long m_outputSelect
Definition: IOdata.h:274
StatusCode setU16(unsigned long int, U16)
Definition: IOdata.cpp:60
U8 * m_dataU8
Definition: IOdata.h:280
unsigned long int dataU8(unsigned long int i)
Definition: IOdata.h:227
unsigned long U32
Definition: IOdata.h:19
U32 block()
Definition: IOdata.h:162
U32 * dataU32()
Definition: IOdata.h:222
IOdata::Bus m_bus
Definition: IOdata.h:277
StatusCode setU32(unsigned long int, U32)
Definition: IOdata.cpp:77
unsigned long int dataU16(unsigned long int i)
Definition: IOdata.h:231
def data(object, stream=None)
Definition: shell.py:150
StatusCode setAddress(U32 address)
Definition: IOdata.h:51
StatusCode setOutputSelect(U32 outputSelect)
Definition: IOdata.h:96
void clearDataU32()
Definition: IOdata.h:209
U32 * m_dataU32
Definition: IOdata.h:282
StatusCode setHeader(U32 header)
Definition: IOdata.h:66
unsigned char U8
Definition: IOdata.h:21
StatusCode setLength(U32 length)
Definition: IOdata.h:154
U32 length()
Definition: IOdata.h:175
Definition: IOdata.h:17
U16 * dataU16()
Definition: IOdata.h:218
void clearDataU16()
Definition: IOdata.h:205
IOdata()
Standard constructor.
Definition: IOdata.cpp:17
StatusCode setSubAddress(U32 subAddress)
Definition: IOdata.h:81
unsigned long m_block
Definition: IOdata.h:279
unsigned long int dataU32(unsigned long int i)
Definition: IOdata.h:235
U8 * dataU8()
Definition: IOdata.h:214
StatusCode setBus(IOdata::Bus bus)
Definition: IOdata.h:140
IOdata::Mode m_mode
Definition: IOdata.h:275
Bus
Definition: IOdata.h:35
void setDataU8(U8 *data, U32 length)
Definition: IOdata.h:239
StatusCode setWordSize(IOdata::WordSize wordSize)
Definition: IOdata.h:126
void clearDataU8()
Definition: IOdata.h:200
unsigned long m_address
Definition: IOdata.h:271
void defDataU8(unsigned long size)
Definition: IOdata.h:179
void setDataU32(U32 *data, U32 length)
Definition: IOdata.h:253
Mode
Definition: IOdata.h:23
U32 subAddress()
Definition: IOdata.h:89
virtual ~IOdata()
Destructor.
Definition: IOdata.cpp:34
StatusCode setBlock(U32 block)
Definition: IOdata.h:168
IOdata::WordSize wordSize()
Definition: IOdata.h:133
StatusCode setMode(IOdata::Mode mode)
Definition: IOdata.h:111
WordSize
Definition: IOdata.h:29
IOdata::Bus bus()
Definition: IOdata.h:147
U16 * m_dataU16
Definition: IOdata.h:281
IOdata::WordSize m_wordSize
Definition: IOdata.h:276