/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp -m -p tagmanager_interface /build/deepin-file-manager/src/dde-file-manager/assets/dbus/org.deepin.Filemanager.Daemon.TagManager.xml
 *
 * qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef TAGMANAGER_INTERFACE_H
#define TAGMANAGER_INTERFACE_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>

/*
 * Proxy class for interface org.deepin.Filemanager.Daemon.TagManager
 */
class OrgDeepinFilemanagerDaemonTagManagerInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.deepin.Filemanager.Daemon.TagManager"; }

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

    ~OrgDeepinFilemanagerDaemonTagManagerInterface();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<bool> Delete(int opt, const QVariantMap &value)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(opt) << QVariant::fromValue(value);
        return asyncCallWithArgumentList(QStringLiteral("Delete"), argumentList);
    }

    inline QDBusPendingReply<bool> Insert(int opt, const QVariantMap &value)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(opt) << QVariant::fromValue(value);
        return asyncCallWithArgumentList(QStringLiteral("Insert"), argumentList);
    }

    inline QDBusPendingReply<QDBusVariant> Query(int opt)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(opt);
        return asyncCallWithArgumentList(QStringLiteral("Query"), argumentList);
    }

    inline QDBusPendingReply<QDBusVariant> Query(int opt, const QStringList &value)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(opt) << QVariant::fromValue(value);
        return asyncCallWithArgumentList(QStringLiteral("Query"), argumentList);
    }

    inline QDBusPendingReply<bool> Update(int opt, const QVariantMap &value)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(opt) << QVariant::fromValue(value);
        return asyncCallWithArgumentList(QStringLiteral("Update"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void FilesTagged(const QVariantMap &fileAndTags);
    void FilesUntagged(const QVariantMap &fileAndTags);
    void NewTagsAdded(const QVariantMap &tags);
    void TagsColorChanged(const QVariantMap &oldAndNew);
    void TagsDeleted(const QStringList &tags);
    void TagsNameChanged(const QVariantMap &oldAndNew);
    void TagsServiceReady();
};

namespace org {
  namespace deepin {
    namespace Filemanager {
      namespace Daemon {
        typedef ::OrgDeepinFilemanagerDaemonTagManagerInterface TagManager;
      }
    }
  }
}
#endif
