Akonadi

tagsync.h
1 /*
2  SPDX-FileCopyrightText: 2014 Christian Mollekopf <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 #ifndef TAGSYNC_H
7 #define TAGSYNC_H
8 
9 #include "akonadicore_export.h"
10 
11 #include "jobs/job.h"
12 #include "tag.h"
13 #include "item.h"
14 
15 namespace Akonadi
16 {
17 
18 class AKONADICORE_EXPORT TagSync : public Akonadi::Job
19 {
20  Q_OBJECT
21 public:
22  explicit TagSync(QObject *parent = nullptr);
23  ~TagSync() override;
24 
25  void setFullTagList(const Akonadi::Tag::List &tags);
26  void setTagMembers(const QHash<QString, Akonadi::Item::List> &ridMemberMap);
27 
28 protected:
29  void doStart() override;
30 
31 private Q_SLOTS:
32  void onLocalTagFetchDone(KJob *job);
33  void onCreateTagDone(KJob *job);
34  void onTagItemsFetchDone(KJob *job);
35  void onJobDone(KJob *job);
36  void slotResult(KJob *job) override;
37 
38 private:
39  void diffTags();
40  void checkDone();
41 
42 private:
43  Akonadi::Tag::List mRemoteTags;
44  Akonadi::Tag::List mLocalTags;
45  bool mDeliveryDone;
46  bool mTagMembersDeliveryDone;
47  bool mLocalTagsFetched;
49 };
50 
51 }
52 
53 #endif
Base class for all actions in the Akonadi storage.
Definition: job.h:80
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Jul 12 2020 23:16:58 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.