Doxygen
Loading...
Searching...
No Matches
ConfigImpl Class Reference

Singleton for configuration variables. More...

#include <src/configimpl.h>

Collaboration diagram for ConfigImpl:

Public Member Functions

 ConfigImpl ()
void writeTemplate (TextStream &t, bool shortIndex, bool updateOnly)
void compareDoxyfile (TextStream &t, Config::CompareMode compareMode)
void writeXMLDoxyfile (TextStream &t)
void writeXSDDoxyfile (TextStream &t)
void setHeader (const char *header)
void convertStrToVal (Config::CompareMode compareMode)
void emptyValueToDefault ()
void substituteEnvironmentVars ()
void init ()
bool parseString (const DString &fn, const DString &str, bool upd=false)
bool parse (const DString &fn, bool upd=false)
void appendStartComment (const DString &u)
void appendUserComment (const DString &u)
void appendStoreRepl (const DString &u)
DString takeStartComment ()
DString takeUserComment ()
DString takeStoreRepl ()
Getting configuration values.
DStringgetString (const char *fileName, int num, const char *name) const
StringVectorgetList (const char *fileName, int num, const char *name) const
DStringgetEnum (const char *fileName, int num, const char *name) const
int & getInt (const char *fileName, int num, const char *name) const
bool & getBool (const char *fileName, int num, const char *name) const
ConfigOptionget (const DString &name) const
Adding configuration options.
ConfigInfoaddInfo (const char *name, const char *doc)
ConfigStringaddString (const char *name, const char *doc)
ConfigEnumaddEnum (const char *name, const char *doc, const char *defVal)
ConfigListaddList (const char *name, const char *doc)
ConfigIntaddInt (const char *name, const char *doc, int minVal, int maxVal, int defVal)
ConfigBooladdBool (const char *name, const char *doc, bool defVal)
ConfigOptionaddObsolete (const char *name, ConfigOption::OptionType orgType)
ConfigOptionaddDisabled (const char *name)

Static Public Member Functions

static ConfigImplinstance ()
static void deleteInstance ()
static void config_err_ (fmt::string_view fmt, fmt::format_args args)
static void config_term_ (fmt::string_view fmt, fmt::format_args args)
static void config_warn_ (fmt::string_view fmt, fmt::format_args args)
template<typename ... Args>
static void config_err (fmt::format_string< Args... > fmt, Args &&... args)
template<typename ... Args>
static void config_term (fmt::format_string< Args... > fmt, Args &&... args)
template<typename ... Args>
static void config_warn (fmt::format_string< Args... > fmt, Args &&... args)

Private Attributes

ConfigOptionList m_options
ConfigOptionList m_obsolete
ConfigOptionList m_disabled
ConfigOptionMap m_dict
DString m_startComment
DString m_userComment
DString m_storeRepl
DString m_header

Static Private Attributes

static std::unique_ptr< ConfigImplm_instance

Detailed Description

Singleton for configuration variables.

This object holds the global static variables read from a user-supplied configuration file. The static member instance() can be used to get a pointer to the one and only instance.

Set all variables to their default values by calling Config::instance()->init()

Definition at line 338 of file configimpl.h.

Constructor & Destructor Documentation

◆ ConfigImpl()

ConfigImpl::ConfigImpl ( )

Definition at line 1568 of file configimpl.l.

1569{
1570 addConfigOptions(this);
1571}
void addConfigOptions(ConfigImpl *cfg)

References addConfigOptions().

Referenced by instance().

Member Function Documentation

◆ addBool()

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

Adds a new boolean option with name and documentation doc. The boolean has a default value of defVal.

Returns
An object representing the option.

Definition at line 475 of file configimpl.h.

478 {
479 ConfigBool *result = new ConfigBool(name,doc,defVal);
480 m_options.push_back(std::unique_ptr<ConfigOption>(result));
481 m_dict.emplace(name,result);
482 return result;
483 }
ConfigOptionList m_options
Definition configimpl.h:629
ConfigOptionMap m_dict
Definition configimpl.h:632

References m_dict, and m_options.

◆ addDisabled()

ConfigOption * ConfigImpl::addDisabled ( const char * name)
inline

