Akonadi

core/notificationsubscriber.h
1 /*
2  Copyright (c) 2016 Daniel Vrátil <[email protected]>
3 
4  This library is free software; you can redistribute it and/or modify it
5  under the terms of the GNU Library General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or (at your
7  option) any later version.
8 
9  This library is distributed in the hope that it will be useful, but WITHOUT
10  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12  License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to the
16  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  02110-1301, USA.
18 */
19 
20 #ifndef AKONADI_NOTIFICATIONSUBSCRIBER_H
21 #define AKONADI_NOTIFICATIONSUBSCRIBER_H
22 
23 #include <akonadicore_export.h>
24 
25 #include "monitor.h"
26 #include <QSet>
27 
28 namespace Akonadi
29 {
30 
31 class AKONADICORE_EXPORT NotificationSubscriber
32 {
33 public:
34  explicit NotificationSubscriber();
35  NotificationSubscriber(const NotificationSubscriber &other);
36  ~NotificationSubscriber();
37 
38  NotificationSubscriber &operator=(const NotificationSubscriber &other);
39 
40  bool isValid() const;
41 
42  QByteArray subscriber() const;
43  void setSubscriber(const QByteArray &subscriber);
44 
45  QByteArray sessionId() const;
46  void setSessionId(const QByteArray &sessionId);
47 
48  QSet<qint64> monitoredCollections() const;
49  void setMonitoredCollections(const QSet<qint64> &collections);
50 
51  QSet<qint64> monitoredItems() const;
52  void setMonitoredItems(const QSet<qint64> &items);
53 
54  QSet<qint64> monitoredTags() const;
55  void setMonitoredTags(const QSet<qint64> &tags);
56 
57  QSet<Monitor::Type> monitoredTypes() const;
58  void setMonitoredTypes(const QSet<Monitor::Type> &type);
59 
60  QSet<QString> monitoredMimeTypes() const;
61  void setMonitoredMimeTypes(const QSet<QString> &mimeTypes);
62 
63  QSet<QByteArray> monitoredResources() const;
64  void setMonitoredResources(const QSet<QByteArray> &resources);
65 
66  QSet<QByteArray> ignoredSessions() const;
67  void setIgnoredSessions(const QSet<QByteArray> &ignoredSessions);
68 
69  bool isAllMonitored() const;
70  void setIsAllMonitored(bool isAllMonitored);
71 
72  bool isExclusive() const;
73  void setIsExclusive(bool isExclusive);
74 
75  ItemFetchScope itemFetchScope() const;
76  void setItemFetchScope(const ItemFetchScope &itemFetchScope);
77 
78  CollectionFetchScope collectionFetchScope() const;
79  void setCollectionFetchScope(const CollectionFetchScope &collectionFetchScope);
80 
81  TagFetchScope tagFetchScope() const;
82  void setTagFetchScope(const TagFetchScope &tagFetchScope);
83 
84 private:
85  class Private;
87 };
88 
89 }
90 #endif
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed May 27 2020 22:43:39 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.