35 #ifndef CRYPTOCONFIG_H
36 #define CRYPTOCONFIG_H
38 #include "qgpgme_export.h"
55 class QGPGME_EXPORT CryptoConfigEntry
65 enum Level { Level_Basic = 0,
86 enum ArgType { ArgType_None = 0,
99 virtual ~CryptoConfigEntry() {}
104 virtual QString name()
const = 0;
109 virtual QString description()
const = 0;
114 virtual QString path()
const = 0;
119 virtual bool isOptional()
const = 0;
124 virtual bool isReadOnly()
const = 0;
129 virtual bool isList()
const = 0;
134 virtual bool isRuntime()
const = 0;
139 virtual Level level()
const = 0;
144 virtual ArgType argType()
const = 0;
149 virtual bool isSet()
const = 0;
154 virtual bool boolValue()
const = 0;
160 virtual QString stringValue()
const = 0;
165 virtual int intValue()
const = 0;
170 virtual unsigned int uintValue()
const = 0;
175 virtual QUrl urlValue()
const = 0;
180 virtual unsigned int numberOfTimesSet()
const = 0;
185 virtual std::vector<int> intValueList()
const = 0;
190 virtual std::vector<unsigned int> uintValueList()
const = 0;
195 virtual QList<QUrl> urlValueList()
const = 0;
200 virtual void resetToDefault() = 0;
206 virtual void setBoolValue(
bool) = 0;
211 virtual void setStringValue(
const QString &) = 0;
216 virtual void setIntValue(
int) = 0;
221 virtual void setUIntValue(
unsigned int) = 0;
226 virtual void setURLValue(
const QUrl &) = 0;
231 virtual void setNumberOfTimesSet(
unsigned int) = 0;
236 virtual void setIntValueList(
const std::vector<int> &) = 0;
241 virtual void setUIntValueList(
const std::vector<unsigned int> &) = 0;
246 virtual void setURLValueList(
const QList<QUrl> &) = 0;
251 virtual bool isDirty()
const = 0;
260 QStringList stringValueList()
const;
266 class QGPGME_EXPORT CryptoConfigGroup
270 virtual ~CryptoConfigGroup() {}
275 virtual QString name()
const = 0;
280 virtual QString iconName()
const = 0;
285 virtual QString description()
const = 0;
290 virtual QString path()
const = 0;
295 virtual CryptoConfigEntry::Level level()
const = 0;
302 virtual QStringList entryList()
const = 0;
309 virtual CryptoConfigEntry *entry(
const QString &name)
const = 0;
315 class QGPGME_EXPORT CryptoConfigComponent
319 virtual ~CryptoConfigComponent() {}
324 virtual QString name()
const = 0;
329 virtual QString iconName()
const = 0;
334 virtual QString description()
const = 0;
342 virtual QStringList groupList()
const = 0;
348 virtual CryptoConfigGroup *group(
const QString &name)
const = 0;
355 class QGPGME_EXPORT CryptoConfig
359 virtual ~CryptoConfig() {}
366 virtual QStringList componentList()
const = 0;
372 virtual CryptoConfigComponent *component(
const QString &name)
const = 0;
382 CryptoConfigEntry *entry(
const QString &componentName,
const QString &groupName,
const QString &entryName)
const
384 const QGpgME::CryptoConfigComponent *comp = component(componentName);
385 const QGpgME::CryptoConfigGroup *group = comp ? comp->group(groupName) :
nullptr;
386 return group ? group->entry(entryName) :
nullptr;
395 virtual void sync(
bool runtime) = 0;
404 virtual void clear() = 0;