simulavr  1.1.0
TraceValueRegister Class Reference

Build a register for TraceValue's. More...

#include <traceval.h>

Inheritance diagram for TraceValueRegister:

Public Member Functions

 TraceValueRegister (TraceValueRegister *parent, const std::string &name)
 Create a TraceValueRegister, with a scope prefix built on parent scope + name. More...
 
 TraceValueRegister ()
 Create a TraceValueRegister, with a empty scope name, single device application. More...
 
virtual ~TraceValueRegister ()
 
const std::string GetTraceValuePrefix (void)
 Returns the scope prefix. More...
 
const std::string GetScopeName (void)
 Returns the scope name. More...
 
void RegisterTraceValue (TraceValue *t)
 Registers a TraceValue for this register. More...
 
void UnregisterTraceValue (TraceValue *t)
 Unregisters a TraceValue, remove it from register. More...
 
TraceValueRegisterGetScopeGroupByName (const std::string &name)
 Get a here registered TraceValueRegister by it's name. More...
 
virtual TraceValueGetTraceValueByName (const std::string &name)
 Get a here registered TraceValue by it's name. More...
 
TraceValueRegisterFindScopeGroupByName (const std::string &name)
 Seek for a TraceValueRegister by it's name. More...
 
TraceValueFindTraceValueByName (const std::string &name)
 Seek for a TraceValue by it's name. More...
 
TraceSetGetAllTraceValues (void)
 Get all here registered TraceValue's only (not with descending values) More...
 
TraceSetGetAllTraceValuesRecursive (void)
 Get all here registered TraceValue's with descending values. More...
 

Protected Member Functions

virtual size_t _tvr_getValuesCount (void)
 Get the count of all TraceValues, that are registered here and descending. More...
 
virtual void _tvr_insertTraceValuesToSet (TraceSet &t)
 Insert all TraceValues into TraceSet, that registered here and descending. More...
 

Private Types

typedef std::map< std::string *, TraceValue * > valmap_t
 type of values map More...
 
typedef std::map< std::string *, TraceValueRegister * > regmap_t
 type of subregisters map More...
 

Private Member Functions

void _tvr_registerTraceValues (TraceValueRegister *r)
 
void _tvr_unregisterTraceValues (TraceValueRegister *r)
 

Private Attributes

std::string _tvr_scopename
 the scope name itself More...
 
std::string _tvr_scopeprefix
 the prefix scope for a TraceValue name More...
 
valmap_t _tvr_values
 the registered TraceValue's More...
 
regmap_t _tvr_registers
 the sub-registers More...
 
TraceValueRegister_tvr_parent
 Registers a TraceValueRegister for this register, build a hierarchy. More...
 

Detailed Description

Build a register for TraceValue's.

This is used by DumpManager to find TraceValues by name

Definition at line 442 of file traceval.h.

Member Typedef Documentation

◆ regmap_t

typedef std::map<std::string*, TraceValueRegister*> TraceValueRegister::regmap_t
private

type of subregisters map

Definition at line 446 of file traceval.h.

◆ valmap_t

typedef std::map<std::string*, TraceValue*> TraceValueRegister::valmap_t
private

type of values map

Definition at line 445 of file traceval.h.

Constructor & Destructor Documentation

◆ TraceValueRegister() [1/2]

TraceValueRegister::TraceValueRegister ( TraceValueRegister parent,
const std::string &  name 
)
inline

Create a TraceValueRegister, with a scope prefix built on parent scope + name.

Definition at line 467 of file traceval.h.

References _tvr_registerTraceValues().

◆ TraceValueRegister() [2/2]

TraceValueRegister::TraceValueRegister ( )
inline

Create a TraceValueRegister, with a empty scope name, single device application.

Definition at line 475 of file traceval.h.

References DumpManager::appendDeviceName(), and DumpManager::Instance().

◆ ~TraceValueRegister()

TraceValueRegister::~TraceValueRegister ( )
virtual

Definition at line 169 of file traceval.cpp.

Member Function Documentation

◆ _tvr_getValuesCount()

size_t TraceValueRegister::_tvr_getValuesCount ( void  )
protectedvirtual

Get the count of all TraceValues, that are registered here and descending.

Reimplemented in TraceValueCoreRegister.

Definition at line 203 of file traceval.cpp.

Referenced by TraceValueCoreRegister::_tvr_getValuesCount().

