Doxygen
Loading...
Searching...
No Matches
ConfigOption Class Referenceabstract

Abstract base class for any configuration option. More...

#include <src/configimpl.h>

Inheritance diagram for ConfigOption:
Collaboration diagram for ConfigOption:

Public Types

enum  OptionType {
  O_Info , O_List , O_Enum , O_String ,
  O_Int , O_Bool , O_Obsolete , O_Disabled
}
enum  { MAX_OPTION_LENGTH = 23 }

Public Member Functions

 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)

Protected Member Functions

virtual void writeTemplate (TextStream &t, bool sl, bool upd)=0
virtual void compareDoxyfile (TextStream &t, Config::CompareMode compareMode)=0
virtual void writeXMLDoxyfile (TextStream &t)=0
virtual void writeXSDDoxyfile (TextStream &t)=0
virtual void convertStrToVal (Config::CompareMode)
virtual void emptyValueToDefault ()
virtual void substEnvVars ()=0
virtual void init ()
virtual bool isDefault ()
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

DString m_spaces
DString m_name
DString m_doc
DString m_dependency
DString m_encoding
DString m_userComment
OptionType m_kind

Friends

class ConfigImpl

Detailed Description

Abstract base class for any configuration option.

Definition at line 34 of file configimpl.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_OPTION_LENGTH 

Maximum length of an option in the config file. Used for alignment purposes.

Definition at line 53 of file configimpl.h.

54 {
55 /*! Maximum length of an option in the config file. Used for
56 * alignment purposes.
57 */
59 };

◆ OptionType

The type of option

Enumerator
O_Info 

A section header.

O_List 

A list of items.

O_Enum 

A fixed set of items.

O_String 

A single item.

O_Int 

An integer value.

O_Bool 

A boolean value.

O_Obsolete 

An obsolete option.

O_Disabled 

Disabled compile time option.

Definition at line 42 of file configimpl.h.

43 {
44 O_Info, //!< A section header
45 O_List, //!< A list of items
46 O_Enum, //!< A fixed set of items
47 O_String, //!< A single item
48 O_Int, //!< An integer value
49 O_Bool, //!< A boolean value
50 O_Obsolete, //!< An obsolete option
51 O_Disabled //!< Disabled compile time option
52 };
@ O_Disabled
Disabled compile time option.
Definition configimpl.h:51
@ O_List
A list of items.
Definition configimpl.h:45
@ O_Enum
A fixed set of items.
Definition configimpl.h:46
@ O_Bool
A boolean value.
Definition configimpl.h:49
@ O_String
A single item.
Definition configimpl.h:47
@ O_Obsolete
An obsolete option.
Definition configimpl.h:50
@ O_Int
An integer value.
Definition configimpl.h:48
@ O_Info
A section header.
Definition configimpl.h:44

Constructor & Destructor Documentation

◆ ConfigOption()

ConfigOption::ConfigOption ( OptionType t)
inline

Definition at line 60 of file configimpl.h.

60 : m_kind(t)
61 {
62 m_spaces.fill(' ',40);
63 }
DString m_spaces
Definition configimpl.h:91
OptionType m_kind
Definition configimpl.h:97
DString fill(char c, size_t len)
Fills a string with a predefined character.
Definition dstring.h:278

References DString::fill(), m_kind, and m_spaces.

Referenced by ConfigBool::ConfigBool(), ConfigDisabled::ConfigDisabled(), ConfigEnum::ConfigEnum(), ConfigImpl, ConfigInfo::ConfigInfo(), ConfigInt::ConfigInt(), ConfigList::ConfigList(), ConfigObsolete::ConfigObsolete(), and ConfigString::ConfigString().

Member Function Documentation

◆ addDependency()

void ConfigOption::addDependency ( const char * dep)
inline

Definition at line 71 of file configimpl.h.

71{ m_dependency = dep; }
DString m_dependency
Definition configimpl.h:94

References m_dependency.

◆ compareDoxyfile()

virtual void ConfigOption::compareDoxyfile ( TextStream & t,
Config::CompareMode compareMode )
protectedpure virtual

◆ convertStrToVal()

virtual void ConfigOption::convertStrToVal ( Config::CompareMode )
inlineprotectedvirtual

Reimplemented in ConfigBool, ConfigEnum, and ConfigInt.

Definition at line 80 of file configimpl.h.

80{}

Referenced by ConfigImpl::convertStrToVal().

◆ dependsOn()

DString ConfigOption::dependsOn ( ) const
inline

Definition at line 70 of file configimpl.h.

70{ return m_dependency; }

References m_dependency.

Referenced by Config::checkAndCorrect(), and ConfigImpl::init().

◆ docs()

DString ConfigOption::docs ( ) const
inline

Definition at line 68 of file configimpl.h.

68{ return m_doc; }
DString m_doc
Definition configimpl.h:93

References m_doc.

◆ emptyValueToDefault()

virtual void ConfigOption::emptyValueToDefault ( )
inlineprotectedvirtual

Reimplemented in ConfigList, and ConfigString.

Definition at line 81 of file configimpl.h.

81{}

Referenced by ConfigImpl::emptyValueToDefault().

◆ init()

virtual void ConfigOption::init ( )
inlineprotectedvirtual

Reimplemented in ConfigBool, ConfigEnum, ConfigInt, ConfigList, and ConfigString.

Definition at line 83 of file configimpl.h.

83{}

Referenced by ConfigImpl::init().

◆ isDefault()

virtual bool ConfigOption::isDefault ( )
inlineprotectedvirtual