Adds an option that has been disabled at compile time.

Definition at line 495 of file configimpl.h.

496 {
497 ConfigDisabled *result = new ConfigDisabled(name);
498 m_disabled.push_back(std::unique_ptr<ConfigOption>(result));
499 m_dict.emplace(name,result);
500 return result;
501 }
ConfigOptionList m_disabled
Definition configimpl.h:631

References m_dict, and m_disabled.

◆ addEnum()

ConfigEnum * ConfigImpl::addEnum ( const char * name,
const char * doc,
const char * defVal )
inline

Adds a new enumeration option with name and documentation doc and initial value defVal.

Returns
An object representing the option.

Definition at line 434 of file configimpl.h.

437 {
438 ConfigEnum *result = new ConfigEnum(name,doc,defVal);
439 m_options.push_back(std::unique_ptr<ConfigOption>(result));
440 m_dict.emplace(name,result);
441 return result;
442 }

References m_dict, and m_options.

◆ addInfo()

ConfigInfo * ConfigImpl::addInfo ( const char * name,
const char * doc )
inline

Starts a new configuration section with name and description doc.

Returns
An object representing the option.

Definition at line 411 of file configimpl.h.

412 {
413 ConfigInfo *result = new ConfigInfo(name,doc);
414 m_options.push_back(std::unique_ptr<ConfigOption>(result));
415 return result;
416 }

References m_options.

◆ addInt()

ConfigInt * ConfigImpl::addInt ( const char * name,
const char * doc,
int minVal,
int maxVal,
int defVal )
inline

Adds a new integer option with name and documentation doc. The integer has a range between minVal and maxVal and a default value of defVal.

Returns
An object representing the option.

Definition at line 461 of file configimpl.h.

464 {
465 ConfigInt *result = new ConfigInt(name,doc,minVal,maxVal,defVal);
466 m_options.push_back(std::unique_ptr<ConfigOption>(result));
467 m_dict.emplace(name,result);
468 return result;
469 }

References m_dict, and m_options.

◆ addList()

ConfigList * ConfigImpl::addList ( const char * name,
const char * doc )
inline

Adds a new string option with name and documentation doc.

Returns
An object representing the option.

Definition at line 447 of file configimpl.h.

449 {
450 ConfigList *result = new ConfigList(name,doc);
451 m_options.push_back(std::unique_ptr<ConfigOption>(result));
452 m_dict.emplace(name,result);
453 return result;
454 }

References m_dict, and m_options.

◆ addObsolete()

ConfigOption * ConfigImpl::addObsolete ( const char * name,
ConfigOption::OptionType orgType )
inline

Adds an option that has become obsolete.

Definition at line 486 of file configimpl.h.

487 {
488 ConfigObsolete *result = new ConfigObsolete(name,orgType);
489 m_obsolete.push_back(std::unique_ptr<ConfigOption>(result));
490 m_dict.emplace(name,result);
491 return result;
492 }
ConfigOptionList m_obsolete
Definition configimpl.h:630

References m_dict, and m_obsolete.

◆ addString()

ConfigString * ConfigImpl::addString ( const char * name,
const char * doc )
inline

Adds a new string option with name and documentation doc.

Returns
An object representing the option.

Definition at line 421 of file configimpl.h.

423 {
424 ConfigString *result = new ConfigString(name,doc);
425 m_options.push_back(std::unique_ptr<ConfigOption>(result));
426 m_dict.emplace(name,result);
427 return result;
428 }

References m_dict, and m_options.

◆ appendStartComment()

void ConfigImpl::appendStartComment ( const DString & u)
inline

Append user start comment

Definition at line 562 of file configimpl.h.

563 {
564 m_startComment += u;
565 }
DString m_startComment
Definition configimpl.h:634

References m_startComment.

◆ appendStoreRepl()

void ConfigImpl::appendStoreRepl ( const DString & u)
inline

Append replacement string

Definition at line 574 of file configimpl.h.

575 {
576 m_storeRepl += u;
577 }
DString m_storeRepl
Definition configimpl.h:636

References m_storeRepl.

◆ appendUserComment()

