/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp -m -p devicemanager_interface /build/deepin-file-manager/src/dde-file-manager/assets/dbus/org.deepin.Filemanager.Daemon.DeviceManager.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 DEVICEMANAGER_INTERFACE_H
#define DEVICEMANAGER_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.DeviceManager
 */
class OrgDeepinFilemanagerDaemonDeviceManagerInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.deepin.Filemanager.Daemon.DeviceManager"; }

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

    ~OrgDeepinFilemanagerDaemonDeviceManagerInterface();

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

    inline QDBusPendingReply<> DetachBlockDevice(const QString &id)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(id);
        return asyncCallWithArgumentList(QStringLiteral("DetachBlockDevice"), argumentList);
    }

    inline QDBusPendingReply<> DetachProtocolDevice(const QString &id)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(id);
        return asyncCallWithArgumentList(QStringLiteral("DetachProtocolDevice"), argumentList);
    }

    inline QDBusPendingReply<QStringList> GetBlockDevicesIdList(int opts)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(opts);
        return asyncCallWithArgumentList(QStringLiteral("GetBlockDevicesIdList"), argumentList);
    }

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

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

    inline QDBusPendingReply<QVariantMap> QueryBlockDeviceInfo(const QString &id, bool reload)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(id) << QVariant::fromValue(reload);
        return asyncCallWithArgumentList(QStringLiteral("QueryBlockDeviceInfo"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> QueryProtocolDeviceInfo(const QString &id, bool reload)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(id) << QVariant::fromValue(reload);
        return asyncCallWithArgumentList(QStringLiteral("QueryProtocolDeviceInfo"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void BlockDeviceAdded(const QString &id);
    void BlockDeviceFilesystemAdded(const QString &id);
    void BlockDeviceFilesystemRemoved(const QString &id);
    void BlockDeviceLocked(const QString &id);
    void BlockDeviceMounted(const QString &id, const QString &mountPoint);
    void BlockDevicePropertyChanged(const QString &id, const QString &property, const QDBusVariant &value);
    void BlockDeviceRemoved(const QString &id, const QString &oldMpt);
    void BlockDeviceUnlocked(const QString &id, const QString &clearDeviceId);
    void BlockDeviceUnmounted(const QString &id, const QString &oldMpt);
    void BlockDriveAdded();
    void BlockDriveRemoved();
    void NotifyDeviceBusy(const QString &id, const QString &action);
    void ProtocolDeviceAdded(const QString &id);
    void ProtocolDeviceMounted(const QString &id, const QString &mountPoint);
    void ProtocolDeviceRemoved(const QString &id, const QString &oldMpt);
    void ProtocolDeviceUnmounted(const QString &id, const QString &oldMpt);
    void SizeUsedChanged(const QString &id, qlonglong total, qlonglong free);
};

namespace org {
  namespace deepin {
    namespace Filemanager {
      namespace Daemon {
        typedef ::OrgDeepinFilemanagerDaemonDeviceManagerInterface DeviceManager;
      }
    }
  }
}
#endif