◆ _tvr_insertTraceValuesToSet()

void TraceValueRegister::_tvr_insertTraceValuesToSet ( TraceSet t)
protectedvirtual

Insert all TraceValues into TraceSet, that registered here and descending.

Reimplemented in TraceValueCoreRegister.

Definition at line 210 of file traceval.cpp.

Referenced by TraceValueCoreRegister::_tvr_insertTraceValuesToSet().

◆ _tvr_registerTraceValues()

void TraceValueRegister::_tvr_registerTraceValues ( TraceValueRegister r)
private

Definition at line 182 of file traceval.cpp.

References avr_error, GetScopeName(), and TraceValue::v.

Referenced by TraceValueRegister().

◆ _tvr_unregisterTraceValues()

void TraceValueRegister::_tvr_unregisterTraceValues ( TraceValueRegister r)
private

Definition at line 192 of file traceval.cpp.

References GetScopeName().

◆ FindScopeGroupByName()

TraceValueRegister * TraceValueRegister::FindScopeGroupByName ( const std::string &  name)

Seek for a TraceValueRegister by it's name.

Definition at line 266 of file traceval.cpp.

References FindScopeGroupByName().

Referenced by FindScopeGroupByName().

◆ FindTraceValueByName()

TraceValue * TraceValueRegister::FindTraceValueByName ( const std::string &  name)

Seek for a TraceValue by it's name.

Definition at line 278 of file traceval.cpp.

References FindTraceValueByName().

Referenced by FindTraceValueByName().

◆ GetAllTraceValues()

TraceSet * TraceValueRegister::GetAllTraceValues ( void  )

Get all here registered TraceValue's only (not with descending values)

Definition at line 290 of file traceval.cpp.

◆ GetAllTraceValuesRecursive()

TraceSet * TraceValueRegister::GetAllTraceValuesRecursive ( void  )

Get all here registered TraceValue's with descending values.

Definition at line 298 of file traceval.cpp.

◆ GetScopeGroupByName()

TraceValueRegister * TraceValueRegister::GetScopeGroupByName ( const std::string &  name)

Get a here registered TraceValueRegister by it's name.

Definition at line 250 of file traceval.cpp.

◆ GetScopeName()

const std::string TraceValueRegister::GetScopeName ( void  )
inline

Returns the scope name.

Definition at line 489 of file traceval.h.

References TraceValue::name().

Referenced by _tvr_registerTraceValues(), and _tvr_unregisterTraceValues().

◆ GetTraceValueByName()

TraceValue * TraceValueRegister::GetTraceValueByName ( const std::string &  name)
virtual

Get a here registered TraceValue by it's name.

Reimplemented in TraceValueCoreRegister.

Definition at line 258 of file traceval.cpp.

Referenced by TraceValueCoreRegister::GetTraceValueByName().

◆ GetTraceValuePrefix()

const std::string TraceValueRegister::GetTraceValuePrefix ( void  )
inline

◆ RegisterTraceValue()

void TraceValueRegister::RegisterTraceValue ( TraceValue t)

◆ UnregisterTraceValue()

void TraceValueRegister::UnregisterTraceValue ( TraceValue t)

Unregisters a TraceValue, remove it from register.

Definition at line 237 of file traceval.cpp.

References TraceValue::name().

Referenced by IOReg< HWTimer8_0C >::releaseTraceValue(), HWIrqSystem::~HWIrqSystem(), and HWPort::~HWPort().

Member Data Documentation

◆ _tvr_parent

TraceValueRegister* TraceValueRegister::_tvr_parent
private

Registers a TraceValueRegister for this register, build a hierarchy.

Definition at line 454 of file traceval.h.

◆ _tvr_registers

regmap_t TraceValueRegister::_tvr_registers
private

the sub-registers

Definition at line 451 of file traceval.h.

◆ _tvr_scopename

std::string TraceValueRegister::_tvr_scopename
private

the scope name itself

Definition at line 448 of file traceval.h.

◆ _tvr_scopeprefix

std::string TraceValueRegister::_tvr_scopeprefix
private

the prefix scope for a TraceValue name

Definition at line 449 of file traceval.h.

◆ _tvr_values

valmap_t TraceValueRegister::_tvr_values
private

the registered TraceValue's

Definition at line 450 of file traceval.h.


The documentation for this class was generated from the following files: