2 BCU SDK bcu development enviroment
3 Copyright (C) 2005-2011 Martin Koegler <mkoegler@auto.tuwien.ac.at>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25 String
HexDump (CArray data
);
47 virtual ~ STR_Stream ()
50 static STR_Stream
*fromArray (const CArray
& c
);
51 virtual bool init (const CArray
& str
) = 0;
52 virtual CArray
toArray () = 0;
53 virtual STR_Type
getType () = 0;
54 virtual String
decode () = 0;
57 class STR_Invalid
:public STR_Stream
63 bool init (const CArray
& str
);
72 class STR_Unknown
:public STR_Stream
79 bool init (const CArray
& str
);
88 class STR_BCUType
:public STR_Stream
94 bool init (const CArray
& str
);
102 class STR_Code
:public STR_Stream
108 bool init (const CArray
& str
);
116 class STR_StringParameter
:public STR_Stream
123 STR_StringParameter ();
124 bool init (const CArray
& str
);
128 return S_StringParameter
;
132 class STR_ListParameter
:public STR_Stream
137 Array
< String
> elements
;
139 STR_ListParameter ();
140 bool init (const CArray
& str
);
144 return S_ListParameter
;
148 class STR_IntParameter
:public STR_Stream
156 bool init (const CArray
& str
);
160 return S_IntParameter
;
164 class STR_FloatParameter
:public STR_Stream
170 STR_FloatParameter ();
171 bool init (const CArray
& str
);
175 return S_FloatParameter
;
179 class STR_GroupObject
:public STR_Stream
186 bool init (const CArray
& str
);
190 return S_GroupObject
;
194 class STR_BCU1Size
:public STR_Stream
203 bool init (const CArray
& str
);
211 class STR_BCU2Size
:public STR_Stream
216 uint16_t lo_datasize
;
218 uint16_t hi_datasize
;
222 bool init (const CArray
& str
);
230 class STR_BCU2Start
:public STR_Stream
233 uint16_t addrtab_start
;
234 uint16_t addrtab_size
;
235 uint16_t assoctab_start
;
236 uint16_t assoctab_size
;
237 uint16_t readonly_start
;
238 uint16_t readonly_end
;
239 uint16_t param_start
;
244 uint16_t appcallback
;
245 uint16_t groupobj_ptr
;
252 uint16_t eeprom_start
;
258 bool init (const CArray
& str
);
267 class STR_BCU2Key
:public STR_Stream
270 eibkey_type installkey
;
271 Array
< eibkey_type
> keys
;
274 bool init (const CArray
& str
);
286 Array
< STR_Stream
* >str
;
291 static Image
*fromArray (CArray c
);
296 int findStreamNumber (STR_Type t
);
297 STR_Stream
*findStream (STR_Type t
);