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 38 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 57 of file configimpl.h.

58 {
59 /*! Maximum length of an option in the config file. Used for
60 * alignment purposes.
61 */
63 };

◆ 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 46 of file configimpl.h.

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

Constructor & Destructor Documentation

◆ ConfigOption()

ConfigOption::ConfigOption ( OptionType t)
inline

Definition at line 64 of file configimpl.h.

64 : m_kind(t)
65 {
66 m_spaces.fill(' ',40);
67 }
DString m_spaces
Definition configimpl.h:95
OptionType m_kind
Definition configimpl.h:101
DString fill(char c, size_t len)
Fills a string with a predefined character.
Definition dstring.h:283

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 75 of file configimpl.h.

75{ m_dependency = dep; }
DString m_dependency
Definition configimpl.h:98

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 84 of file configimpl.h.

84{}

Referenced by ConfigImpl::convertStrToVal().

◆ dependsOn()

DString ConfigOption::dependsOn ( ) const
inline

Definition at line 74 of file configimpl.h.

74{ return m_dependency; }

References m_dependency.

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

◆ docs()

DString ConfigOption::docs ( ) const
inline

Definition at line 72 of file configimpl.h.

72{ return m_doc; }
DString m_doc
Definition configimpl.h:97

References m_doc.

◆ emptyValueToDefault()

virtual void ConfigOption::emptyValueToDefault ( )
inlineprotectedvirtual

Reimplemented in ConfigList, and ConfigString.

Definition at line 85 of file configimpl.h.

85{}

Referenced by ConfigImpl::emptyValueToDefault().

◆ init()

virtual void ConfigOption::init ( )
inlineprotectedvirtual

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

Definition at line 87 of file configimpl.h.

87{}

Referenced by ConfigImpl::init().

◆ isDefault()

virtual bool ConfigOption::isDefault ( )
inlineprotectedvirtual

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

Definition at line 88 of file configimpl.h.

88{ return true; }

◆ kind()

OptionType ConfigOption::kind ( ) const
inline

returns the kind of option this is.

Definition at line 70 of file configimpl.h.

70{ 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 76 of file configimpl.h.

76{ m_encoding = e; }
DString m_encoding
Definition configimpl.h:99

References m_encoding.

◆ setUserComment()

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

Definition at line 77 of file configimpl.h.

77{ m_userComment += u; }
DString m_userComment
Definition configimpl.h:100

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 127 of file configimpl.l.

128{
129 if (initSpace) t << " ";
130 if (v) t << "YES"; else t << "NO";
131}

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

◆ writeIntValue()

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

Definition at line 133 of file configimpl.l.

134{
135 if (initSpace) t << " ";
136 t << i;
137}

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

◆ writeStringList()

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

Definition at line 171 of file configimpl.l.

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

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 139 of file configimpl.l.

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

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 40 of file configimpl.h.

References ABSTRACT_BASE_CLASS, ConfigImpl, and ConfigOption().

Referenced by ConfigImpl.

Member Data Documentation

◆ m_dependency

DString ConfigOption::m_dependency
protected

Definition at line 98 of file configimpl.h.

Referenced by addDependency(), and dependsOn().

◆ m_doc

◆ m_encoding

DString ConfigOption::m_encoding
protected

Definition at line 99 of file configimpl.h.

Referenced by setEncoding(), and writeStringValue().

◆ m_kind

OptionType ConfigOption::m_kind
protected

Definition at line 101 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: