#include <bit_mem_stream.h>
Public Member Functions | |
void | addPoke (uint32 bitpos, uint32 size, TBMSSerialInfo::TSerialType type) |
Add a serial event in the middle. | |
void | addSerial (uint32 bitpos, uint32 size, TBMSSerialInfo::TSerialType type) |
Add a serial event at the end. | |
void | beginEventBrowsing () |
Begin a browsing session of serial events, addSerial()/addPoke() is now disabled. | |
CBMSDbgInfo () | |
Constructor. | |
void | clear () |
Clear. | |
void | endEventBrowsing () |
End a browsing session of serial events, and reenable addSerial()/addPoke(). | |
std::string | getEventIdAtBitPos (uint32 bitpos, sint32 *eventId) |
Return an eventId of serial event, or "" (and eventId -1) if nothing found at the specified bitpos. | |
std::string | getEventLegendAtBitPos (CBitMemStream &bms, sint32 eventId) |
Return full info about a serial event, or "" if eventId is -1. | |
void | setSymbolOfNextSerialEvent (const char *symbol) |
Set the symbol for the next event that will be added (optional). |
|
Constructor.
Definition at line 191 of file bit_mem_stream.h.
00191 {} |
|
Add a serial event in the middle.
Definition at line 234 of file bit_mem_stream.h. References nlwarning, size, type, and uint32. Referenced by NLMISC::CBitMemStream::poke(), and NLMISC::CBitMemStream::pokeBits().
00235 { 00236 #ifdef NL_DEBUG 00237 if ( ! _DbgData->AddEventIsEnabled ) 00238 { 00239 _DbgData->NextSymbol = NULL; 00240 return; 00241 } 00242 00243 TBMSSerialInfo serialItem( bitpos, size, type, _DbgData->NextSymbol ); 00244 00246 bool found = false; 00247 TBMSSerialInfoList::iterator itl; 00248 for ( itl=_DbgData->List.begin(); itl!=_DbgData->List.end(); ++itl ) 00249 { 00250 if ( (*itl).BitPos == bitpos ) 00251 { 00252 // Found, replace reserved by poked 00253 (*itl) = serialItem; 00254 found = true; 00255 break; 00256 } 00257 } 00258 if ( ! found ) 00259 { 00260 nlwarning( "Missing reserve() corresponding to poke()" ); 00261 } 00262 _DbgData->NextSymbol = NULL; 00263 #endif 00264 } |
|
Add a serial event at the end.
Definition at line 218 of file bit_mem_stream.h. References size, type, and uint32. Referenced by NLMISC::CBitMemStream::serial(), NLMISC::CBitMemStream::serialBit(), and NLMISC::CBitMemStream::serialBuffer().
00219 { 00220 #ifdef NL_DEBUG 00221 if ( ! _DbgData->AddEventIsEnabled ) 00222 { 00223 _DbgData->NextSymbol = NULL; 00224 return; 00225 } 00226 00227 TBMSSerialInfo serialItem( bitpos, size, type, _DbgData->NextSymbol ); 00228 _DbgData->List.push_back( serialItem ); 00229 _DbgData->NextSymbol = NULL; 00230 #endif 00231 } |
|
Begin a browsing session of serial events, addSerial()/addPoke() is now disabled.
Definition at line 283 of file bit_mem_stream.h. Referenced by NLMISC::CBitMemStream::displayStream().
00284 { 00285 #ifdef NL_DEBUG 00286 _DbgData->CurrentBrowsedItem = 0; 00287 _DbgData->AddEventIsEnabled = false; 00288 #endif 00289 } |
|
Clear.
Definition at line 275 of file bit_mem_stream.h. Referenced by NLMISC::CBitMemStream::bufferToFill(), NLMISC::CBitMemStream::fill(), and NLMISC::CBitMemStream::resetBufPos().
00276 { 00277 #ifdef NL_DEBUG 00278 _DbgData->List.clear(); 00279 #endif 00280 } |
|
End a browsing session of serial events, and reenable addSerial()/addPoke().
Definition at line 292 of file bit_mem_stream.h. Referenced by NLMISC::CBitMemStream::displayStream().
00293 { 00294 #ifdef NL_DEBUG 00295 _DbgData->AddEventIsEnabled = true; 00296 #endif 00297 } |
|
Return an eventId of serial event, or "" (and eventId -1) if nothing found at the specified bitpos.
Definition at line 300 of file bit_mem_stream.h. References sint32, NLMISC::toString(), and uint32. Referenced by NLMISC::CBitMemStream::displayStream().
00301 { 00302 #ifdef NL_DEBUG 00303 if ( _DbgData->CurrentBrowsedItem < _DbgData->List.size() ) 00304 { 00305 if ( bitpos == _DbgData->List[_DbgData->CurrentBrowsedItem].BitPos ) // works only with a vector! 00306 { 00307 *eventId = (sint32)_DbgData->CurrentBrowsedItem; 00308 ++_DbgData->CurrentBrowsedItem; 00309 return toString( "(%u)", _DbgData->CurrentBrowsedItem - 1 ); 00310 } 00311 //nlassert( bitpos < (*_List)[_CurrentBrowsedItem].BitPos ); // occurs if stream overflow 00312 } 00313 #endif 00314 *eventId = -1; 00315 return std::string(); 00316 } |
|
Return full info about a serial event, or "" if eventId is -1.
Definition at line 765 of file bit_mem_stream.h. References NLMISC::TBMSSerialInfo::BitPos, NLMISC::TBMSSerialInfo::BitSize, NLMISC::CBitMemStream::getSerialItem(), nlassert, NLMISC::SerialTypeToCStr, sint32, NLMISC::TBMSSerialInfo::Symbol, NLMISC::toString(), and NLMISC::TBMSSerialInfo::Type. Referenced by NLMISC::CBitMemStream::displayStream().
00766 { 00767 #ifdef NL_DEBUG 00768 if ( eventId == -1 ) 00769 { 00770 return std::string(); 00771 } 00772 else 00773 { 00774 nlassert( eventId < (sint32)_DbgData->List.size() ); 00775 TBMSSerialInfo& serialItem = _DbgData->List[eventId]; // works only with a vector! 00776 return toString( "(%d) BitPos %3u Type %s BitSize %2u Value %s %s\n", 00777 eventId, serialItem.BitPos, SerialTypeToCStr[serialItem.Type], serialItem.BitSize, 00778 bms.getSerialItem( serialItem ).c_str(), (serialItem.Symbol!=NULL)?serialItem.Symbol:"" ); 00779 } 00780 #else 00781 return std::string(); 00782 #endif 00783 } |
|
Set the symbol for the next event that will be added (optional).
Definition at line 267 of file bit_mem_stream.h.
00268 { 00269 #ifdef NL_DEBUG 00270 _DbgData->NextSymbol = symbol; 00271 #endif 00272 } |