• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kleopatra

  • sources
  • kde-4.12
  • kdepim
  • kleopatra
  • kgpgconf
configuration.h
Go to the documentation of this file.
1 /* -*- mode: c++; c-basic-offset:4 -*-
2  configuration.h
3 
4  This file is part of Kleopatra, the KDE keymanager
5  Copyright (c) 2007 Klarälvdalens Datakonsult AB
6 
7  Kleopatra is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
11 
12  Kleopatra is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 
21  In addition, as a special exception, the copyright holders give
22  permission to link the code of this program with any edition of
23  the Qt library by Trolltech AS, Norway (or with modified versions
24  of Qt that use the same license as Qt), and distribute linked
25  combinations including the two. You must obey the GNU General
26  Public License in all respects for all of the code used other than
27  Qt. If you modify this file, you may extend this exception to
28  your version of the file, but you are not obligated to do so. If
29  you do not wish to do so, delete this exception statement from
30  your version.
31 */
32 
33 #ifndef KGPGCONF_CONFIGURATION_H
34 #define KGPGCONF_CONFIGURATION_H
35 
36 #include <KUrl>
37 
38 #include <QHash>
39 #include <QString>
40 #include <QVariant>
41 
42 class ConfigComponent;
43 class ConfigGroup;
44 class ConfigEntry;
45 
46 class Config
47 {
48 public:
49  Config();
50  ~Config();
51 
52  QStringList componentList() const;
53  ConfigComponent* component( const QString& name ) const;
54  void addComponent( ConfigComponent* component );
55 
56 private:
57  Config( const Config& );
58  Config& operator=( const Config& );
59 
60 private:
61  QHash<QString,ConfigComponent*> m_components;
62 };
63 
64 class ConfigComponent
65 {
66 public:
67  explicit ConfigComponent( const QString& name );
68  ~ConfigComponent();
69 
70  QString name() const;
71  void setName( const QString& name );
72 
73  void setDescription( const QString& description );
74  QString description() const;
75 
76  QStringList groupList() const;
77  ConfigGroup* group( const QString& name ) const;
78 
79  void addGroup( ConfigGroup* group );
80  ConfigEntry* entry( const QString& name ) const;
81 
82 private:
83  ConfigComponent();
84  ConfigComponent( const ConfigComponent& );
85  ConfigComponent& operator=( const ConfigComponent& );
86 
87 private:
88  QString m_name;
89  QString m_description;
90  QHash<QString, ConfigGroup*> m_groups;
91  mutable QHash<QString, ConfigEntry*> m_entries;
92 };
93 
94 class ConfigGroup
95 {
96 public:
97  explicit ConfigGroup( const QString& name );
98  ~ConfigGroup();
99 
100  QString name() const;
101  void setName( const QString& name );
102 
103  QString description() const;
104  void setDescription( const QString& description );
105 
106  bool isEmpty() const;
107 
108  QStringList entryList() const;
109  ConfigEntry* entry( const QString& name ) const;
110  void addEntry( ConfigEntry* entry );
111 
112 private:
113  ConfigGroup();
114  ConfigGroup( const ConfigGroup& );
115  ConfigGroup& operator=( const ConfigGroup& );
116 
117 private:
118  QString m_name;
119  QString m_description;
120  QHash<QString, ConfigEntry*> m_entries;
121 };
122 
123 class ConfigEntry
124 {
125 public:
126 
127  enum Mutability {
128  UnspecifiedMutability=0,
129  NoChange,
130  Change
131  };
132 
133  enum ArgType {
134  None=0,
135  String,
136  Int,
137  UInt,
138  Path,
139  Url,
140  LdapUrl,
141  DirPath
142  };
143 
144  enum ListType {
145  NoList=0,
146  List
147  };
148 
149  explicit ConfigEntry( const QString& name );
150 
151  QString name() const;
152  void setName( const QString& name );
153 
154  QString description() const;
155  void setDescription( const QString& description );
156 
157  void setMutability( Mutability mutability );
158  Mutability mutability() const;
159 
160  bool isDirty() const;
161  void unsetDirty();
162 
163  void setUseBuiltInDefault( bool useDefault );
164  bool useBuiltInDefault() const;
165 
166  void setValueFromRawString( const QString& str );
167  void setValueFromUiString( const QString& str );
168 
169  void setArgType( ArgType type, ListType listType );
170  ArgType argType() const;
171 
173  QString typeDescription() const;
174 
175  bool boolValue() const;
176  QString stringValue() const;
177  int intValue() const;
178  unsigned int uintValue() const;
179  KUrl urlValue() const;
180  QStringList stringValueList() const;
181  QList<int> intValueList() const;
182  QList<unsigned int> uintValueList() const;
183  KUrl::List urlValueList() const;
184  unsigned int numberOfTimesSet() const;
185 
186  QString outputString() const;
187 
188  void setBoolValue( bool );
189  void setStringValue( const QString& );
190  void setIntValue( int );
191  void setUIntValue( unsigned int );
192  void setURLValue( const KUrl& );
193  void setNumberOfTimesSet( unsigned int );
194  void setStringValueList( const QStringList& );
195  void setIntValueList( const QList<int>& );
196  void setUIntValueList( const QList<unsigned int>& );
197  void setURLValueList( const KUrl::List& );
198 
199 private:
200  bool isStringType() const;
201  bool isList() const;
202 
203  enum EscapeMode {
204  NoEscape=0,
205  Escape=1,
206  Quote=2,
207  EscapeAndQuote=3
208  };
209 
210  QString toString( EscapeMode mode ) const;
211 
212  ConfigEntry();
213  ConfigEntry( const ConfigEntry& );
214  ConfigEntry& operator=( const ConfigEntry& );
215 
216  enum UnescapeMode {
217  DoNotUnescape=0,
218  Unescape=1
219  };
220 
221  QVariant stringToValue( const QString& str, UnescapeMode mode ) const;
222 
223 private:
224  bool m_dirty;
225  QString m_name;
226  QString m_description;
227  QVariant m_value;
228  Mutability m_mutability;
229  bool m_useDefault;
230  ArgType m_argType;
231  bool m_isList;
232 };
233 
234 #endif // KGPGCONF_CONFIGURATION_H
235 
ConfigGroup::isEmpty
bool isEmpty() const
Definition: configuration.cpp:213
ConfigEntry::outputString
QString outputString() const
Definition: configuration.cpp:569
ConfigEntry::Url
Definition: configuration.h:139
ConfigEntry::setUIntValue
void setUIntValue(unsigned int)
Definition: configuration.cpp:505
ConfigComponent::groupList
QStringList groupList() const
Definition: configuration.cpp:175
Config::component
ConfigComponent * component(const QString &name) const
Definition: configuration.cpp:133
ConfigEntry::intValueList
QList< int > intValueList() const
Definition: configuration.cpp:424
ConfigEntry::setBoolValue
void setBoolValue(bool)
Definition: configuration.cpp:478
ConfigEntry::argType
ArgType argType() const
Definition: configuration.cpp:333
ConfigEntry::setStringValueList
void setStringValueList(const QStringList &)
Definition: configuration.cpp:533
Kleo::Formatting::type
QString type(const GpgME::Key &key)
ConfigEntry::uintValueList
QList< unsigned int > uintValueList() const
Definition: configuration.cpp:436
ConfigEntry::ArgType
ArgType
Definition: configuration.h:133
ConfigComponent::name
QString name() const
Definition: configuration.cpp:155
ConfigComponent::entry
ConfigEntry * entry(const QString &name) const
Definition: configuration.cpp:194
ConfigEntry::DirPath
Definition: configuration.h:141
ConfigGroup::entry
ConfigEntry * entry(const QString &name) const
Definition: configuration.cpp:248
ConfigEntry::setValueFromUiString
void setValueFromUiString(const QString &str)
Definition: configuration.cpp:473
ConfigEntry::typeDescription
QString typeDescription() const
Human-readable (i.e.
Definition: configuration.cpp:338
ConfigEntry::uintValue
unsigned int uintValue() const
Definition: configuration.cpp:388
ConfigEntry::setUseBuiltInDefault
void setUseBuiltInDefault(bool useDefault)
Definition: configuration.cpp:319
ConfigEntry::ListType
ListType
Definition: configuration.h:144
ConfigEntry::setDescription
void setDescription(const QString &description)
Definition: configuration.cpp:293
ConfigEntry::setNumberOfTimesSet
void setNumberOfTimesSet(unsigned int)
Definition: configuration.cpp:518
ConfigEntry::setIntValue
void setIntValue(int)
Definition: configuration.cpp:497
ConfigEntry::stringValueList
QStringList stringValueList() const
Definition: configuration.cpp:417
ConfigEntry::setValueFromRawString
void setValueFromRawString(const QString &str)
Definition: configuration.cpp:468
Config::componentList
QStringList componentList() const
Definition: configuration.cpp:128
ConfigGroup::setDescription
void setDescription(const QString &description)
Definition: configuration.cpp:238
Config
Definition: configuration.h:46
ConfigEntry::String
Definition: configuration.h:135
ConfigComponent::group
ConfigGroup * group(const QString &name) const
Definition: configuration.cpp:180
ConfigGroup::addEntry
void addEntry(ConfigEntry *entry)
Definition: configuration.cpp:253
ConfigEntry::LdapUrl
Definition: configuration.h:140
ConfigGroup::setName
void setName(const QString &name)
Definition: configuration.cpp:228
ConfigEntry::stringValue
QString stringValue() const
Definition: configuration.cpp:376
ConfigEntry::None
Definition: configuration.h:134
ConfigComponent::~ConfigComponent
~ConfigComponent()
Definition: configuration.cpp:150
ConfigEntry::Path
Definition: configuration.h:138
ConfigComponent
Definition: configuration.h:64
ConfigComponent::description
QString description() const
Definition: configuration.cpp:165
ConfigGroup::~ConfigGroup
~ConfigGroup()
Definition: configuration.cpp:218
Config::addComponent
void addComponent(ConfigComponent *component)
Definition: configuration.cpp:138
ConfigEntry::boolValue
bool boolValue() const
Definition: configuration.cpp:369
ConfigGroup
Definition: configuration.h:94
ConfigComponent::setDescription
void setDescription(const QString &description)
Definition: configuration.cpp:170
ConfigEntry::UInt
Definition: configuration.h:137
ConfigEntry::mutability
Mutability mutability() const
Definition: configuration.cpp:309
ConfigEntry::setName
void setName(const QString &name)
Definition: configuration.cpp:280
ConfigEntry::urlValue
KUrl urlValue() const
Definition: configuration.cpp:395
Config::~Config
~Config()
Definition: configuration.cpp:123
ConfigGroup::description
QString description() const
Definition: configuration.cpp:233
ConfigEntry::setStringValue
void setStringValue(const QString &)
Definition: configuration.cpp:488
ConfigEntry::setIntValueList
void setIntValueList(const QList< int > &)
Definition: configuration.cpp:539
ConfigEntry::setURLValue
void setURLValue(const KUrl &)
Definition: configuration.cpp:511
ConfigEntry::setMutability
void setMutability(Mutability mutability)
Definition: configuration.cpp:301
ConfigEntry::Mutability
Mutability
Definition: configuration.h:127
ConfigEntry::numberOfTimesSet
unsigned int numberOfTimesSet() const
Definition: configuration.cpp:526
ConfigEntry::Change
Definition: configuration.h:130
ConfigComponent::setName
void setName(const QString &name)
Definition: configuration.cpp:160
ConfigEntry::setURLValueList
void setURLValueList(const KUrl::List &)
Definition: configuration.cpp:559
ConfigEntry::unsetDirty
void unsetDirty()
Definition: configuration.cpp:270
ConfigEntry::intValue
int intValue() const
Definition: configuration.cpp:381
ConfigEntry::NoList
Definition: configuration.h:145
ConfigEntry::Int
Definition: configuration.h:136
ConfigEntry::setArgType
void setArgType(ArgType type, ListType listType)
Definition: configuration.cpp:327
ConfigComponent::addGroup
void addGroup(ConfigGroup *group)
Definition: configuration.cpp:185
ConfigEntry::name
QString name() const
Definition: configuration.cpp:275
ConfigEntry::List
Definition: configuration.h:146
name
const char * name
Definition: uiserver/selectcertificatecommand.cpp:114
ConfigEntry::NoChange
Definition: configuration.h:129
ConfigEntry::urlValueList
KUrl::List urlValueList() const
Definition: configuration.cpp:448
ConfigEntry::useBuiltInDefault
bool useBuiltInDefault() const
Definition: configuration.cpp:314
ConfigGroup::entryList
QStringList entryList() const
Definition: configuration.cpp:243
ConfigEntry::UnspecifiedMutability
Definition: configuration.h:128
ConfigEntry::setUIntValueList
void setUIntValueList(const QList< unsigned int > &)
Definition: configuration.cpp:549
ConfigEntry
Definition: configuration.h:123
ConfigEntry::isDirty
bool isDirty() const
Definition: configuration.cpp:265
ConfigEntry::description
QString description() const
Definition: configuration.cpp:288
ConfigGroup::name
QString name() const
Definition: configuration.cpp:223
QList< int >
Config::Config
Config()
Definition: configuration.cpp:119
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:56:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kleopatra

Skip menu "kleopatra"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal