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 "abstractbase.h"
10 #include "libimportwizard_export.h"
11 #include <Akonadi/Collection>
12 
13 namespace KContacts
14 {
15 class Addressee;
16 class ContactGroup;
17 }
18 
19 class KJob;
20 namespace LibImportWizard
21 {
22 class LIBIMPORTWIZARD_EXPORT AbstractAddressBook : public LibImportWizard::AbstractBase
23 {
24     Q_OBJECT
25 public:
26     AbstractAddressBook();
27     ~AbstractAddressBook() override;
28 
29 protected:
30     void createGroup(const KContacts::ContactGroup &group);
31     void createContact(const KContacts::Addressee &address);
32 
33     void addImportInfo(const QString &log) override;
34     void addImportError(const QString &log) override;
35 
36     void addAddressBookImportInfo(const QString &log);
37     void addAddressBookImportError(const QString &log);
38     void cleanUp();
39     void addImportContactNote(KContacts::Addressee &address, const QString &applicationName);
40 
41 private:
42     void slotStoreDone(KJob *job);
43     bool selectAddressBook();
44     Akonadi::Collection mCollection;
45 };
46 }
47