ifw-ccf  3.0.0-pre2
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
ccf::common::Config Class Reference

#include <config.hpp>

Inheritance diagram for ccf::common::Config:
ccf::Base ccf::control::Config

Public Member Functions

 Config ()
 
 ~Config ()
 
bool ParseOptions (int argc, char *argv[])
 Parse command line options. More...
 
void SetLogProperties (const std::string &filename)
 Set the log properties file. More...
 
void LoadConfig (const std::string &filename="", bool reset=false)
 Load the configuration file. More...
 
elt::configng::CiiConfigInstanceNode & GetNode (const std::vector< std::string > &names)
 Get the reference to a specific node in the CII Cfg Service namespace. More...
 
bool HasNode (const std::vector< std::string > &names, elt::configng::CiiConfigInstanceNode &node)
 Probe if a given node is defined. If yes, return the reference to the node. More...
 
template<class TYPE >
bool HasPar (const std::vector< std::string > &names, TYPE &value)
 Probe if a given key is defined. Set the value variable if found and return true. More...
 
bool HasPar (const std::vector< std::string > &names)
 Probe if a given parameter is defined. Return true if found. More...
 
template<class TYPE >
TYPE Get (const std::vector< std::string > &names)
 Get a parameter value from the configuration. More...
 
template<class TYPE >
void Set (const std::vector< std::string > &names, TYPE &value)
 Set the value of a parameter in the CII Cfg Service namespace. More...
 
uint32_t GetMaxFrameSize (const std::string &device="")
 Return the maximum frame size in bytes with the associated camera/configuration. More...
 
virtual uint32_t GetMaxFrameSizeUser (const std::string &device="")
 
const DeviceInfoGetDeviceInfo (const std::string &device="") const
 Return reference to Device Info structure. More...
 
void GetDeviceProperties (std::map< std::string, DeviceProperty > &device_properties, const std::string &device="") const
 Get device properties. More...
 
template<class TYPE >
bool HasDeviceProperty (const std::string &name, TYPE &value, const std::string &device="")
 
const bpo::variables_map & GetOptions () const
 Return map with command line options. More...
 
std::string GetDeviceName (const std::string &device="") const
 Return name of a specific device. If "" is given the first (maybe only) device defined,. More...
 
- Public Member Functions inherited from ccf::Base
 Base ()
 
 ~Base ()
 
const std::string & GetClassName () const
 Return the allocated name of the class. More...
 
log4cplus::Logger & Loggger ()
 Return reference to logger used in this context. More...
 

Static Public Member Functions

static ConfigInstance ()
 Return reference to unique instance of the configuration class. More...
 
static utils::bat::Config & BatCfg ()
 Return reference to internal BAT configuration object. More...
 
static const elt::configng::CiiConfigInstanceNamespace & CiiCfg ()
 Return reference to internal CII Configuration namespace object. More...
 
- Static Public Member Functions inherited from ccf::Base
static ccf::mptk::ManagerMptk ()
 Return reference to internal MPTK instance (singleton). More...
 
static void SetLogLevel (const ccf::LogLevel log_level)
 Set the log level. More...
 
static ccf::LogLevel GetLogLevel ()
 Return the current CCF log level. More...
 

Static Public Attributes

static Configs_instance = nullptr
 
static utils::bat::Config s_bat_cfg
 
static std::vector< std::string > s_devices
 
static std::map< std::string, DeviceInfos_device_info
 

Protected Member Functions

bool _HasDeviceProperty (const std::string &name, DeviceProperty &property, const std::string &device)
 
- Protected Member Functions inherited from ccf::Base
void SetClassName (const std::string &class_name)
 Set the name of the class in question. More...
 
void SetLogger (log4cplus::Logger &logger)
 Set reference to logger used in this context. More...
 

Additional Inherited Members

- Protected Attributes inherited from ccf::Base
log4cplus::Logger m_logger
 

Constructor & Destructor Documentation

◆ Config()

ccf::common::Config::Config ( )

◆ ~Config()

ccf::common::Config::~Config ( )

Member Function Documentation