void ConfigImpl::appendUserComment ( const DString & u)
inline

Append user comment

Definition at line 568 of file configimpl.h.

569 {
570 m_userComment += u;
571 }
DString m_userComment
Definition configimpl.h:635

References m_userComment.

Referenced by stripComment().

◆ compareDoxyfile()

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

Writes a the differences between the current configuration and the template configuration to stream t.

Definition at line 1338 of file configimpl.l.

1339{
1340 t << "# Difference with default Doxyfile " << getFullVersion();
1341 t << "\n";
1342 for (const auto &option : m_options)
1343 {
1344 option->m_userComment = "";
1345 option->compareDoxyfile(t,compareMode);
1346 }
1347 if (!m_storeRepl.empty())
1348 {
1349 t << "\n";
1350 t << takeStoreRepl() << "\n";
1351 }
1352}
DString takeStoreRepl()
Definition configimpl.h:599
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148

References ConfigOption::compareDoxyfile(), DString::empty(), m_options, m_storeRepl, ConfigOption::m_userComment, and takeStoreRepl().

Referenced by Config::compareDoxyfile().

◆ config_err()

template<typename ... Args>
void ConfigImpl::config_err ( fmt::format_string< Args... > fmt,
Args &&... args )
inlinestatic

Definition at line 611 of file configimpl.h.

612 {
613 config_err_(fmt,fmt::make_format_args(args...));
614 }
static void config_err_(fmt::string_view fmt, fmt::format_args args)
Definition configimpl.l:55

References config_err_().

Referenced by tryPath().

◆ config_err_()

void ConfigImpl::config_err_ ( fmt::string_view fmt,
fmt::format_args args )
static

Definition at line 55 of file configimpl.l.

56{
57 fmt::print(stderr,"{}{}",error_str,fmt::vformat(fmt,args));
58}
static const char * error_str
Definition configimpl.l:53

References error_str.

Referenced by config_err().

◆ config_term()

template<typename ... Args>
void ConfigImpl::config_term ( fmt::format_string< Args... > fmt,
Args &&... args )
inlinestatic

Definition at line 617 of file configimpl.h.

618 {
619 config_term_(fmt,fmt::make_format_args(args...));
620 }
static void config_term_(fmt::string_view fmt, fmt::format_args args)
Definition configimpl.l:60

References config_term_().

Referenced by Config::checkAndCorrect(), configFileToString(), configStringRecode(), getBool(), getEnum(), getInt(), getList(), getString(), init(), and readIncludeFile().

◆ config_term_()

void ConfigImpl::config_term_ ( fmt::string_view fmt,
fmt::format_args args )
static

Definition at line 60 of file configimpl.l.

61{
62 fmt::print(stderr,"{}{}",error_str,fmt::vformat(fmt,args));
63 fmt::print(stderr,"{}\n", "Exiting...");
64 exit(1);
65}

References error_str.

Referenced by config_term().

◆ config_warn()

template<typename ... Args>
void ConfigImpl::config_warn ( fmt::format_string< Args... > fmt,
Args &&... args )
inlinestatic

Definition at line 623 of file configimpl.h.

624 {
625 config_warn_(fmt,fmt::make_format_args(args...));
626 }
static void config_warn_(fmt::string_view fmt, fmt::format_args args)
Definition configimpl.l:67

References config_warn_().

Referenced by ConfigBool::convertStrToVal(), ConfigEnum::convertStrToVal(), ConfigInt::convertStrToVal(), processList(), processString(), and setTranslator().

◆ config_warn_()

void ConfigImpl::config_warn_ ( fmt::string_view fmt,
fmt::format_args args )
static

Definition at line 67 of file configimpl.l.

68{
69 fmt::print(stderr,"{}{}",warning_str,fmt::vformat(fmt,args));
70}
static const char * warning_str
Definition configimpl.l:52

References warning_str.

Referenced by config_warn().

◆ convertStrToVal()

void ConfigImpl::convertStrToVal ( Config::CompareMode compareMode)

Converts the string values read from the configuration file to real values for non-string type options (like int, and bools)

Definition at line 1377 of file configimpl.l.

