File indexing completed on 2025-02-02 05:08:37
0001 /* 0002 SPDX-FileCopyrightText: 2009 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 #include "libaccountwizard_export.h" 0009 #include "setupobject.h" 0010 #include <Akonadi/AgentInstance> 0011 #include <QMap> 0012 0013 class KJob; 0014 0015 class LIBACCOUNTWIZARD_EXPORT Resource : public SetupObject 0016 { 0017 Q_OBJECT 0018 public: 0019 explicit Resource(const QString &type, QObject *parent = nullptr); 0020 ~Resource() = default; 0021 0022 void create() override; 0023 void destroy() override; 0024 void edit(); 0025 0026 public Q_SLOTS: 0027 Q_SCRIPTABLE void setName(const QString &name); 0028 Q_SCRIPTABLE void setOption(const QString &key, const QVariant &value); 0029 Q_SCRIPTABLE [[nodiscard]] QString identifier(); 0030 Q_SCRIPTABLE void reconfigure(); 0031 Q_SCRIPTABLE void setEditMode(const bool editMode); 0032 0033 private: 0034 void instanceCreateResult(KJob *job); 0035 0036 const QString m_typeIdentifier; 0037 QString m_name; 0038 QMap<QString, QVariant> m_settings; 0039 Akonadi::AgentInstance m_instance; 0040 0041 bool m_editMode = false; 0042 };