20 #define LIBSMBIOS_SOURCE
31 #define NOT_IMPLEMENTED do { throw NotImplementedImpl(); } while(0)
39 ITokenTable::ITokenTable()
46 addD4Structures(table);
47 addD5Structures(table);
48 addD6Structures(table);
49 addDAStructures(table);
55 checksumList.reserve(4);
66 const u8 *ptr = item->getBufferCopy(size) ;
69 addChecksumObserverForD4Struct( item, ptr, size );
70 getD4TokensFromStruct( item, ptr, size );
75 catch (
const std::exception & )
78 delete []
const_cast<u8*
>(ptr);
83 delete []
const_cast<u8*
>(ptr);
111 checksumList.push_back( chk );
135 const u8 *cur_loc =
reinterpret_cast<const u8 *
>(&iterToken[i]);
136 const u8 *struct_base_loc =
reinterpret_cast<const u8 *
>(io_struct);
137 if ( cur_loc >= struct_base_loc + size )
139 #if LIBSMBIOS_VERBOSE_BIOS_BUG_COMPLAINTS
140 cout <<
"FATAL: iterToken > size. Missing EOT, has the world gone mad?" << endl;
146 tokenList.push_back( tk );
162 tokenList.push_back( tk );
177 tokenList.push_back( tk );
192 const u8 *ptr = item->getBufferCopy(size) ;
195 getDATokensFromStruct( item, ptr, size );
200 catch (
const std::exception & )
203 delete []
const_cast<u8*
>(ptr);
208 delete []
const_cast<u8*
>(ptr);
234 const u8 *cur_loc =
reinterpret_cast<const u8 *
>(&iterToken[i]);
235 const u8 *struct_base_loc =
reinterpret_cast<const u8 *
>(structure);
238 #if LIBSMBIOS_VERBOSE_BIOS_BUG_COMPLAINTS
241 cout << endl <<
"FATAL: iterToken > size. Missing EOT, has the world gone mad?" << endl << *item << endl;
253 tokenList.push_back( tk );
258 TokenTable::~TokenTable( )
260 std::vector< IToken *>::iterator token;
261 for( token = tokenList.begin(); token != tokenList.end(); ++token )
267 ITokenTable::~ITokenTable( )
301 TokenTable::iterator TokenTable::operator[] (
const string &)
306 TokenTable::const_iterator TokenTable::operator[](
const string &)
const
312 ostream & TokenTable::streamify(ostream & cout)
const
314 cout <<
"Token Table";