1378{
1379 for (const auto &option : m_options)
1380 {
1381 option->convertStrToVal(compareMode);
1382 }
1383}

References ConfigOption::convertStrToVal(), and m_options.

◆ deleteInstance()

void ConfigImpl::deleteInstance ( )
inlinestatic

Delete the instance

Definition at line 353 of file configimpl.h.

354 {
355 m_instance.reset();
356 }
static std::unique_ptr< ConfigImpl > m_instance
Definition configimpl.h:633

References m_instance.

Referenced by Config::deinit().

◆ emptyValueToDefault()

void ConfigImpl::emptyValueToDefault ( )

Sets default value in case value is empty

Definition at line 1384 of file configimpl.l.

1385{
1386 for (const auto &option : m_options)
1387 {
1388 option->emptyValueToDefault();
1389 }
1390}

References ConfigOption::emptyValueToDefault(), and m_options.

◆ get()

ConfigOption * ConfigImpl::get ( const DString & name) const
inline

Returns the ConfigOption corresponding with name or 0 if the option is not supported.

Definition at line 396 of file configimpl.h.

397 {
398 auto it = m_dict.find(name.str());
399 return it!=m_dict.end() ? it->second : nullptr;
400 }
const std::string & str() const
Definition dstring.h:645

References m_dict, and DString::str().

Referenced by checkEncoding(), getConfig(), DocPara::handleDoxyConfig(), init(), Config::parse(), and Config::updateObsolete().

◆ getBool()

bool & ConfigImpl::getBool ( const char * fileName,
int num,
const char * name ) const

Returns the value of the boolean option with name name. The arguments num and fileName are for debugging purposes only. There is a convenience function Config_getBool() for this.

Definition at line 337 of file configimpl.l.

338{
339 auto it = m_dict.find(name);
340 if (it==m_dict.end())
341 {
342 config_term("{}<{}>: Internal error: Requested unknown option {}!\n",fileName,num,name);
343 }
344 else if (it->second->kind()!=ConfigOption::O_Bool)
345 {
346 config_term("{}<{}>: Internal error: Requested option {} not of boolean type!\n",fileName,num,name);
347 }
348 return *(dynamic_cast<ConfigBool *>(it->second))->valueRef();
349}
static void config_term(fmt::format_string< Args... > fmt, Args &&... args)
Definition configimpl.h:617
@ O_Bool
A boolean value.
Definition configimpl.h:49

References config_term(), m_dict, and ConfigOption::O_Bool.

◆ getEnum()

DString & ConfigImpl::getEnum ( const char * fileName,
int num,
const char * name ) const

Returns the value of the enum option with name name. The arguments num and fileName are for debugging purposes only. There is a convenience function Config_getEnum() for this.

Definition at line 309 of file configimpl.l.

310{
311 auto it = m_dict.find(name);
312 if (it==m_dict.end())
313 {
314 config_term("{}<{}>: Internal error: Requested unknown option {}!\n",fileName,num,name);
315 }
316 else if (it->second->kind()!=ConfigOption::O_Enum)
317 {
318 config_term("{}<{}>: Internal error: Requested option {} not of enum type!\n",fileName,num,name);
319 }
320 return *(dynamic_cast<ConfigEnum *>(it->second))->valueRef();
321}
@ O_Enum
A fixed set of items.
Definition configimpl.h:46

References config_term(), m_dict, and ConfigOption::O_Enum.

◆ getInt()

int & ConfigImpl::getInt ( const char * fileName,
int num,
const char * name ) const

Returns the value of the integer option with name name. The arguments num and fileName are for debugging purposes only. There is a convenience function Config_getInt() for this.

Definition at line 323 of file configimpl.l.

324{
325 auto it = m_dict.find(name);
326 if (it==m_dict.end())
327 {
328 config_term("{}<{}>: Internal error: Requested unknown option {}!\n",fileName,num,name);
329 }
330 else if (it->second->kind()!=ConfigOption::O_Int)
331 {
332 config_term("{}<{}>: Internal error: Requested option {} not of integer type!\n",fileName,num,name);
333 }
334 return *(dynamic_cast<ConfigInt *>(it->second))->valueRef();
335}
@ O_Int
An integer value.
Definition configimpl.h:48

