/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.freedesktop.Akonadi.NotificationSource.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef NOTIFICATIONSOURCEINTERFACE_H
#define NOTIFICATIONSOURCEINTERFACE_H

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>
#include "/build/akonadi/src/akonadi-26.04.2/src/private/protocol_p.h"

/*
 * Proxy class for interface org.freedesktop.Akonadi.NotificationSource
 */
class OrgFreedesktopAkonadiNotificationSourceInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.freedesktop.Akonadi.NotificationSource"; }

public:
    OrgFreedesktopAkonadiNotificationSourceInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = nullptr);

    ~OrgFreedesktopAkonadiNotificationSourceInterface();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QList<QByteArray> > ignoredSessions()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("ignoredSessions"), argumentList);
    }

    inline QDBusPendingReply<bool> isAllMonitored()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("isAllMonitored"), argumentList);
    }

    inline QDBusPendingReply<bool> isExclusive()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("isExclusive"), argumentList);
    }

    inline QDBusPendingReply<QList<qint64> > monitoredCollections()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("monitoredCollections"), argumentList);
    }

    inline QDBusPendingReply<QList<qint64> > monitoredItems()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("monitoredItems"), argumentList);
    }

    inline QDBusPendingReply<QStringList> monitoredMimeTypes()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("monitoredMimeTypes"), argumentList);
    }

    inline QDBusPendingReply<QList<QByteArray> > monitoredResources()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("monitoredResources"), argumentList);
    }

    inline QDBusPendingReply<QList<qint64> > monitoredTags()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("monitoredTags"), argumentList);
    }

    inline QDBusPendingReply<QList<Akonadi::Protocol::ChangeNotification::Type> > monitoredTypes()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("monitoredTypes"), argumentList);
    }

    inline QDBusPendingReply<> setAllMonitored(bool allMonitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(allMonitored);
        return asyncCallWithArgumentList(QStringLiteral("setAllMonitored"), argumentList);
    }

    inline QDBusPendingReply<> setExclusive(bool exclusive)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(exclusive);
        return asyncCallWithArgumentList(QStringLiteral("setExclusive"), argumentList);
    }

    inline QDBusPendingReply<> setIgnoredSession(const QByteArray &session, bool ignored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session) << QVariant::fromValue(ignored);
        return asyncCallWithArgumentList(QStringLiteral("setIgnoredSession"), argumentList);
    }

    inline QDBusPendingReply<> setMonitoredCollection(qlonglong collection, bool monitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(collection) << QVariant::fromValue(monitored);
        return asyncCallWithArgumentList(QStringLiteral("setMonitoredCollection"), argumentList);
    }

    inline QDBusPendingReply<> setMonitoredItem(qlonglong item, bool monitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(item) << QVariant::fromValue(monitored);
        return asyncCallWithArgumentList(QStringLiteral("setMonitoredItem"), argumentList);
    }

    inline QDBusPendingReply<> setMonitoredMimeType(const QString &mimetype, bool monitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(mimetype) << QVariant::fromValue(monitored);
        return asyncCallWithArgumentList(QStringLiteral("setMonitoredMimeType"), argumentList);
    }

    inline QDBusPendingReply<> setMonitoredResource(const QByteArray &resource, bool monitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(resource) << QVariant::fromValue(monitored);
        return asyncCallWithArgumentList(QStringLiteral("setMonitoredResource"), argumentList);
    }

    inline QDBusPendingReply<> setMonitoredTag(qlonglong tag, bool monitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(tag) << QVariant::fromValue(monitored);
        return asyncCallWithArgumentList(QStringLiteral("setMonitoredTag"), argumentList);
    }

    inline QDBusPendingReply<> setMonitoredType(Akonadi::Protocol::ChangeNotification::Type type, bool monitored)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(type) << QVariant::fromValue(monitored);
        return asyncCallWithArgumentList(QStringLiteral("setMonitoredType"), argumentList);
    }

    inline QDBusPendingReply<> setSession(const QByteArray &session)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session);
        return asyncCallWithArgumentList(QStringLiteral("setSession"), argumentList);
    }

    inline QDBusPendingReply<> unsubscribe()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("unsubscribe"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void ignoredSessionsChanged();
    void isAllMonitoredChanged();
    void monitoredCollectionsChanged();
    void monitoredItemsChanged();
    void monitoredMimeTypesChanged();
    void monitoredResourcesChanged();
    void monitoredTagsChanged();
    void monitoredTypesChanged();
};

namespace org {
  namespace freedesktop {
    namespace Akonadi {
      using NotificationSource = ::OrgFreedesktopAkonadiNotificationSourceInterface;
    }
  }
}

#endif
