File indexing completed on 2024-06-16 04:50:16

0001 /*
0002     SPDX-FileCopyrightText: 2013 Daniel Vrátil <dvratil@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QObject>
0010 
0011 #include "akonaditests_export.h"
0012 
0013 #include "collection.h"
0014 #include "item.h"
0015 #include "tag.h"
0016 
0017 #include "private/protocol_p.h"
0018 
0019 namespace Akonadi
0020 {
0021 class AKONADI_TESTS_EXPORT NotificationSource : public QObject
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit NotificationSource(QObject *source);
0027     ~NotificationSource() override;
0028 
0029     QString identifier() const;
0030 
0031     void setAllMonitored(bool allMonitored);
0032     void setExclusive(bool exclusive);
0033     void setMonitoredCollection(Collection::Id id, bool monitored);
0034     void setMonitoredItem(Item::Id id, bool monitored);
0035     void setMonitoredResource(const QByteArray &resource, bool monitored);
0036     void setMonitoredMimeType(const QString &mimeType, bool monitored);
0037     void setMonitoredTag(Tag::Id id, bool monitored);
0038     void setMonitoredType(Protocol::ChangeNotification::Type type, bool monitored);
0039     void setIgnoredSession(const QByteArray &session, bool monitored);
0040     void setSession(const QByteArray &session);
0041 
0042     QObject *source() const;
0043 };
0044 
0045 }