1 /*
2    SPDX-FileCopyrightText: 2012-2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "libimportwizard_export.h"
10 #include <QMap>
11 #include <QObject>
12 #include <QVariant>
13 
14 namespace PimCommon
15 {
16 class CreateResource;
17 }
18 
19 namespace LibImportWizard
20 {
21 class AbstractDisplayInfo;
22 class LIBIMPORTWIZARD_EXPORT AbstractBase : public QObject
23 {
24     Q_OBJECT
25 public:
26     explicit AbstractBase();
27     ~AbstractBase() override;
28 
29     QString createResource(const QString &resources, const QString &name, const QMap<QString, QVariant> &settings);
30 
31     void setAbstractDisplayInfo(AbstractDisplayInfo *abstractDisplayInfo);
32 
33 protected:
34     virtual void addImportInfo(const QString &log) = 0;
35     virtual void addImportError(const QString &log) = 0;
36 
37     AbstractDisplayInfo *mAbstractDisplayInfo = nullptr;
38 
39 private:
40     void slotCreateResourceError(const QString &);
41     void slotCreateResourceInfo(const QString &);
42     PimCommon::CreateResource *mCreateResource = nullptr;
43 };
44 }
45