References config_term(), m_dict, and ConfigOption::O_Int.

◆ getList()

StringVector & ConfigImpl::getList ( const char * fileName,
int num,
const char * name ) const

Returns the value of the list option with name name. The arguments num and fileName are for debugging purposes only. There is a convenience function Config_getList() for this.

Definition at line 295 of file configimpl.l.

296{
297 auto it = m_dict.find(name);
298 if (it==m_dict.end())
299 {
300 config_term("{}<{}>: Internal error: Requested unknown option {}!\n",fileName,num,name);
301 }
302 else if (it->second->kind()!=ConfigOption::O_List)
303 {
304 config_term("{}<{}>: Internal error: Requested option {} not of list type!\n",fileName,num,name);
305 }
306 return *(dynamic_cast<ConfigList *>(it->second))->valueRef();
307}
@ O_List
A list of items.
Definition configimpl.h:45

References config_term(), m_dict, and ConfigOption::O_List.

◆ getString()

DString & ConfigImpl::getString ( const char * fileName,
int num,
const char * name ) const

Returns the value of the string option with name name. The arguments num and fileName are for debugging purposes only. There is a convenience function Config_getString() for this.

Definition at line 281 of file configimpl.l.

282{
283 auto it = m_dict.find(name);
284 if (it==m_dict.end())
285 {
286 config_term("{}<{}>: Internal error: Requested unknown option {}!\n",fileName,num,name);
287 }
288 else if (it->second->kind()!=ConfigOption::O_String)
289 {
290 config_term("{}<{}>: Internal error: Requested option {} not of string type!\n",fileName,num,name);
291 }
292 return *(dynamic_cast<ConfigString *>(it->second))->valueRef();
293}
@ O_String
A single item.
Definition configimpl.h:47

References config_term(), m_dict, and ConfigOption::O_String.

◆ init()

void ConfigImpl::init ( )

Initialize config variables to their default value

Definition at line 1545 of file configimpl.l.

1546{
1547 for (const auto &option : m_options)
1548 {
1549 option->init();
1550 }
1551
1552 // sanity check if all depends relations are valid
1553 for (const auto &option : m_options)
1554 {
1555 DString depName = option->dependsOn();
1556 if (!depName.empty())
1557 {
1558 ConfigOption * opt = ConfigImpl::instance()->get(depName);
1559 if (opt==0)
1560 {
1561 config_term("Config option '{}' has invalid depends relation on unknown option '{}'\n",
1562 option->name(),depName);
1563 }
1564 }
1565 }
1566}
static ConfigImpl * instance()
Definition configimpl.h:347
ConfigOption * get(const DString &name) const
Definition configimpl.h:396

References config_term(), ConfigOption::dependsOn(), DString::empty(), get(), ConfigOption::init(), instance(), m_options, and ConfigOption::name().

Referenced by Config::init().

◆ instance()

ConfigImpl * ConfigImpl::instance ( )
inlinestatic

Returns the one and only instance of this class

Definition at line 347 of file configimpl.h.

348 {
349 if (!m_instance) m_instance = std::make_unique<ConfigImpl>();
350 return m_instance.get();
351 }

References ConfigImpl(), and m_instance.

Referenced by Config::compareDoxyfile(), Config::deinit(), getConfig(), DocPara::handleDoxyConfig(), Config::init(), init(), Config::parse(), parseString(), Config::postProcess(), Config::updateObsolete(), Config::writeTemplate(), Config::writeXMLDoxyfile(), and Config::writeXSDDoxyfile().

◆ parse()

bool ConfigImpl::parse ( const DString & fn,
bool upd = false )

Parse a configuration file with name fn.

Returns
true if successful, false if the file could not be opened or read.

Definition at line 1624 of file configimpl.l.

1625{
1626 g_encoding = "UTF-8";
1627 DebugLex debugLex(Debug::Lex_configimpl, __FILE__, qPrint(fn));
1628 bool retval = parseString(fn,configFileToString(fn), update);
1629 return retval;
1630}
bool parseString(const DString &fn, const DString &str, bool upd=false)
@ Lex_configimpl
Definition debug.h:57
static DString configFileToString(const DString &name)
static DString g_encoding
Definition configimpl.l:648
const char * qPrint(const char *s)
Definition dstring.h:783

