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

bool ConnectFailSafe (std::string path, const CallbackBase &cb)
 
bool ConnectWithoutContextFailSafe (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)
 
bool SetFailSafe (std::string path, const AttributeValue &value)
 
void UnregisterRootNamespaceObject (Ptr< Object > obj)
 
- Public Member Functions inherited from ns3::Singleton< ConfigImpl >
 Singleton (const Singleton< ConfigImpl > &)=delete
 
Singleton< ConfigImpl > & operator= (const Singleton< ConfigImpl > &)=delete
 

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...
 
- Protected Member Functions inherited from ns3::Singleton< ConfigImpl >
 Singleton ()
 Constructor. More...
 
virtual ~Singleton ()
 Destructor. More...
 

Detailed Description

Config system implementation class.

Definition at line 617 of file config.cc.

Member Typedef Documentation

◆ Roots

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

Container type to hold the root Config path tokens.

Definition at line 658 of file config.cc.

Member Function Documentation

◆ ConnectFailSafe()

bool ns3::Config::ConfigImpl::ConnectFailSafe ( 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.

Returns
true if any trace sources could be connected.

Definition at line 723 of file config.cc.

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConnectWithoutContextFailSafe()

bool ns3::Config::ConfigImpl::ConnectWithoutContextFailSafe ( 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. If no matching trace sources are found, this method will return false; otherwise true.

Returns
true if any trace sources could be connected.

Definition at line 698 of file config.cc.

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Disconnect()

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 733 of file config.cc.

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DisconnectWithoutContext()

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 707 of file config.cc.

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetRootNamespaceObject()

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 813 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ GetRootNamespaceObjectN()

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

Returns
The number of registered root namespace objects.

Definition at line 807 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ LookupMatches()

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 751 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

Referenced by ConnectFailSafe(), ConnectWithoutContextFailSafe(), Disconnect(), DisconnectWithoutContext(), ns3::Config::LookupMatches(), Set(), and SetFailSafe().

+ Here is the caller graph for this function:

◆ ParsePath()

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 666 of file config.cc.

References NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by ConnectFailSafe(), ConnectWithoutContextFailSafe(), Disconnect(), DisconnectWithoutContext(), Set(), and SetFailSafe().

+ Here is the caller graph for this function:

◆ RegisterRootNamespaceObject()

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 785 of file config.cc.

References m_roots, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ Set()

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. If no such attributes are found, the function will throw a fatal error; use SetFailSafe if the lack of a match is to be permitted.

Definition at line 678 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:

◆ SetFailSafe()

bool ns3::Config::ConfigImpl::SetFailSafe ( 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, and will return true if at least one such attribute is found.

Returns
true if any matching attributes could be set.

Definition at line 688 of file config.cc.

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnregisterRootNamespaceObject()

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 792 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

◆ m_roots

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

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