1 /* 2 SPDX-FileCopyrightText: 2016 Daniel Vrátil <dvratil@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #include "notificationsubscriber.h" 8 #include "collectionfetchscope.h" 9 #include "itemfetchscope.h" 10 #include "tagfetchscope.h" 11 12 namespace Akonadi 13 { 14 class NotificationSubscriberPrivate : public QSharedData 15 { 16 public: 17 QByteArray subscriber; 18 QByteArray sessionId; 19 QSet<qint64> collections; 20 QSet<qint64> items; 21 QSet<qint64> tags; 22 QSet<Monitor::Type> types; 23 QSet<QString> mimeTypes; 24 QSet<QByteArray> resources; 25 QSet<QByteArray> ignoredSessions; 26 ItemFetchScope itemFetchScope; 27 CollectionFetchScope collectionFetchScope; 28 TagFetchScope tagFetchScope; 29 bool isAllMonitored = false; 30 bool isExclusive = false; 31 }; 32 33 } // namespace Akonadi 34 35 using namespace Akonadi; 36 NotificationSubscriber()37NotificationSubscriber::NotificationSubscriber() 38 : d(new NotificationSubscriberPrivate) 39 { 40 } 41 NotificationSubscriber(const NotificationSubscriber & other)42NotificationSubscriber::NotificationSubscriber(const NotificationSubscriber &other) 43 : d(other.d) 44 { 45 } 46 ~NotificationSubscriber()47NotificationSubscriber::~NotificationSubscriber() 48 { 49 } 50 operator =(const NotificationSubscriber & other)51NotificationSubscriber &NotificationSubscriber::operator=(const NotificationSubscriber &other) 52 { 53 d = other.d; 54 return *this; 55 } 56 isValid() const57bool NotificationSubscriber::isValid() const 58 { 59 return !d->subscriber.isEmpty(); 60 } 61 subscriber() const62QByteArray NotificationSubscriber::subscriber() const 63 { 64 return d->subscriber; 65 } 66 setSubscriber(const QByteArray & subscriber)67void NotificationSubscriber::setSubscriber(const QByteArray &subscriber) 68 { 69 d->subscriber = subscriber; 70 } 71 sessionId() const72QByteArray NotificationSubscriber::sessionId() const 73 { 74 return d->sessionId; 75 } 76 setSessionId(const QByteArray & sessionId)77void NotificationSubscriber::setSessionId(const QByteArray &sessionId) 78 { 79 d->sessionId = sessionId; 80 } 81 monitoredCollections() const82QSet<qint64> NotificationSubscriber::monitoredCollections() const 83 { 84 return d->collections; 85 } 86 setMonitoredCollections(const QSet<qint64> & collections)87void NotificationSubscriber::setMonitoredCollections(const QSet<qint64> &collections) 88 { 89 d->collections = collections; 90 } 91 monitoredItems() const92QSet<qint64> NotificationSubscriber::monitoredItems() const 93 { 94 return d->items; 95 } 96 setMonitoredItems(const QSet<qint64> & items)97void NotificationSubscriber::setMonitoredItems(const QSet<qint64> &items) 98 { 99 d->items = items; 100 } 101 monitoredTags() const102QSet<qint64> NotificationSubscriber::monitoredTags() const 103 { 104 return d->tags; 105 } 106 setMonitoredTags(const QSet<qint64> & tags)107void NotificationSubscriber::setMonitoredTags(const QSet<qint64> &tags) 108 { 109 d->tags = tags; 110 } 111 monitoredTypes() const112QSet<Monitor::Type> NotificationSubscriber::monitoredTypes() const 113 { 114 return d->types; 115 } 116 setMonitoredTypes(const QSet<Monitor::Type> & types)117void NotificationSubscriber::setMonitoredTypes(const QSet<Monitor::Type> &types) 118 { 119 d->types = types; 120 } 121 monitoredMimeTypes() const122QSet<QString> NotificationSubscriber::monitoredMimeTypes() const 123 { 124 return d->mimeTypes; 125 } 126 setMonitoredMimeTypes(const QSet<QString> & mimeTypes)127void NotificationSubscriber::setMonitoredMimeTypes(const QSet<QString> &mimeTypes) 128 { 129 d->mimeTypes = mimeTypes; 130 } 131 monitoredResources() const132QSet<QByteArray> NotificationSubscriber::monitoredResources() const 133 { 134 return d->resources; 135 } 136 setMonitoredResources(const QSet<QByteArray> & resources)137void NotificationSubscriber::setMonitoredResources(const QSet<QByteArray> &resources) 138 { 139 d->resources = resources; 140 } 141 ignoredSessions() const142QSet<QByteArray> NotificationSubscriber::ignoredSessions() const 143 { 144 return d->ignoredSessions; 145 } 146 setIgnoredSessions(const QSet<QByteArray> & ignoredSessions)147void NotificationSubscriber::setIgnoredSessions(const QSet<QByteArray> &ignoredSessions) 148 { 149 d->ignoredSessions = ignoredSessions; 150 } 151 isAllMonitored() const152bool NotificationSubscriber::isAllMonitored() const 153 { 154 return d->isAllMonitored; 155 } 156 setIsAllMonitored(bool isAllMonitored)157void NotificationSubscriber::setIsAllMonitored(bool isAllMonitored) 158 { 159 d->isAllMonitored = isAllMonitored; 160 } 161 isExclusive() const162bool NotificationSubscriber::isExclusive() const 163 { 164 return d->isExclusive; 165 } 166 setIsExclusive(bool isExclusive)167void NotificationSubscriber::setIsExclusive(bool isExclusive) 168 { 169 d->isExclusive = isExclusive; 170 } 171 itemFetchScope() const172ItemFetchScope NotificationSubscriber::itemFetchScope() const 173 { 174 return d->itemFetchScope; 175 } 176 setItemFetchScope(const ItemFetchScope & itemFetchScope)177void NotificationSubscriber::setItemFetchScope(const ItemFetchScope &itemFetchScope) 178 { 179 d->itemFetchScope = itemFetchScope; 180 } 181 collectionFetchScope() const182CollectionFetchScope NotificationSubscriber::collectionFetchScope() const 183 { 184 return d->collectionFetchScope; 185 } 186 setCollectionFetchScope(const CollectionFetchScope & fetchScope)187void NotificationSubscriber::setCollectionFetchScope(const CollectionFetchScope &fetchScope) 188 { 189 d->collectionFetchScope = fetchScope; 190 } 191 tagFetchScope() const192TagFetchScope NotificationSubscriber::tagFetchScope() const 193 { 194 return d->tagFetchScope; 195 } 196 setTagFetchScope(const TagFetchScope & tagFetchScope)197void NotificationSubscriber::setTagFetchScope(const TagFetchScope &tagFetchScope) 198 { 199 d->tagFetchScope = tagFetchScope; 200 } 201