Cat
IOdata.cpp
Go to the documentation of this file.
1 // $Id: $
2 // Include files
3 
4 
5 // local
6 #include "IOdata.h"
7 
8 //-----------------------------------------------------------------------------
9 // ImplementatI_On file for class : IOdata
10 //
11 // 2006-10-23 :
12 //-----------------------------------------------------------------------------
13 
14 //=============================================================================
15 // Standard constructor, initializes variables
16 //=============================================================================
18  setName("IO");
19  setType("IOdata");
21  m_dataU8=0;
22  m_dataU16=0;
23  m_dataU32=0;
24  m_address=0;
25  m_header=0;
26  m_subAddress=0;
27  m_length =0;
28  m_block =1;
30 }
31 //=============================================================================
32 // Destructor
33 //=============================================================================
35  clearDataU8();
36  clearDataU16();
37  clearDataU32();
38 }
39 
40 //=============================================================================
41 //
42 //=============================================================================
43 StatusCode IOdata::setU8(unsigned long int position, U8 value){
44  if (position>m_length-1){
45  warning("You cannot write at position "+itos(position)+".",
46  "IOdata::setU8");
47  return StatusCode::FAILURE;
48  }
49  if (0==m_dataU8){
50  warning("Data buffer not allocated. Data not stored.","IOdata::setU8");
51  return StatusCode::FAILURE;
52  }
53  m_dataU8[position]=value;
54  return StatusCode::SUCCESS;
55 }
56 
57 //=============================================================================
58 //
59 //=============================================================================
60 StatusCode IOdata::setU16(unsigned long int position, U16 value){
61  if (position>m_length-1){
62  warning("You cannot write at position "+itos(position)+".",
63  "IOdata::setU16");
64  return StatusCode::FAILURE;
65  }
66  if (0==m_dataU16){
67  warning("Data buffer not allocated. Data not stored.","IOdata::setU16");
68  return StatusCode::FAILURE;
69  }
70  m_dataU16[position]=value;
71  return StatusCode::SUCCESS;
72 }
73 
74 //=============================================================================
75 //
76 //=============================================================================
77 StatusCode IOdata::setU32(unsigned long int position, U32 value){
78  if (position>m_length-1){
79  warning("You cannot write at position "+itos(position)+".",
80  "IOdata::setU32");
81  return StatusCode::FAILURE;
82  }
83  if (0==m_dataU32){
84  warning("Data buffer not allocated. Data not stored.","IOdata::setU32");
85  return StatusCode::FAILURE;
86  }
87  m_dataU32[position]=value;
88  return StatusCode::SUCCESS;
89 }
90 
91 //=============================================================================
92 //
93 //=============================================================================
94 void IOdata::dump(unsigned int printout){
95  if (printout==0||printout>m_length) printout=m_length;
96  info("IO: "+name()+" ["+type()+"]","IOdata::dump");
97  info(" Address:"+itos(m_address)+
98  " SubAddress:"+itos(m_subAddress),
99  "IOdata::dump");
100  if (IOdata::Byte==m_wordSize&&0!=m_dataU8){
101  info(" Wordsize: Byte Length: "+itos(m_length),"IOdata::dump");
102  for (int i=0; i<printout; ++i){
103  info(itos(i)+": "+btos(itob(m_dataU8[i],8))+" -> "+
104  itos(m_dataU8[i]),"IOdata::dump");
105  }
106  }
108  info(" Wordsize: Word Length: "+itos(m_length),"IOdata::dump");
109  for (int i=0; i<printout; ++i){
110  info(itos(i)+": "+btos(itob(m_dataU16[i],16))+" -> "+
111  itos(m_dataU16[i]),"IOdata::dump");
112  }
113  }
115  info(" Wordsize: DWord Length: "+itos(m_length),"IOdata::dump");
116  for (int i=0; i<printout; ++i){
117  info(itos(i)+": "+btos(itob(m_dataU32[i],32))+" -> "+
118  itos(m_dataU32[i]),"IOdata::dump");
119  }
120  }
121 }
122 //=============================================================================
void info(std::string mymsg)
Definition: Object.h:38
std::string itos(int)
Definition: Tools.cpp:46
unsigned short U16
Definition: IOdata.h:20
unsigned long m_subAddress
Definition: IOdata.h:273
void add(int attribut)
Definition: Attrib.h:67
unsigned long m_header
Definition: IOdata.h:272
StatusCode setU8(unsigned long int, U8)
Definition: IOdata.cpp:43
void setName(std::string name)
Definition: Object.h:51
unsigned long m_length
Definition: IOdata.h:278
std::string btos(std::vector< bool >)
Definition: Tools.cpp:67
void dump(unsigned int printout=0)
Definition: IOdata.cpp:94
StatusCode setU16(unsigned long int, U16)
Definition: IOdata.cpp:60
U8 * m_dataU8
Definition: IOdata.h:280
unsigned long U32
Definition: IOdata.h:19
StatusCode setU32(unsigned long int, U32)
Definition: IOdata.cpp:77
std::vector< bool > itob(int, int)
Definition: Tools.cpp:77
void setType(std::string type)
Definition: Object.h:52
void clearDataU32()
Definition: IOdata.h:209
U32 * m_dataU32
Definition: IOdata.h:282
unsigned char U8
Definition: IOdata.h:21
void clearDataU16()
Definition: IOdata.h:205
IOdata()
Standard constructor.
Definition: IOdata.cpp:17
unsigned long m_block
Definition: IOdata.h:279
std::string name() const
Definition: Object.h:28
std::string type()
Definition: Object.h:29
void clearDataU8()
Definition: IOdata.h:200
unsigned long m_address
Definition: IOdata.h:271
void warning(std::string mymsg)
Definition: Object.h:39
virtual ~IOdata()
Destructor.
Definition: IOdata.cpp:34
U16 * m_dataU16
Definition: IOdata.h:281
IOdata::WordSize m_wordSize
Definition: IOdata.h:276