Build a register for TraceValue's. More...
#include <traceval.h>
Public Member Functions | |
TraceValueRegister (TraceValueRegister *parent, const std::string &name) | |
Create a TraceValueRegister, with a scope prefix built on parent scope + name. | |
TraceValueRegister () | |
Create a TraceValueRegister, with a empty scope name, single device application. | |
~TraceValueRegister () | |
const std::string | GetTraceValuePrefix (void) |
Returns the scope prefix. | |
const std::string | GetScopeName (void) |
Returns the scope name. | |
void | RegisterTraceValue (TraceValue *t) |
Registers a TraceValue for this register. | |
void | UnregisterTraceValue (TraceValue *t) |
Unregisters a TraceValue, remove it from register. | |
TraceValueRegister * | GetScopeGroupByName (const std::string &name) |
Get a here registered TraceValueRegister by it's name. | |
virtual TraceValue * | GetTraceValueByName (const std::string &name) |
Get a here registered TraceValue by it's name. | |
TraceValueRegister * | FindScopeGroupByName (const std::string &name) |
Seek for a TraceValueRegister by it's name. | |
TraceValue * | FindTraceValueByName (const std::string &name) |
Seek for a TraceValue by it's name. | |
TraceSet * | GetAllTraceValues (void) |
Get all here registered TraceValue's only (not with descending values). | |
TraceSet * | GetAllTraceValuesRecursive (void) |
Get all here registered TraceValue's with descending values. | |
Protected Member Functions | |
virtual size_t | _tvr_getValuesCount (void) |
Get the count of all TraceValues, that are registered here and descending. | |
virtual void | _tvr_insertTraceValuesToSet (TraceSet &t) |
Insert all TraceValues into TraceSet, that registered here and descending. | |
Private Types | |
typedef std::map< std::string *, TraceValue * > | valmap_t |
type of values map | |
typedef std::map< std::string *, TraceValueRegister * > | regmap_t |
type of subregisters map | |
Private Member Functions | |
void | _tvr_registerTraceValues (TraceValueRegister *r) |
Registers a TraceValueRegister for this register, build a hierarchy. | |
Private Attributes | |
std::string | _tvr_scopename |
the scope name itself | |
std::string | _tvr_scopeprefix |
the prefix scope for a TraceValue name | |
valmap_t | _tvr_values |
the registered TraceValue's | |
regmap_t | _tvr_registers |
the sub-registers |
Build a register for TraceValue's.
This is used by DumpManager to find TraceValues by name
Definition at line 418 of file traceval.h.
typedef std::map<std::string*, TraceValueRegister*> TraceValueRegister::regmap_t [private] |
type of subregisters map
Definition at line 422 of file traceval.h.
typedef std::map<std::string*, TraceValue*> TraceValueRegister::valmap_t [private] |
type of values map
Definition at line 421 of file traceval.h.
TraceValueRegister::TraceValueRegister | ( | TraceValueRegister * | parent, | |
const std::string & | name | |||
) | [inline] |
Create a TraceValueRegister, with a scope prefix built on parent scope + name.
Definition at line 441 of file traceval.h.
References _tvr_registerTraceValues().
TraceValueRegister::TraceValueRegister | ( | ) | [inline] |
Create a TraceValueRegister, with a empty scope name, single device application.
Definition at line 448 of file traceval.h.
References _tvr_scopename, _tvr_scopeprefix, DumpManager::appendDeviceName(), and DumpManager::Instance().
TraceValueRegister::~TraceValueRegister | ( | ) |
Definition at line 147 of file traceval.cpp.
References _tvr_registers, and _tvr_values.
size_t TraceValueRegister::_tvr_getValuesCount | ( | void | ) | [protected, virtual] |
Get the count of all TraceValues, that are registered here and descending.
Reimplemented in TraceValueCoreRegister.
Definition at line 166 of file traceval.cpp.
References _tvr_registers, and _tvr_values.
Referenced by GetAllTraceValuesRecursive().
void TraceValueRegister::_tvr_insertTraceValuesToSet | ( | TraceSet & | t | ) | [protected, virtual] |
Insert all TraceValues into TraceSet, that registered here and descending.
Definition at line 173 of file traceval.cpp.
References _tvr_registers, and _tvr_values.
Referenced by GetAllTraceValuesRecursive().
void TraceValueRegister::_tvr_registerTraceValues | ( | TraceValueRegister * | r | ) | [private] |
Registers a TraceValueRegister for this register, build a hierarchy.
Definition at line 156 of file traceval.cpp.
References _tvr_registers, avr_error, GetScopeGroupByName(), and GetScopeName().
Referenced by TraceValueRegister().
TraceValueRegister * TraceValueRegister::FindScopeGroupByName | ( | const std::string & | name | ) |
Seek for a TraceValueRegister by it's name.
Definition at line 227 of file traceval.cpp.
References FindScopeGroupByName(), and GetScopeGroupByName().
Referenced by FindScopeGroupByName().
TraceValue * TraceValueRegister::FindTraceValueByName | ( | const std::string & | name | ) |
Seek for a TraceValue by it's name.
Definition at line 239 of file traceval.cpp.
References FindTraceValueByName(), GetScopeGroupByName(), and GetTraceValueByName().
Referenced by FindTraceValueByName().
TraceSet * TraceValueRegister::GetAllTraceValues | ( | void | ) |
Get all here registered TraceValue's only (not with descending values).
Definition at line 251 of file traceval.cpp.
References _tvr_values.
TraceSet * TraceValueRegister::GetAllTraceValuesRecursive | ( | void | ) |
Get all here registered TraceValue's with descending values.
Definition at line 259 of file traceval.cpp.
References _tvr_getValuesCount(), and _tvr_insertTraceValuesToSet().
TraceValueRegister * TraceValueRegister::GetScopeGroupByName | ( | const std::string & | name | ) |
Get a here registered TraceValueRegister by it's name.
Definition at line 211 of file traceval.cpp.
References _tvr_registers.
Referenced by _tvr_registerTraceValues(), FindScopeGroupByName(), and FindTraceValueByName().
const std::string TraceValueRegister::GetScopeName | ( | void | ) | [inline] |
Returns the scope name.
Definition at line 461 of file traceval.h.
References _tvr_scopename.
Referenced by _tvr_registerTraceValues().
TraceValue * TraceValueRegister::GetTraceValueByName | ( | const std::string & | name | ) | [virtual] |
Get a here registered TraceValue by it's name.
Reimplemented in TraceValueCoreRegister.
Definition at line 219 of file traceval.cpp.
References _tvr_values.
Referenced by FindTraceValueByName(), and RegisterTraceValue().
const std::string TraceValueRegister::GetTraceValuePrefix | ( | void | ) | [inline] |
Returns the scope prefix.
Definition at line 459 of file traceval.h.
References _tvr_scopeprefix.
Referenced by AvrDevice::AvrDevice(), BasicTimerUnit::BasicTimerUnit(), HWIrqSystem::HWIrqSystem(), RAM::RAM(), RWMemoryMember::RWMemoryMember(), and trace_direct().
void TraceValueRegister::RegisterTraceValue | ( | TraceValue * | t | ) |
Registers a TraceValue for this register.
Definition at line 180 of file traceval.cpp.
References _tvr_scopeprefix, _tvr_values, avr_error, GetTraceValueByName(), and TraceValue::name().
Referenced by AvrDevice::AvrDevice(), BasicTimerUnit::BasicTimerUnit(), HWIrqSystem::HWIrqSystem(), RWMemoryMember::RWMemoryMember(), and trace_direct().
void TraceValueRegister::UnregisterTraceValue | ( | TraceValue * | t | ) |
Unregisters a TraceValue, remove it from register.
Definition at line 200 of file traceval.cpp.
References _tvr_scopeprefix, _tvr_values, and TraceValue::name().
Referenced by IOReg< HWTimer8_0C >::releaseTraceValue().
regmap_t TraceValueRegister::_tvr_registers [private] |
the sub-registers
Definition at line 427 of file traceval.h.
Referenced by _tvr_getValuesCount(), _tvr_insertTraceValuesToSet(), _tvr_registerTraceValues(), GetScopeGroupByName(), and ~TraceValueRegister().
std::string TraceValueRegister::_tvr_scopename [private] |
the scope name itself
Definition at line 424 of file traceval.h.
Referenced by GetScopeName(), and TraceValueRegister().
std::string TraceValueRegister::_tvr_scopeprefix [private] |
the prefix scope for a TraceValue name
Definition at line 425 of file traceval.h.
Referenced by GetTraceValuePrefix(), RegisterTraceValue(), TraceValueRegister(), and UnregisterTraceValue().
valmap_t TraceValueRegister::_tvr_values [private] |
the registered TraceValue's
Definition at line 426 of file traceval.h.
Referenced by _tvr_getValuesCount(), _tvr_insertTraceValuesToSet(), GetAllTraceValues(), GetTraceValueByName(), RegisterTraceValue(), UnregisterTraceValue(), and ~TraceValueRegister().