MythTV  master
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
XmlConfiguration Class Reference

#include <libmythbase/configuration.h>

Public Member Functions

 XmlConfiguration ()
 
 XmlConfiguration (QString fileName)
 
bool Load ()
 
bool Save ()
 
bool FileExists ()
 
bool GetValue (const QString &setting, const bool defaultValue)
 
int GetValue (const QString &setting, const int defaultValue)
 
QString GetValue (const QString &setting, const QString &defaultValue)
 
QString GetValue (const QString &setting, const char *defaultValue)
 get the string value stored as setting with a default C string. More...
 
void SetValue (const QString &setting, bool value)
 
void SetValue (const QString &setting, int value)
 
void SetValue (const QString &setting, const char *value)
 set value to a C string; just in case, for overload resolution More...
 
void SetValue (const QString &setting, const QString &value)
 
void ClearValue (const QString &setting)
 
template<typename T >
std::enable_if_t< std::chrono::__is_duration< T >::value, T > GetDuration (const QString &setting, T defaultValue=T::zero())
 
template<typename T >
std::enable_if_t< std::chrono::__is_duration< T >::value > SetDuration (const QString &setting, T value)
 

Static Public Attributes

static constexpr auto kDefaultFilename = "config.xml"
 

Protected Member Functions

QDomNode FindNode (const QString &setting, bool create)
 
QDomNode FindNode (QStringList &path, QDomNode &current, bool create)
 
QString GetValue (const QString &setting)
 

Protected Attributes

QString m_path {GetConfDir()}
 
QString m_fileName {kDefaultFilename}
 
QDomDocument m_config
 
QDomNode m_rootNode
 

Detailed Description

Definition at line 38 of file configuration.h.

Constructor & Destructor Documentation

◆ XmlConfiguration() [1/2]

XmlConfiguration::XmlConfiguration ( )
inline

Definition at line 57 of file configuration.h.

◆ XmlConfiguration() [2/2]

XmlConfiguration::XmlConfiguration ( QString  fileName)
inlineexplicit

Definition at line 58 of file configuration.h.

Member Function Documentation

◆ FindNode() [1/2]

QDomNode XmlConfiguration::FindNode ( const QString &  setting,
bool  create 
)
protected

Definition at line 169 of file configuration.cpp.

Referenced by ClearValue(), FindNode(), GetValue(), and SetValue().

◆ FindNode() [2/2]

QDomNode XmlConfiguration::FindNode ( QStringList &  path,
QDomNode &  current,
bool  create 
)
protected

Definition at line 175 of file configuration.cpp.

◆ GetValue() [1/5]

QString XmlConfiguration::GetValue ( const QString &  setting)
protected

◆ Load()

bool XmlConfiguration::Load ( )

Definition at line 35 of file configuration.cpp.

◆ Save()

bool XmlConfiguration::Save ( )

◆ FileExists()

bool XmlConfiguration::FileExists ( )

Definition at line 28 of file configuration.cpp.

◆ GetValue() [2/5]

bool XmlConfiguration::GetValue ( const QString &  setting,
const bool  defaultValue 
)
inline

Definition at line 69 of file configuration.h.

◆ GetValue() [3/5]

int XmlConfiguration::GetValue ( const QString &  setting,
const int  defaultValue 
)
inline

Definition at line 74 of file configuration.h.

◆ GetValue() [4/5]

QString XmlConfiguration::GetValue ( const QString &  setting,
const QString &  defaultValue 
)
inline

Definition at line 79 of file configuration.h.

◆ GetValue() [5/5]

QString XmlConfiguration::GetValue ( const QString &  setting,
const char *  defaultValue 
)
inline

get the string value stored as setting with a default C string.

This fixes overload resolution, making it choose this instead of the bool one.

Definition at line 87 of file configuration.h.

◆ SetValue() [1/4]

void XmlConfiguration::SetValue ( const QString &  setting,
bool  value 
)
inline

◆ SetValue() [2/4]

void XmlConfiguration::SetValue ( const QString &  setting,
int  value 
)
inline

Definition at line 97 of file configuration.h.

◆ SetValue() [3/4]

void XmlConfiguration::SetValue ( const QString &  setting,
const char *  value 
)
inline

set value to a C string; just in case, for overload resolution

Note
: This should probably never be used since the C string should have already been converted to a QString.

Definition at line 105 of file configuration.h.

◆ SetValue() [4/4]

void XmlConfiguration::SetValue ( const QString &  setting,
const QString &  value 
)

Definition at line 222 of file configuration.cpp.

◆ ClearValue()

void XmlConfiguration::ClearValue ( const QString &  setting)

Definition at line 246 of file configuration.cpp.

◆ GetDuration()

template<typename T >
std::enable_if_t<std::chrono::__is_duration<T>::value, T> XmlConfiguration::GetDuration ( const QString &  setting,
defaultValue = T::zero() 
)
inline

◆ SetDuration()

template<typename T >
std::enable_if_t<std::chrono::__is_duration<T>::value> XmlConfiguration::SetDuration ( const QString &  setting,
value 
)
inline

Definition at line 121 of file configuration.h.

Member Data Documentation

◆ m_path

QString XmlConfiguration::m_path {GetConfDir()}
protected

Definition at line 42 of file configuration.h.

Referenced by FileExists(), Load(), and Save().

◆ m_fileName

QString XmlConfiguration::m_fileName {kDefaultFilename}
protected

Definition at line 43 of file configuration.h.

Referenced by FileExists(), Load(), and Save().

◆ m_config

QDomDocument XmlConfiguration::m_config
protected

Definition at line 45 of file configuration.h.

Referenced by FindNode(), Load(), Save(), and SetValue().

◆ m_rootNode

QDomNode XmlConfiguration::m_rootNode
protected

Definition at line 46 of file configuration.h.

Referenced by FindNode(), and Load().

◆ kDefaultFilename

constexpr auto XmlConfiguration::kDefaultFilename = "config.xml"
staticconstexpr

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