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

Config system implementation class. More...

+ Inheritance diagram for ns3::Config::ConfigImpl:
+ Collaboration diagram for ns3::Config::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 (std::size_t i) const
 
std::size_t GetRootNamespaceObjectN (void) const
 
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 ConfigImpl * Get (void)
 Get a pointer to the singleton instance. More...
 

Detailed Description

Config system implementation class.

Definition at line 583 of file config.cc.

Member Typedef Documentation

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

Container type to hold the root Config path tokens.

Definition at line 620 of file config.cc.

Member Function Documentation

void ns3::Config::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 668 of file config.cc.

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

+ Here is the call graph for this function:

void ns3::Config::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 650 of file config.cc.

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

+ Here is the call graph for this function:

void ns3::Config::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 678 of file config.cc.

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

+ Here is the call graph for this function:

void ns3::Config::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 659 of file config.cc.

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

+ Here is the call graph for this function:

Ptr< Object > ns3::Config::ConfigImpl::GetRootNamespaceObject ( std::size_t  i) const

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

Definition at line 750 of file config.cc.

References NS_LOG_FUNCTION.

std::size_t ns3::Config::ConfigImpl::GetRootNamespaceObjectN ( void  ) const

Returns
The number of registered root namespace objects.

Definition at line 744 of file config.cc.

References NS_LOG_FUNCTION.

MatchContainer ns3::Config::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 689 of file config.cc.

References ns3::Config::Resolver::DoOne(), NS_LOG_FUNCTION, and ns3::Config::Resolver::Resolver().

+ Here is the call graph for this function:

void ns3::Config::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 628 of file config.cc.

References NS_ASSERT, and NS_LOG_FUNCTION.

void ns3::Config::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 722 of file config.cc.

References NS_LOG_FUNCTION.

void ns3::Config::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 640 of file config.cc.

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

+ Here is the call graph for this function:

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

Parameters
[in]objA new root object

This function undoes the work of Config::RegisterRootNamespaceObject.

Definition at line 729 of file config.cc.

References NS_LOG_FUNCTION.

Member Data Documentation

Roots ns3::Config::ConfigImpl::m_roots
private

The list of Config path roots.

Definition at line 623 of file config.cc.


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