automaticaddcontactsjob.h 1.5 KB
Newer Older
Laurent Montel's avatar
Laurent Montel committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*
   Copyright (C) 2016 Montel Laurent <montel@kde.org>

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; see the file COPYING.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/

#ifndef AUTOMATICADDCONTACTSJOB_H
#define AUTOMATICADDCONTACTSJOB_H

#include <QObject>
Laurent Montel's avatar
Laurent Montel committed
24
#include <AkonadiCore/Collection>
Laurent Montel's avatar
Laurent Montel committed
25
class KJob;
Laurent Montel's avatar
Laurent Montel committed
26 27 28 29 30 31
class AutomaticAddContactsJob : public QObject
{
    Q_OBJECT
public:
    explicit AutomaticAddContactsJob(QObject *parent = Q_NULLPTR);
    ~AutomaticAddContactsJob();
Laurent Montel's avatar
Laurent Montel committed
32 33 34 35

    void start();

    void setEmails(const QStringList &emails);
Laurent Montel's avatar
Laurent Montel committed
36 37
    void setCollection(const Akonadi::Collection &collection);

Laurent Montel's avatar
Laurent Montel committed
38
private:
Laurent Montel's avatar
Laurent Montel committed
39 40 41
    void fetchCollection();
    void verifyContactExist();
    void addNextContact();
Laurent Montel's avatar
Laurent Montel committed
42
    QStringList mEmails;
Laurent Montel's avatar
Minor  
Laurent Montel committed
43
    QStringList mProcessedEmails;
Laurent Montel's avatar
Laurent Montel committed
44
    Akonadi::Collection mCollection;
Laurent Montel's avatar
Laurent Montel committed
45 46
    int mCurrentIndex;
    void slotCollectionsFetched(KJob *job);
Laurent Montel's avatar
Laurent Montel committed
47 48
};
#endif // AUTOMATICADDCONTACTSJOB_H