◆ _HasDeviceProperty()

bool ccf::common::Config::_HasDeviceProperty ( const std::string &  name,
DeviceProperty property,
const std::string &  device 
)
protected

◆ BatCfg()

utils::bat::Config & ccf::common::Config::BatCfg ( )
static

Return reference to internal BAT configuration object.

◆ CiiCfg()

const elt::configng::CiiConfigInstanceNamespace & ccf::common::Config::CiiCfg ( )
static

Return reference to internal CII Configuration namespace object.

◆ Get()

template<class TYPE >
TYPE ccf::common::Config::Get ( const std::vector< std::string > &  names)
inline

Get a parameter value from the configuration.

◆ GetDeviceInfo()

const DeviceInfo & ccf::common::Config::GetDeviceInfo ( const std::string &  device = "") const

Return reference to Device Info structure.

◆ GetDeviceName()

std::string ccf::common::Config::GetDeviceName ( const std::string &  device = "") const

Return name of a specific device. If "" is given the first (maybe only) device defined,.

◆ GetDeviceProperties()

void ccf::common::Config::GetDeviceProperties ( std::map< std::string, DeviceProperty > &  device_properties,
const std::string &  device = "" 
) const

Get device properties.

◆ GetMaxFrameSize()

uint32_t ccf::common::Config::GetMaxFrameSize ( const std::string &  device = "")

Return the maximum frame size in bytes with the associated camera/configuration.

◆ GetMaxFrameSizeUser()

uint32_t ccf::common::Config::GetMaxFrameSizeUser ( const std::string &  device = "")
virtual

Specific implementation of the algorithm to derive the maximum frame size. Need normally not be implemented by the user.

◆ GetNode()

elt::configng::CiiConfigInstanceNode & ccf::common::Config::GetNode ( const std::vector< std::string > &  names)

Get the reference to a specific node in the CII Cfg Service namespace.

◆ GetOptions()

const bpo::variables_map & ccf::common::Config::GetOptions ( ) const

Return map with command line options.

◆ HasDeviceProperty()

template<class TYPE >
bool ccf::common::Config::HasDeviceProperty ( const std::string &  name,
TYPE &  value,
const std::string &  device = "" 
)
inline

Check if the given Device Property is defined in the configuration, return true if yes, and the value in the "value" parameter.

◆ HasNode()

bool ccf::common::Config::HasNode ( const std::vector< std::string > &  names,
elt::configng::CiiConfigInstanceNode &  node 
)

Probe if a given node is defined. If yes, return the reference to the node.

◆ HasPar() [1/2]

bool ccf::common::Config::HasPar ( const std::vector< std::string > &  names)

Probe if a given parameter is defined. Return true if found.

◆ HasPar() [2/2]

template<class TYPE >
bool ccf::common::Config::HasPar ( const std::vector< std::string > &  names,
TYPE &  value 
)
inline

Probe if a given key is defined. Set the value variable if found and return true.

◆ Instance()

Config & ccf::common::Config::Instance ( )
static

Return reference to unique instance of the configuration class.

◆ LoadConfig()

void ccf::common::Config::LoadConfig ( const std::string &  filename = "",
bool  reset = false 
)

Load the configuration file.

◆ ParseOptions()

bool ccf::common::Config::ParseOptions ( int  argc,
char *  argv[] 
)

Parse command line options.

◆ Set()

template<class TYPE >
void ccf::common::Config::Set ( const std::vector< std::string > &  names,
TYPE &  value 
)
inline

Set the value of a parameter in the CII Cfg Service namespace.

◆ SetLogProperties()

void ccf::common::Config::SetLogProperties ( const std::string &  filename)

Set the log properties file.

Member Data Documentation

◆ s_bat_cfg

utils::bat::Config ccf::common::Config::s_bat_cfg
static

◆ s_device_info

std::map< std::string, DeviceInfo > ccf::common::Config::s_device_info
static

◆ s_devices

std::vector< std::string > ccf::common::Config::s_devices
static

◆ s_instance

Config * ccf::common::Config::s_instance = nullptr
static

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