/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.freedesktop.Akonadi.MailFilterAgent.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * This file may have been hand-edited. Look for HAND-EDIT comments
 * before re-generating it.
 */

#ifndef MAILFILTERAGENTADAPTOR_H
#define MAILFILTERAGENTADAPTOR_H

#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include "mailfilteragent.h"
#include <QtCore/qcontainerfwd.h>

/*
 * Adaptor class for interface org.freedesktop.Akonadi.MailFilterAgent
 */
class MailFilterAgentAdaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Akonadi.MailFilterAgent")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.freedesktop.Akonadi.MailFilterAgent\">\n"
"    <method name=\"createUniqueName\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"nameTemplate\"/>\n"
"      <arg direction=\"out\" type=\"s\" name=\"name\"/>\n"
"    </method>\n"
"    <method name=\"filter\">\n"
"      <arg direction=\"in\" type=\"x\" name=\"item\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"filterIdentifier\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"resourceId\"/>\n"
"    </method>\n"
"    <method name=\"filterItem\">\n"
"      <arg direction=\"in\" type=\"x\" name=\"item\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"filterSet\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"resourceId\"/>\n"
"    </method>\n"
"    <method name=\"applySpecificFilters\">\n"
"      <arg direction=\"in\" type=\"ax\" name=\"items\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"FilterRequires\"/>\n"
"      <arg direction=\"in\" type=\"as\" name=\"listFilters\"/>\n"
"      <annotation value=\"const QList&lt;qint64&gt; &amp;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
"    </method>\n"
"    <method name=\"filterItems\">\n"
"      <arg direction=\"in\" type=\"ax\" name=\"items\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"filterSet\"/>\n"
"      <annotation value=\"const QList&lt;qint64&gt; &amp;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
"    </method>\n"
"    <method name=\"filterCollections\">\n"
"      <arg direction=\"in\" type=\"ax\" name=\"collections\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"filterSet\"/>\n"
"      <annotation value=\"const QList&lt;qint64&gt; &amp;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
"    </method>\n"
"    <method name=\"applySpecificFiltersOnCollections\">\n"
"      <arg direction=\"in\" type=\"ax\" name=\"collections\"/>\n"
"      <arg direction=\"in\" type=\"as\" name=\"listFilters\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"filterSet\"/>\n"
"      <annotation value=\"const QList&lt;qint64&gt; &amp;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
"    </method>\n"
"    <method name=\"reload\"/>\n"
"    <method name=\"showFilterLogDialog\">\n"
"      <arg direction=\"in\" type=\"x\" name=\"windowId\"/>\n"
"    </method>\n"
"    <method name=\"printCollectionMonitored\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"    </method>\n"
"    <method name=\"expunge\">\n"
"      <arg direction=\"in\" type=\"x\" name=\"collectionId\"/>\n"
"    </method>\n"
"    <signal name=\"filtersChanged\"/>\n"
"  </interface>\n"
        "")
public:
    MailFilterAgentAdaptor(MailFilterAgent *parent);
    ~MailFilterAgentAdaptor() override;

    inline MailFilterAgent *parent() const
    { return static_cast<MailFilterAgent *>(QObject::parent()); }

public: // PROPERTIES
public Q_SLOTS: // METHODS
    void applySpecificFilters(const QList<qint64> & items, int FilterRequires, const QStringList &listFilters);
    void applySpecificFiltersOnCollections(const QList<qint64> & collections, const QStringList &listFilters, int filterSet);
    QString createUniqueName(const QString &nameTemplate);
    void expunge(qlonglong collectionId);
    void filter(qlonglong item, const QString &filterIdentifier, const QString &resourceId);
    void filterCollections(const QList<qint64> & collections, int filterSet);
    void filterItem(qlonglong item, int filterSet, const QString &resourceId);
    void filterItems(const QList<qint64> & items, int filterSet);
    QString printCollectionMonitored();
    void reload();
    void showFilterLogDialog(qlonglong windowId);
Q_SIGNALS: // SIGNALS
    void filtersChanged();
};

#endif