Reimplemented in ConfigBool, ConfigEnum, ConfigInt, ConfigList, and ConfigString.

Definition at line 84 of file configimpl.h.

84{ return true; }

◆ kind()

OptionType ConfigOption::kind ( ) const
inline

returns the kind of option this is.

Definition at line 66 of file configimpl.h.

66{ return m_kind; }

References m_kind.

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

◆ name()

◆ setEncoding()

void ConfigOption::setEncoding ( const DString & e)
inline

Definition at line 72 of file configimpl.h.

72{ m_encoding = e; }
DString m_encoding
Definition configimpl.h:95

References m_encoding.

◆ setUserComment()

void ConfigOption::setUserComment ( const DString & u)
inline

Definition at line 73 of file configimpl.h.

73{ m_userComment += u; }
DString m_userComment
Definition configimpl.h:96

References m_userComment.

◆ substEnvVars()

virtual void ConfigOption::substEnvVars ( )
protectedpure virtual

◆ writeBoolValue()

void ConfigOption::writeBoolValue ( TextStream & t,
bool v,
bool initSpace = true )
protected

Definition at line 123 of file configimpl.l.

124{
125 if (initSpace) t << " ";
126 if (v) t << "YES"; else t << "NO";
127}

Referenced by ConfigBool::writeTemplate(), and ConfigBool::writeXMLDoxyfile().

◆ writeIntValue()

void ConfigOption::writeIntValue ( TextStream & t,
int i,
bool initSpace = true )
protected

Definition at line 129 of file configimpl.l.

130{
131 if (initSpace) t << " ";
132 t << i;
133}

Referenced by ConfigInt::writeTemplate(), and ConfigInt::writeXMLDoxyfile().

◆ writeStringList()

void ConfigOption::writeStringList ( TextStream & t,
const StringVector & l )
protected

Definition at line 167 of file configimpl.l.

168{
169 bool first=true;
170 for (const auto &p : l)
171 {
172 if (!first) t << " \\\n";
173 DString s = p;
174 if (!first)
175 t << " ";
176 bool wasQuoted = ((s.at(0)=='"') && (s.at(s.length()-1)=='"'));
177 if (wasQuoted)
178 {
179 s = s.mid(1,s.length()-2);
180 }
181 writeStringValue(t,s,true,wasQuoted);
182 first=false;
183 }
184}
void writeStringValue(TextStream &t, const DString &s, bool initSpace=true, bool wasQuoted=false)
Definition configimpl.l:135
DString mid(size_t index, size_t len=npos) const
Definition dstring.h:318
char & at(size_t i)
Returns a reference to the character at index i.
Definition dstring.h:686
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:151

References DString::at(), DString::length(), DString::mid(), and writeStringValue().

Referenced by ConfigList::writeTemplate().

◆ writeStringValue()

void ConfigOption::writeStringValue ( TextStream & t,
const DString & s,
bool initSpace = true,
bool wasQuoted = false )
protected

Definition at line 135 of file configimpl.l.

136{
137 char c = 0;
138 bool needsEscaping=wasQuoted;
139 // convert the string back to it original g_encoding
140 DString se = configStringRecode(s,"UTF-8",m_encoding);
141 if (se.empty()) return;
142 const char *p=se.data();
143 if (p)
144 {
145 if (initSpace) t << " ";
146 while ((c=*p++)!=0 && !needsEscaping)
147 needsEscaping = (c==' ' || c== ',' || c=='\n' || c=='\t' || c=='"' || c=='#');
148 if (needsEscaping)
149 {
150 t << "\"";
151 p=se.data();
152 while (*p)
153 {
154 if (*p==' ' && *(p+1)=='\0') break; // skip inserted space at the end
155 if (*p=='"') t << "\\"; // escape quotes
156 t << *p++;
157 }
158 t << "\"";
159 }
160 else
161 {
162 t << se;
163 }
164 }
165}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148
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 DString configStringRecode(const DString &str, const DString &fromEncoding, const DString &toEncoding)
Definition configimpl.l:685

References configStringRecode(), DString::data(), DString::empty(), and m_encoding.

Referenced by writeStringList(), ConfigBool::writeTemplate(), ConfigEnum::writeTemplate(), ConfigInt::writeTemplate(), ConfigString::writeTemplate(), ConfigEnum::writeXMLDoxyfile(), ConfigList::writeXMLDoxyfile(), and ConfigString::writeXMLDoxyfile().

◆ writeTemplate()

virtual void ConfigOption::writeTemplate ( TextStream & t,
bool sl,
bool upd )
protectedpure virtual

◆ writeXMLDoxyfile()

virtual void ConfigOption::writeXMLDoxyfile ( TextStream & t)
protectedpure virtual

◆ writeXSDDoxyfile()

virtual void ConfigOption::writeXSDDoxyfile ( TextStream & t)
protectedpure virtual

◆ ConfigImpl

friend class ConfigImpl
friend

Definition at line 36 of file configimpl.h.

References ConfigImpl, and ConfigOption().

Referenced by ConfigImpl.

Member Data Documentation

◆ m_dependency

DString ConfigOption::m_dependency
protected

Definition at line 94 of file configimpl.h.

Referenced by addDependency(), and dependsOn().

◆ m_doc

◆ m_encoding

DString ConfigOption::m_encoding
protected

Definition at line 95 of file configimpl.h.

Referenced by setEncoding(), and writeStringValue().

◆ m_kind

OptionType ConfigOption::m_kind
protected

Definition at line 97 of file configimpl.h.

Referenced by ConfigOption(), and kind().

◆ m_name

◆ m_spaces

◆ m_userComment


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