gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::CxxConfigFileBase Class Referenceabstract

Config file wrapper providing a common interface to CxxConfigManager. More...

#include <cxx_config.hh>

Inheritance diagram for gem5::CxxConfigFileBase:
gem5::CxxIniFile

Public Member Functions

 CxxConfigFileBase ()
 
virtual ~CxxConfigFileBase ()
 
virtual bool getParam (const std::string &object_name, const std::string &param_name, std::string &value) const =0
 Get a single parameter value as a string returned in value.
 
virtual bool getParamVector (const std::string &object_name, const std::string &param_name, std::vector< std::string > &values) const =0
 Get a list/vector parameter.
 
virtual bool getPortPeers (const std::string &object_name, const std::string &port_name, std::vector< std::string > &peers) const =0
 Get the peer (connected) ports of the named ports.
 
virtual bool objectExists (const std::string &object_name) const =0
 Does an object with this path exist?
 
virtual void getAllObjectNames (std::vector< std::string > &list) const =0
 Get all SimObjects in the config.
 
virtual void getObjectChildren (const std::string &object_name, std::vector< std::string > &children, bool return_paths=false) const =0
 Get the names or paths of all the children SimObjects of this SimObject.
 
virtual bool load (const std::string &filename)=0
 Load config file.
 
virtual CxxConfigParams::Flags getFlags () const
 Get the flags which should be used to modify parameter parsing behaviour.
 

Detailed Description

Config file wrapper providing a common interface to CxxConfigManager.

Definition at line 203 of file cxx_config.hh.

Constructor & Destructor Documentation

◆ CxxConfigFileBase()

gem5::CxxConfigFileBase::CxxConfigFileBase ( )
inline

Definition at line 206 of file cxx_config.hh.

◆ ~CxxConfigFileBase()

virtual gem5::CxxConfigFileBase::~CxxConfigFileBase ( )
inlinevirtual

Definition at line 207 of file cxx_config.hh.

Member Function Documentation

◆ getAllObjectNames()

virtual void gem5::CxxConfigFileBase::getAllObjectNames ( std::vector< std::string > & list) const
pure virtual

Get all SimObjects in the config.

Implemented in gem5::CxxIniFile.

Referenced by gem5::CxxConfigManager::findAllObjects().

◆ getFlags()

virtual CxxConfigParams::Flags gem5::CxxConfigFileBase::getFlags ( ) const
inlinevirtual

Get the flags which should be used to modify parameter parsing behaviour.

Definition at line 244 of file cxx_config.hh.

◆ getObjectChildren()

virtual void gem5::CxxConfigFileBase::getObjectChildren ( const std::string & object_name,
std::vector< std::string > & children,
bool return_paths = false ) const
pure virtual

Get the names or paths of all the children SimObjects of this SimObject.

If return_paths is true then full paths are returned. If false, only the last name component for each object is returned

Implemented in gem5::CxxIniFile.

Referenced by gem5::CxxConfigManager::findObject(), and gem5::CxxConfigManager::findTraversalOrder().

◆ getParam()

virtual bool gem5::CxxConfigFileBase::getParam ( const std::string & object_name,
const std::string & param_name,
std::string & value ) const
pure virtual

Get a single parameter value as a string returned in value.

For booleans, the function expects "true" or "false" in value. For NULL SimObjects, it expects "Null"

Implemented in gem5::CxxIniFile.

Referenced by gem5::CxxConfigManager::findObject(), gem5::CxxConfigManager::findObjectParams(), and gem5::CxxConfigManager::findObjectType().

◆ getParamVector()

virtual bool gem5::CxxConfigFileBase::getParamVector ( const std::string & object_name,
const std::string & param_name,
std::vector< std::string > & values ) const
pure virtual

Get a list/vector parameter.

Implemented in gem5::CxxIniFile.

Referenced by gem5::CxxConfigManager::findObject(), and gem5::CxxConfigManager::findObjectParams().

◆ getPortPeers()

virtual bool gem5::CxxConfigFileBase::getPortPeers ( const std::string & object_name,
const std::string & port_name,
std::vector< std::string > & peers ) const
pure virtual

Get the peer (connected) ports of the named ports.

Implemented in gem5::CxxIniFile.

Referenced by gem5::CxxConfigManager::bindObjectPorts(), and gem5::CxxConfigManager::findObjectParams().

◆ load()

virtual bool gem5::CxxConfigFileBase::load ( const std::string & filename)
pure virtual

Load config file.

Implemented in gem5::CxxIniFile.

◆ objectExists()

virtual bool gem5::CxxConfigFileBase::objectExists ( const std::string & object_name) const
pure virtual

Does an object with this path exist?

Implemented in gem5::CxxIniFile.

Referenced by gem5::CxxConfigManager::findObjectType().


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

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0