A Discrete-Event Network Simulator
API
ns3::ConfigImpl Class Reference

Config system implementation class. More...

+ Inheritance diagram for ns3::ConfigImpl:
+ Collaboration diagram for ns3::ConfigImpl:

Public Member Functions

void Connect (std::string path, const CallbackBase &cb)
 
void ConnectWithoutContext (std::string path, const CallbackBase &cb)
 
void Disconnect (std::string path, const CallbackBase &cb)
 
void DisconnectWithoutContext (std::string path, const CallbackBase &cb)
 
Ptr< ObjectGetRootNamespaceObject (uint32_t i) const
 
uint32_t GetRootNamespaceObjectN (void) const
 
Config::MatchContainer LookupMatches (std::string path)
 
void RegisterRootNamespaceObject (Ptr< Object > obj)
 
void Set (std::string path, const AttributeValue &value)
 
void UnregisterRootNamespaceObject (Ptr< Object > obj)
 

Private Types

typedef std::vector< Ptr< Object > > Roots
 Container type to hold the root Config path tokens. More...
 

Private Member Functions

void ParsePath (std::string path, std::string *root, std::string *leaf) const
 Break a Config path into the leading path and the last leaf token. More...
 

Private Attributes

Roots m_roots
 The list of Config path roots. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::Singleton< ConfigImpl >
static ConfigImplGet (void)
 Get a pointer to the singleton instance. More...
 

Detailed Description

Config system implementation class.

Definition at line 576 of file config.cc.

Member Typedef Documentation

typedef std::vector<Ptr<Object> > ns3::ConfigImpl::Roots
private

Container type to hold the root Config path tokens.

Definition at line 613 of file config.cc.

Member Function Documentation

void ns3::ConfigImpl::Connect ( std::string  path,
const CallbackBase cb 
)

Parameters
[in]pathA path to match trace sources.
[in]cbThe callback to connect to the matching trace sources.

This function will attempt to find all trace sources which match the input path and will then connect the input callback to them in such a way that the callback will receive an extra context string upon trace event notification.

Definition at line 660 of file config.cc.

References ns3::Config::MatchContainer::Connect(), LookupMatches(), NS_LOG_FUNCTION, and ParsePath().

Referenced by ns3::Config::Connect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::ConfigImpl::ConnectWithoutContext ( std::string  path,
const CallbackBase cb 
)

Parameters
[in]pathA path to match trace sources.
[in]cbThe callback to connect to the matching trace sources.

This function will attempt to find all trace sources which match the input path and will then connect the input callback to them.

Definition at line 642 of file config.cc.

References ns3::Config::MatchContainer::ConnectWithoutContext(), LookupMatches(), NS_LOG_FUNCTION, and ParsePath().

Referenced by ns3::Config::ConnectWithoutContext().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::ConfigImpl::Disconnect ( std::string  path,
const CallbackBase cb 
)

Parameters
[in]pathA path to match trace sources.
[in]cbThe callback to connect to the matching trace sources.

This function undoes the work of Config::ConnectWithContext.

Definition at line 670 of file config.cc.

References ns3::Config::MatchContainer::Disconnect(), LookupMatches(), NS_LOG_FUNCTION, and ParsePath().

Referenced by ns3::Config::Disconnect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::ConfigImpl::DisconnectWithoutContext ( std::string  path,
const CallbackBase cb 
)

Parameters
[in]pathA path to match trace sources.
[in]cbThe callback to disconnect to the matching trace sources.

This function undoes the work of Config::Connect.

Definition at line 651 of file config.cc.

References ns3::Config::MatchContainer::DisconnectWithoutContext(), LookupMatches(), NS_LOG_FUNCTION, and ParsePath().

Referenced by ns3::Config::DisconnectWithoutContext().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< Object > ns3::ConfigImpl::GetRootNamespaceObject ( uint32_t  i) const

Parameters
[in]iThe index of the requested object.
Returns
The requested root namespace object

Definition at line 741 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

Referenced by ns3::Config::GetRootNamespaceObject().

+ Here is the caller graph for this function:

uint32_t ns3::ConfigImpl::GetRootNamespaceObjectN ( void  ) const

Returns
The number of registered root namespace objects.

Definition at line 735 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

Referenced by ns3::Config::GetRootNamespaceObjectN().

+ Here is the caller graph for this function:

Config::MatchContainer ns3::ConfigImpl::LookupMatches ( std::string  path)

Parameters
[in]pathThe path to perform a match against
Returns
A container which contains all the objects which match the input path.

Definition at line 681 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

Referenced by Connect(), ConnectWithoutContext(), Disconnect(), DisconnectWithoutContext(), ns3::Config::LookupMatches(), and Set().

+ Here is the caller graph for this function:

void ns3::ConfigImpl::ParsePath ( std::string  path,
std::string *  root,
std::string *  leaf 
) const
private

Break a Config path into the leading path and the last leaf token.

Parameters
[in]pathThe Config path.
[in,out]rootThe leading part of the path, up to the final slash.
[in,out]leafThe trailing part of the path.

Definition at line 620 of file config.cc.

References NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by Connect(), ConnectWithoutContext(), Disconnect(), DisconnectWithoutContext(), and Set().

+ Here is the caller graph for this function:

void ns3::ConfigImpl::RegisterRootNamespaceObject ( Ptr< Object obj)

Parameters
[in]objA new root object

Each root object is used during path matching as the root of the path by Config::Connect, and Config::Set.

Definition at line 713 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

Referenced by ns3::Config::RegisterRootNamespaceObject().

+ Here is the caller graph for this function:

void ns3::ConfigImpl::Set ( std::string  path,
const AttributeValue value 
)

Parameters
[in]pathA path to match attributes.
[in]valueThe value to set in all matching attributes.

This function will attempt to find attributes which match the input path and will then set their value to the input value.

Definition at line 632 of file config.cc.

References LookupMatches(), NS_LOG_FUNCTION, ParsePath(), and ns3::Config::MatchContainer::Set().

Referenced by ns3::Config::Set().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::ConfigImpl::UnregisterRootNamespaceObject ( Ptr< Object obj)

Parameters
[in]objA new root object

This function undoes the work of Config::RegisterRootNamespaceObject.

Definition at line 720 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

Referenced by ns3::Config::UnregisterRootNamespaceObject().

+ Here is the caller graph for this function:

Member Data Documentation

Roots ns3::ConfigImpl::m_roots
private

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