/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.gtk.vfs.Mount.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 ORG_GTK_VFS_MOUNT_H
#define ORG_GTK_VFS_MOUNT_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 "metatypes.h"

/*
 * Proxy class for interface org.gtk.vfs.Mount
 */
class OrgGtkVfsMountInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.gtk.vfs.Mount"; }

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

    ~OrgGtkVfsMountInterface();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<> Copy(const QByteArray &path1_data, const QByteArray &path2_data, uint flags, const QDBusObjectPath &progress_obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path1_data) << QVariant::fromValue(path2_data) << QVariant::fromValue(flags) << QVariant::fromValue(progress_obj_path);
        return asyncCallWithArgumentList(QStringLiteral("Copy"), argumentList);
    }

    inline QDBusPendingReply<QString> CreateDirectoryMonitor(const QByteArray &path_data, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("CreateDirectoryMonitor"), argumentList);
    }

    inline QDBusPendingReply<QString> CreateFileMonitor(const QByteArray &path_data, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("CreateFileMonitor"), argumentList);
    }

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

    inline QDBusPendingReply<> EjectMountable(const QByteArray &path_data, uint flags, const QString &dbus_id, const QDBusObjectPath &obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(flags) << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path);
        return asyncCallWithArgumentList(QStringLiteral("EjectMountable"), argumentList);
    }

    inline QDBusPendingReply<> Enumerate(const QByteArray &path_data, const QString &obj_path, const QString &attributes, uint flags, const QString &uri)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(obj_path) << QVariant::fromValue(attributes) << QVariant::fromValue(flags) << QVariant::fromValue(uri);
        return asyncCallWithArgumentList(QStringLiteral("Enumerate"), argumentList);
    }

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

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

    inline QDBusPendingReply<bool, QByteArray, bool, GVFSMountSpec> MountMountable(const QByteArray &path_data, const QString &dbus_id, const QDBusObjectPath &obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path);
        return asyncCallWithArgumentList(QStringLiteral("MountMountable"), argumentList);
    }
    inline QDBusReply<bool> MountMountable(const QByteArray &path_data, const QString &dbus_id, const QDBusObjectPath &obj_path, QByteArray &path, bool &must_mount_location, GVFSMountSpec &mount_spec)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("MountMountable"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 4) {
            path = qdbus_cast<QByteArray>(reply.arguments().at(1));
            must_mount_location = qdbus_cast<bool>(reply.arguments().at(2));
            mount_spec = qdbus_cast<GVFSMountSpec>(reply.arguments().at(3));
        }
        return reply;
    }

    inline QDBusPendingReply<> Move(const QByteArray &path1_data, const QByteArray &path2_data, uint flags, const QDBusObjectPath &progress_obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path1_data) << QVariant::fromValue(path2_data) << QVariant::fromValue(flags) << QVariant::fromValue(progress_obj_path);
        return asyncCallWithArgumentList(QStringLiteral("Move"), argumentList);
    }

    inline QDBusPendingReply<QDBusUnixFileDescriptor, bool> OpenForRead(const QByteArray &path_data, uint pid)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(pid);
        return asyncCallWithArgumentList(QStringLiteral("OpenForRead"), argumentList);
    }
    inline QDBusReply<QDBusUnixFileDescriptor> OpenForRead(const QByteArray &path_data, uint pid, bool &can_seek)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(pid);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("OpenForRead"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 2) {
            can_seek = qdbus_cast<bool>(reply.arguments().at(1));
        }
        return reply;
    }

    inline QDBusPendingReply<QDBusUnixFileDescriptor, bool, qulonglong> OpenForWrite(const QByteArray &path_data, ushort mode, const QString &etag, bool make_backup, uint flags, uint pid)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(mode) << QVariant::fromValue(etag) << QVariant::fromValue(make_backup) << QVariant::fromValue(flags) << QVariant::fromValue(pid);
        return asyncCallWithArgumentList(QStringLiteral("OpenForWrite"), argumentList);
    }
    inline QDBusReply<QDBusUnixFileDescriptor> OpenForWrite(const QByteArray &path_data, ushort mode, const QString &etag, bool make_backup, uint flags, uint pid, bool &can_seek, qulonglong &initial_offset)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(mode) << QVariant::fromValue(etag) << QVariant::fromValue(make_backup) << QVariant::fromValue(flags) << QVariant::fromValue(pid);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("OpenForWrite"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 3) {
            can_seek = qdbus_cast<bool>(reply.arguments().at(1));
            initial_offset = qdbus_cast<qulonglong>(reply.arguments().at(2));
        }
        return reply;
    }

    inline QDBusPendingReply<QDBusUnixFileDescriptor, uint, qulonglong> OpenForWriteFlags(const QByteArray &path_data, ushort mode, const QString &etag, bool make_backup, uint flags, uint pid)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(mode) << QVariant::fromValue(etag) << QVariant::fromValue(make_backup) << QVariant::fromValue(flags) << QVariant::fromValue(pid);
        return asyncCallWithArgumentList(QStringLiteral("OpenForWriteFlags"), argumentList);
    }
    inline QDBusReply<QDBusUnixFileDescriptor> OpenForWriteFlags(const QByteArray &path_data, ushort mode, const QString &etag, bool make_backup, uint flags, uint pid, uint &flags_, qulonglong &initial_offset)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(mode) << QVariant::fromValue(etag) << QVariant::fromValue(make_backup) << QVariant::fromValue(flags) << QVariant::fromValue(pid);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("OpenForWriteFlags"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 3) {
            flags_ = qdbus_cast<uint>(reply.arguments().at(1));
            initial_offset = qdbus_cast<qulonglong>(reply.arguments().at(2));
        }
        return reply;
    }

    inline QDBusPendingReply<QDBusUnixFileDescriptor, bool> OpenIconForRead(const QByteArray &path_data)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data);
        return asyncCallWithArgumentList(QStringLiteral("OpenIconForRead"), argumentList);
    }
    inline QDBusReply<QDBusUnixFileDescriptor> OpenIconForRead(const QByteArray &path_data, bool &can_seek)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("OpenIconForRead"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 2) {
            can_seek = qdbus_cast<bool>(reply.arguments().at(1));
        }
        return reply;
    }

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

    inline QDBusPendingReply<> Pull(const QByteArray &path_data, const QByteArray &local_path, bool send_progress, uint flags, const QDBusObjectPath &progress_obj_path, bool remove_source)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(local_path) << QVariant::fromValue(send_progress) << QVariant::fromValue(flags) << QVariant::fromValue(progress_obj_path) << QVariant::fromValue(remove_source);
        return asyncCallWithArgumentList(QStringLiteral("Pull"), argumentList);
    }

    inline QDBusPendingReply<> Push(const QByteArray &path_data, const QByteArray &local_path, bool send_progress, uint flags, const QDBusObjectPath &progress_obj_path, bool remove_source)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(local_path) << QVariant::fromValue(send_progress) << QVariant::fromValue(flags) << QVariant::fromValue(progress_obj_path) << QVariant::fromValue(remove_source);
        return asyncCallWithArgumentList(QStringLiteral("Push"), argumentList);
    }

    inline QDBusPendingReply<GVFSInfoList> QueryFilesystemInfo(const QByteArray &path_data, const QString &attributes)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(attributes);
        return asyncCallWithArgumentList(QStringLiteral("QueryFilesystemInfo"), argumentList);
    }

    inline QDBusPendingReply<GVFSInfoList> QueryInfo(const QByteArray &path_data, const QString &attributes, uint flags, const QString &uri)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(attributes) << QVariant::fromValue(flags) << QVariant::fromValue(uri);
        return asyncCallWithArgumentList(QStringLiteral("QueryInfo"), argumentList);
    }

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

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

    inline QDBusPendingReply<> SetAttribute(const QByteArray &path_data, uint flags, GVFSInfo attribute)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(flags) << QVariant::fromValue(attribute);
        return asyncCallWithArgumentList(QStringLiteral("SetAttribute"), argumentList);
    }

    inline QDBusPendingReply<QByteArray> SetDisplayName(const QByteArray &path_data, const QString &display_name)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(display_name);
        return asyncCallWithArgumentList(QStringLiteral("SetDisplayName"), argumentList);
    }

    inline QDBusPendingReply<> StartMountable(const QByteArray &path_data, const QString &dbus_id, const QDBusObjectPath &obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path);
        return asyncCallWithArgumentList(QStringLiteral("StartMountable"), argumentList);
    }

    inline QDBusPendingReply<> StopMountable(const QByteArray &path_data, uint flags, const QString &dbus_id, const QDBusObjectPath &obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(flags) << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path);
        return asyncCallWithArgumentList(QStringLiteral("StopMountable"), argumentList);
    }

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

    inline QDBusPendingReply<> Unmount(const QString &dbus_id, const QDBusObjectPath &obj_path, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("Unmount"), argumentList);
    }

    inline QDBusPendingReply<> UnmountMountable(const QByteArray &path_data, uint flags, const QString &dbus_id, const QDBusObjectPath &obj_path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path_data) << QVariant::fromValue(flags) << QVariant::fromValue(dbus_id) << QVariant::fromValue(obj_path);
        return asyncCallWithArgumentList(QStringLiteral("UnmountMountable"), argumentList);
    }

Q_SIGNALS: // SIGNALS
};

namespace org {
  namespace gtk {
    namespace vfs {
      using Mount = ::OrgGtkVfsMountInterface;
    }
  }
}
#endif
