NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::ConfigFile Class Reference

configuration file parsing utility More...

#include <config-file.hpp>

Inheritance diagram for nfd::ConfigFile:
Collaboration diagram for nfd::ConfigFile:

Classes

class  Error
 

Public Member Functions

 ConfigFile (UnknownConfigSectionHandler unknownSectionCallback=throwErrorOnUnknownSection)
 
void addSectionHandler (const std::string &sectionName, ConfigSectionHandler subscriber)
 setup notification of configuration file sections More...
 
void parse (const std::string &filename, bool isDryRun)
 
void parse (const std::string &input, bool isDryRun, const std::string &filename)
 
void parse (std::istream &input, bool isDryRun, const std::string &filename)
 
void parse (const ConfigSection &config, bool isDryRun, const std::string &filename)
 

Static Public Member Functions

static void throwErrorOnUnknownSection (const std::string &filename, const std::string &sectionName, const ConfigSection &section, bool isDryRun)
 
static void ignoreUnknownSection (const std::string &filename, const std::string &sectionName, const ConfigSection &section, bool isDryRun)
 
static bool parseYesNo (const ConfigSection &node, const std::string &key, const std::string &sectionName)
 parse a config option that can be either "yes" or "no" More...
 
static bool parseYesNo (const ConfigSection::value_type &option, const std::string &sectionName)
 
template<typename T >
static T parseNumber (const ConfigSection &node, const std::string &key, const std::string &sectionName)
 parse a numeric (integral or floating point) config option More...
 
template<typename T >
static T parseNumber (const ConfigSection::value_type &option, const std::string &sectionName)
 

Detailed Description

configuration file parsing utility

Definition at line 50 of file config-file.hpp.

Constructor & Destructor Documentation

◆ ConfigFile()

nfd::ConfigFile::ConfigFile ( UnknownConfigSectionHandler  unknownSectionCallback = throwErrorOnUnknownSection)
explicit

Definition at line 34 of file config-file.cpp.

Referenced by nfd::ConfigFile::Error::Error().

Member Function Documentation

◆ throwErrorOnUnknownSection()

void nfd::ConfigFile::throwErrorOnUnknownSection ( const std::string &  filename,
const std::string &  sectionName,
const ConfigSection section,
bool  isDryRun 
)
static

◆ ignoreUnknownSection()

void nfd::ConfigFile::ignoreUnknownSection ( const std::string &  filename,
const std::string &  sectionName,
const ConfigSection section,
bool  isDryRun 
)
static

◆ parseYesNo() [1/2]

bool nfd::ConfigFile::parseYesNo ( const ConfigSection node,
const std::string &  key,
const std::string &  sectionName 
)
static

parse a config option that can be either "yes" or "no"

Return values
true"yes"
false"no"
Exceptions
Errorthe value is neither "yes" nor "no"

Definition at line 62 of file config-file.cpp.

Referenced by nfd::ConfigFile::Error::Error(), parseYesNo(), and nfd::FaceManager::setConfigFile().

◆ parseYesNo() [2/2]

static bool nfd::ConfigFile::parseYesNo ( const ConfigSection::value_type &  option,
const std::string &  sectionName 
)
inlinestatic

Definition at line 89 of file config-file.hpp.

References parseYesNo().

◆ parseNumber() [1/2]

template<typename T >
static T nfd::ConfigFile::parseNumber ( const ConfigSection node,
const std::string &  key,
const std::string &  sectionName 
)
inlinestatic

parse a numeric (integral or floating point) config option

Template Parameters
Tan arithmetic type
Returns
the numeric value of the parsed option
Exceptions
Errorthe value cannot be converted to the specified type

Definition at line 103 of file config-file.hpp.

References nfd::ConfigFile::Error::Error().

◆ parseNumber() [2/2]

template<typename T >
static T nfd::ConfigFile::parseNumber ( const ConfigSection::value_type &  option,
const std::string &  sectionName 
)
inlinestatic

Definition at line 117 of file config-file.hpp.

References addSectionHandler(), and parse().

◆ addSectionHandler()

void nfd::ConfigFile::addSectionHandler ( const std::string &  sectionName,
ConfigSectionHandler  subscriber 
)

◆ parse() [1/4]

void nfd::ConfigFile::parse ( const std::string &  filename,
bool  isDryRun 
)
Parameters
filenamefile to parse
isDryRuntrue if performing a dry run of configuration, false otherwise
Exceptions
ConfigFile::Errorif file not found
ConfigFile::Errorif parse error

Definition at line 86 of file config-file.cpp.

Referenced by nfd::ignoreRibAndLogSections(), nfd::Nfd::initialize(), nfd::rib::Service::initialize(), parse(), parseNumber(), nfd::Nfd::reloadConfigFile(), and ns3::ndn::L3Protocol::setCsReplacementPolicy().

◆ parse() [2/4]

void nfd::ConfigFile::parse ( const std::string &  input,
bool  isDryRun,
const std::string &  filename 
)
Parameters
inputconfiguration (as a string) to parse
isDryRuntrue if performing a dry run of configuration, false otherwise
filenamelogical filename of the config file, can appear in error messages
Exceptions
ConfigFile::Errorif file not found
ConfigFile::Errorif parse error

Definition at line 97 of file config-file.cpp.

References parse().

◆ parse() [3/4]

void nfd::ConfigFile::parse ( std::istream &  input,
bool  isDryRun,
const std::string &  filename 
)
Parameters
inputstream to parse
isDryRuntrue if performing a dry run of configuration, false otherwise
filenamelogical filename of the config file, can appear in error messages
Exceptions
ConfigFile::Errorif parse error

Definition at line 104 of file config-file.cpp.

◆ parse() [4/4]

void nfd::ConfigFile::parse ( const ConfigSection config,
bool  isDryRun,
const std::string &  filename 
)
Parameters
configConfigSection that needs to be processed
isDryRuntrue if performing a dry run of configuration, false otherwise
filenamelogical filename of the config file, can appear in error messages
Exceptions
ConfigFile::Errorif parse error

Definition at line 121 of file config-file.cpp.


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