Doxygen
Loading...
Searching...
No Matches
ConfigBool Class Referencefinal

Class representing a Boolean type option. More...

#include <src/configimpl.h>

Inheritance diagram for ConfigBool:
Collaboration diagram for ConfigBool:

Public Member Functions

 ConfigBool (const char *name, const char *doc, bool defVal)
DStringvalueStringRef ()
bool * valueRef ()
void convertStrToVal (Config::CompareMode compareMode) override
void substEnvVars () override
void setValueString (const DString &v)
void writeTemplate (TextStream &t, bool sl, bool upd) override
void compareDoxyfile (TextStream &t, Config::CompareMode compareMode) override
void writeXMLDoxyfile (TextStream &t) override
void writeXSDDoxyfile (TextStream &t) override
void init () override
bool isDefault () override
Public Member Functions inherited from ConfigOption
 ConfigOption (OptionType t)
OptionType kind () const
DString name () const
DString docs () const
DString dependsOn () const
void addDependency (const char *dep)
void setEncoding (const DString &e)
void setUserComment (const DString &u)

Private Attributes

bool m_value
bool m_defValue
DString m_valueString

Additional Inherited Members

Public Types inherited from ConfigOption
enum  OptionType {
  O_Info , O_List , O_Enum , O_String ,
  O_Int , O_Bool , O_Obsolete , O_Disabled
}
enum  { MAX_OPTION_LENGTH = 23 }
Protected Member Functions inherited from ConfigOption
virtual void emptyValueToDefault ()
void writeBoolValue (TextStream &t, bool v, bool initSpace=true)
void writeIntValue (TextStream &t, int i, bool initSpace=true)
void writeStringValue (TextStream &t, const DString &s, bool initSpace=true, bool wasQuoted=false)
void writeStringList (TextStream &t, const StringVector &l)
Protected Attributes inherited from ConfigOption
DString m_spaces
DString m_name
DString m_doc
DString m_dependency
DString m_encoding
DString m_userComment
OptionType m_kind

Detailed Description

Class representing a Boolean type option.

Definition at line 250 of file configimpl.h.

Constructor & Destructor Documentation

◆ ConfigBool()

ConfigBool::ConfigBool ( const char * name,
const char * doc,
bool defVal )
inline

Definition at line 253 of file configimpl.h.

255 {
256 m_name = name;
257 m_doc = doc;
258 m_value = defVal;
259 m_defValue = defVal;
260 }
bool m_defValue
Definition configimpl.h:274
ConfigOption(OptionType t)
Definition configimpl.h:60
DString name() const
Definition configimpl.h:67
DString m_name
Definition configimpl.h:92
@ O_Bool
A boolean value.
Definition configimpl.h:49
DString m_doc
Definition configimpl.h:93

References ConfigOption::ConfigOption(), m_defValue, ConfigOption::m_doc, ConfigOption::m_name, m_value, ConfigOption::name(), and ConfigOption::O_Bool.

Member Function Documentation

◆ compareDoxyfile()

void ConfigBool::compareDoxyfile ( TextStream & t,
Config::CompareMode compareMode )
overridevirtual

Implements ConfigOption.

Definition at line 593 of file configimpl.l.

594{
595 if (!isDefault() || ((compareMode == Config::CompareMode::CompressedNoEnv) && containsEnvVar(m_valueString))) writeTemplate(t,true,true);
596}
void writeTemplate(TextStream &t, bool sl, bool upd) override
Definition configimpl.l:568
bool isDefault() override
Definition configimpl.h:271
DString m_valueString
Definition configimpl.h:275
static bool containsEnvVar(DString &str)

References Config::CompressedNoEnv, containsEnvVar(), isDefault(), m_valueString, and writeTemplate().

◆ convertStrToVal()

void ConfigBool::convertStrToVal ( Config::CompareMode compareMode)
overridevirtual

Reimplemented from ConfigOption.

Definition at line 233 of file configimpl.l.

234{
236 {
237 if (compareMode == Config::CompareMode::CompressedNoEnv)
238 {
239 if (containsEnvVar(m_valueString)) return;
240 }
241 bool isValid=false;
242 bool b = convertStringToBool(m_valueString,isValid);
243 if (isValid)
244 {
245 m_value=b;
246 }
247 else
248 {
249 ConfigImpl::config_warn("argument '{}' for option {} is not a valid boolean value\n"
250 "Using the default: {}!\n",m_valueString,m_name,m_value?"YES":"NO");
251 }
252 }
253}
static void config_warn(fmt::format_string< Args... > fmt, Args &&... args)
Definition configimpl.h:623
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148
DString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition dstring.h:337
static bool convertStringToBool(const DString &str, bool &isValid)
Definition configimpl.l:213

