libkleo
cryptoconfig.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef CRYPTOCONFIG_H
00034 #define CRYPTOCONFIG_H
00035
00036 #ifdef __cplusplus
00037
00038
00039
00040 #include <kurl.h>
00041
00042
00043
00044 namespace Kleo {
00045
00049 class CryptoConfigEntry {
00050
00051 public:
00052 #endif
00053
00058 enum Level { Level_Basic = 0,
00059 Level_Advanced = 1,
00060 Level_Expert = 2 };
00061
00079 enum ArgType { ArgType_None = 0,
00080 ArgType_String = 1,
00081 ArgType_Int = 2,
00082 ArgType_UInt = 3,
00083 ArgType_Path = 4,
00084 ArgType_URL = 5,
00085 ArgType_LDAPURL = 6,
00086 ArgType_DirPath = 7,
00087
00088 NumArgType
00089 };
00090
00091 #ifdef __cplusplus
00092 virtual ~CryptoConfigEntry() {}
00093
00097 virtual QString name() const = 0;
00098
00102 virtual QString description() const = 0;
00103
00107 virtual QString path() const = 0;
00108
00112 virtual bool isOptional() const = 0;
00113
00117 virtual bool isReadOnly() const = 0;
00118
00122 virtual bool isList() const = 0;
00123
00127 virtual bool isRuntime() const = 0;
00128
00132 virtual Level level() const = 0;
00133
00137 virtual ArgType argType() const = 0;
00138
00142 virtual bool isSet() const = 0;
00143
00147 virtual bool boolValue() const = 0;
00148
00153 virtual QString stringValue() const = 0;
00154
00158 virtual int intValue() const = 0;
00159
00163 virtual unsigned int uintValue() const = 0;
00164
00168 virtual KUrl urlValue() const = 0;
00169
00173 virtual unsigned int numberOfTimesSet() const = 0;
00174
00178 virtual QStringList stringValueList() const = 0;
00179
00183 virtual QList<int> intValueList() const = 0;
00184
00188 virtual QList<unsigned int> uintValueList() const = 0;
00189
00193 virtual KUrl::List urlValueList() const = 0;
00194
00198 virtual void resetToDefault() = 0;
00199
00204 virtual void setBoolValue( bool ) = 0;
00205
00209 virtual void setStringValue( const QString& ) = 0;
00210
00214 virtual void setIntValue( int ) = 0;
00215
00219 virtual void setUIntValue( unsigned int ) = 0;
00220
00224 virtual void setURLValue( const KUrl& ) = 0;
00225
00229 virtual void setNumberOfTimesSet( unsigned int ) = 0;
00230
00234 virtual void setStringValueList( const QStringList& ) = 0;
00235
00239 virtual void setIntValueList( const QList<int>& ) = 0;
00240
00244 virtual void setUIntValueList( const QList<unsigned int>& ) = 0;
00245
00249 virtual void setURLValueList( const KUrl::List& ) = 0;
00250
00254 virtual bool isDirty() const = 0;
00255 };
00256
00260 class CryptoConfigGroup {
00261
00262 public:
00263 virtual ~CryptoConfigGroup() {}
00264
00268 virtual QString name() const = 0;
00269
00273 virtual QString iconName() const = 0;
00274
00278 virtual QString description() const = 0;
00279
00283 virtual QString path() const = 0;
00284
00288 virtual CryptoConfigEntry::Level level() const = 0;
00289
00295 virtual QStringList entryList() const = 0;
00296
00302 virtual CryptoConfigEntry* entry( const QString& name ) const = 0;
00303 };
00304
00308 class CryptoConfigComponent {
00309
00310 public:
00311 virtual ~CryptoConfigComponent() {}
00312
00316 virtual QString name() const = 0;
00317
00321 virtual QString iconName() const = 0;
00322
00326 virtual QString description() const = 0;
00327
00334 virtual QStringList groupList() const = 0;
00335
00340 virtual CryptoConfigGroup* group( const QString& name ) const = 0;
00341
00342 };
00343
00347 class CryptoConfig {
00348
00349 public:
00350 virtual ~CryptoConfig() {}
00351
00357 virtual QStringList componentList() const = 0;
00358
00363 virtual CryptoConfigComponent* component( const QString& name ) const = 0;
00364
00373 CryptoConfigEntry* entry( const QString& componentName, const QString& groupName, const QString& entryName ) const {
00374 const Kleo::CryptoConfigComponent* comp = component( componentName );
00375 const Kleo::CryptoConfigGroup* group = comp ? comp->group( groupName ) : 0;
00376 return group ? group->entry( entryName ) : 0;
00377 }
00378
00386 virtual void sync( bool runtime ) = 0;
00387
00395 virtual void clear() = 0;
00396 };
00397
00398 }
00399 #endif
00400 #endif