References configFileToString(), g_encoding, Debug::Lex_configimpl, parseString(), and qPrint().

Referenced by Config::parse().

◆ parseString()

bool ConfigImpl::parseString ( const DString & fn,
const DString & str,
bool upd = false )

Parse a configuration data in string str.

Returns
true if successful, or false if the string could not be parsed.

Definition at line 1604 of file configimpl.l.

1605{
1606#ifdef FLEX_DEBUG
1607 configimplYYset_debug(Debug::isFlagSet(Debug::Lex_configimpl)?1:0);
1608#endif
1610 g_inputString = str.data();
1611 g_inputPosition = 0;
1612 g_yyFileName = fn;
1613 g_yyLineNr = 1;
1615 configimplYYrestart( configimplYYin );
1616 BEGIN( Start );
1617 g_configUpdate = update;
1618 configimplYYlex();
1619 g_configUpdate = false;
1620 g_inputString = 0;
1621 return true;
1622}
void clear()
Definition dstring.h:214
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
Definition dstring.h:157
static bool isFlagSet(const DebugMask mask)
Definition debug.cpp:132
static const char * g_inputString
Definition configimpl.l:637
static std::vector< std::unique_ptr< ConfigFileState > > g_includeStack
Definition configimpl.l:646
static int g_inputPosition
Definition configimpl.l:638
static bool g_configUpdate
Definition configimpl.l:647
static DString g_yyFileName
Definition configimpl.l:640
static ConfigImpl * g_config
Definition configimpl.l:649
static int g_yyLineNr
Definition configimpl.l:639

References DString::data(), g_config, g_configUpdate, g_includeStack, g_inputPosition, g_inputString, g_yyFileName, g_yyLineNr, instance(), Debug::isFlagSet(), and Debug::Lex_configimpl.

Referenced by parse().

◆ setHeader()

void ConfigImpl::setHeader ( const char * header)
inline

Definition at line 525 of file configimpl.h.

525{ m_header = header; }
DString m_header
Definition configimpl.h:637

References m_header.

◆ substituteEnvironmentVars()

void ConfigImpl::substituteEnvironmentVars ( )

Replaces references to environment variable by the actual value of the environment variable.

Definition at line 1537 of file configimpl.l.

1538{
1539 for (const auto &option : m_options)
1540 {
1541 option->substEnvVars();
1542 }
1543}

References m_options, and ConfigOption::substEnvVars().

◆ takeStartComment()

DString ConfigImpl::takeStartComment ( )
inline

Take the user start comment and reset it internally

Returns
user start comment

Definition at line 581 of file configimpl.h.

582 {
583 DString result=m_startComment;
585 return substitute(result,"\r","");
586 }
DString substitute(const DString &s, const DString &src, const DString &dst)
substitute all occurrences of src in s by dst
Definition dstring.cpp:485

References DString::clear(), m_startComment, and substitute().

Referenced by writeTemplate().

◆ takeStoreRepl()

DString ConfigImpl::takeStoreRepl ( )
inline

Take the replacement string

Returns
the replacement string

Definition at line 599 of file configimpl.h.

600 {
601 DString result=m_storeRepl;
603 return substitute(result,"\r","");
604 }

References DString::clear(), m_storeRepl, and substitute().

Referenced by compareDoxyfile().

◆ takeUserComment()

DString ConfigImpl::takeUserComment ( )
inline

Take the user comment and reset it internally

Returns
user comment

Definition at line 590 of file configimpl.h.

591 {
592 DString result=m_userComment;
594 return substitute(result,"\r","");
595 }

References DString::clear(), m_userComment, and substitute().

Referenced by writeTemplate().

◆ writeTemplate()

void ConfigImpl::writeTemplate ( TextStream & t,
bool shortIndex,
bool updateOnly )

Writes a template configuration to stream t. If shortIndex is true the description of each configuration option will be omitted.