References Config::CompressedNoEnv, ConfigImpl::config_warn(), containsEnvVar(), convertStringToBool(), DString::empty(), ConfigOption::m_name, m_value, m_valueString, and DString::stripWhiteSpace().

◆ init()

void ConfigBool::init ( )
inlineoverridevirtual

Reimplemented from ConfigOption.

Definition at line 270 of file configimpl.h.

270{ m_value = m_defValue; }

References m_defValue, and m_value.

◆ isDefault()

bool ConfigBool::isDefault ( )
inlineoverridevirtual

Reimplemented from ConfigOption.

Definition at line 271 of file configimpl.h.

271{ return m_value == m_defValue; }

References m_defValue, and m_value.

Referenced by compareDoxyfile(), and writeXMLDoxyfile().

◆ setValueString()

void ConfigBool::setValueString ( const DString & v)
inline

Definition at line 265 of file configimpl.h.

265{ m_valueString = v; }

References m_valueString.

◆ substEnvVars()

void ConfigBool::substEnvVars ( )
overridevirtual

Implements ConfigOption.

Definition at line 1520 of file configimpl.l.

1521{
1523}
static void substEnvVarsInString(DString &s)

References m_valueString, and substEnvVarsInString().

◆ valueRef()

bool * ConfigBool::valueRef ( )
inline

Definition at line 262 of file configimpl.h.

262{ return &m_value; }

References m_value.

◆ valueStringRef()

DString * ConfigBool::valueStringRef ( )
inline

Definition at line 261 of file configimpl.h.

261{ return &m_valueString; }

References m_valueString.

Referenced by DocPara::handleDoxyConfig(), and Config::updateObsolete().

◆ writeTemplate()

void ConfigBool::writeTemplate ( TextStream & t,
bool sl,
bool upd )
overridevirtual

Implements ConfigOption.

Definition at line 568 of file configimpl.l.

569{
570 if (!sl)
571 {
572 t << "\n";
574 t << "\n";
575 }
576 else if (!m_userComment.empty())
577 {
579 }
580 DString spaces = m_spaces.left(MAX_OPTION_LENGTH-m_name.length());
581 t << m_name << spaces << "=";
582 if (upd && !m_valueString.empty())
583 {
585 }
586 else
587 {
589 }
590 t << "\n";
591}
DString m_spaces
Definition configimpl.h:91
DString m_userComment
Definition configimpl.h:96
void writeStringValue(TextStream &t, const DString &s, bool initSpace=true, bool wasQuoted=false)
Definition configimpl.l:135
void writeBoolValue(TextStream &t, bool v, bool initSpace=true)
Definition configimpl.l:123
DString left(size_t len) const
Definition dstring.h:306
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:151
static DString convertToComment(const DString &s, const DString &u)
Definition configimpl.l:84

References convertToComment(), DString::empty(), DString::left(), DString::length(), ConfigOption::m_doc, ConfigOption::m_name, ConfigOption::m_spaces, ConfigOption::m_userComment, m_value, m_valueString, ConfigOption::MAX_OPTION_LENGTH, ConfigOption::writeBoolValue(), and ConfigOption::writeStringValue().

Referenced by compareDoxyfile().

◆ writeXMLDoxyfile()

void ConfigBool::writeXMLDoxyfile ( TextStream & t)
overridevirtual

Implements ConfigOption.

Definition at line 598 of file configimpl.l.

599{
600 t << " <option id='" << m_name << "'";
601 t << " default='" << (isDefault() ? "yes" : "no") << "'";
602 t << " type='bool'";
603 t << ">";
604 t << "<value>";
605 writeBoolValue(t,m_value,false);
606 t << "</value>";
607 t << "</option>\n";
608}

References isDefault(), ConfigOption::m_name, m_value, and ConfigOption::writeBoolValue().

◆ writeXSDDoxyfile()

void ConfigBool::writeXSDDoxyfile ( TextStream & t)
overridevirtual

Implements ConfigOption.

Definition at line 610 of file configimpl.l.

611{
612 t << " <xsd:enumeration value=\"" << m_name << "\"/>\n";
613}

References ConfigOption::m_name.

Member Data Documentation

◆ m_defValue

bool ConfigBool::m_defValue
private

Definition at line 274 of file configimpl.h.

Referenced by ConfigBool(), init(), and isDefault().

◆ m_value

bool ConfigBool::m_value
private

◆ m_valueString

DString ConfigBool::m_valueString
private

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