Definition at line 1314 of file configimpl.l.

1315{
1316 /* print first lines of user comment that were at the beginning of the file, might have special meaning for editors */
1317 if (!m_startComment.empty())
1318 {
1319 t << takeStartComment() << "\n";
1320 }
1321 t << "# Doxyfile " << getDoxygenVersion() << "\n\n";
1322 if (!sl)
1323 {
1324 t << convertToComment(m_header,"");
1325 }
1326 for (const auto &option : m_options)
1327 {
1328 option->writeTemplate(t,sl,upd);
1329 }
1330 /* print last lines of user comment that were at the end of the file */
1331 if (!m_userComment.empty())
1332 {
1333 t << "\n";
1334 t << takeUserComment();
1335 }
1336}
DString takeUserComment()
Definition configimpl.h:590
DString takeStartComment()
Definition configimpl.h:581
static DString convertToComment(const DString &s, const DString &u)
Definition configimpl.l:84

References convertToComment(), DString::empty(), m_header, m_options, m_startComment, m_userComment, takeStartComment(), takeUserComment(), and ConfigOption::writeTemplate().

Referenced by Config::writeTemplate().

◆ writeXMLDoxyfile()

void ConfigImpl::writeXMLDoxyfile ( TextStream & t)

Writes a the used settings of the current configuration as XML format to stream t.

Definition at line 1354 of file configimpl.l.

1355{
1356 t << "<?xml version='1.0' encoding='UTF-8' standalone='no'?>\n";
1357 t << "<doxyfile xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"doxyfile.xsd\" version=\"" << getDoxygenVersion() << "\" xml:lang=\"" << theTranslator->trISOLang() << "\">\n";
1358 for (const auto &option : m_options)
1359 {
1360 option->writeXMLDoxyfile(t);
1361 }
1362 t << "</doxyfile>\n";
1363}
virtual DString trISOLang()=0
Translator * theTranslator
Definition language.cpp:76

References m_options, theTranslator, Translator::trISOLang(), and ConfigOption::writeXMLDoxyfile().

Referenced by Config::writeXMLDoxyfile().

◆ writeXSDDoxyfile()

void ConfigImpl::writeXSDDoxyfile ( TextStream & t)

Writes all possible setting ids to an XSD file for validation through the stream t.

Definition at line 1365 of file configimpl.l.

1366{
1367 for (const auto &option : m_options)
1368 {
1369 option->writeXSDDoxyfile(t);
1370 }
1371 for (const auto &option : m_disabled)
1372 {
1373 option->writeXSDDoxyfile(t);
1374 }
1375}

References m_disabled, m_options, and ConfigOption::writeXSDDoxyfile().

Referenced by Config::writeXSDDoxyfile().

Member Data Documentation

◆ m_dict

ConfigOptionMap ConfigImpl::m_dict
private

◆ m_disabled

ConfigOptionList ConfigImpl::m_disabled
private

Definition at line 631 of file configimpl.h.

Referenced by addDisabled(), and writeXSDDoxyfile().

◆ m_header

DString ConfigImpl::m_header
private

Definition at line 637 of file configimpl.h.

Referenced by setHeader(), and writeTemplate().

◆ m_instance

std::unique_ptr< ConfigImpl > ConfigImpl::m_instance
staticprivate

Definition at line 633 of file configimpl.h.

Referenced by deleteInstance(), and instance().

◆ m_obsolete

ConfigOptionList ConfigImpl::m_obsolete
private

Definition at line 630 of file configimpl.h.

Referenced by addObsolete().

◆ m_options

◆ m_startComment

DString ConfigImpl::m_startComment
private

Definition at line 634 of file configimpl.h.

Referenced by appendStartComment(), takeStartComment(), and writeTemplate().

◆ m_storeRepl

DString ConfigImpl::m_storeRepl
private

Definition at line 636 of file configimpl.h.

Referenced by appendStoreRepl(), compareDoxyfile(), and takeStoreRepl().

◆ m_userComment

DString ConfigImpl::m_userComment
private

Definition at line 635 of file configimpl.h.

Referenced by appendUserComment(), takeUserComment(), and writeTemplate().


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