/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was xdp_dbus_remotedesktop_interface.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 XDP_DBUS_REMOTEDESKTOP_INTERFACE_H
#define XDP_DBUS_REMOTEDESKTOP_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.freedesktop.portal.RemoteDesktop
 */
class OrgFreedesktopPortalRemoteDesktopInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.freedesktop.portal.RemoteDesktop"; }

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

    ~OrgFreedesktopPortalRemoteDesktopInterface();

    Q_PROPERTY(uint AvailableDeviceTypes READ availableDeviceTypes)
    inline uint availableDeviceTypes() const
    { return qvariant_cast< uint >(property("AvailableDeviceTypes")); }

    Q_PROPERTY(uint version READ version)
    inline uint version() const
    { return qvariant_cast< uint >(property("version")); }

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QDBusUnixFileDescriptor> ConnectToEIS(const QDBusObjectPath &session_handle, const QVariantMap &options)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options);
        return asyncCallWithArgumentList(QStringLiteral("ConnectToEIS"), argumentList);
    }

    inline QDBusPendingReply<QDBusObjectPath> CreateSession(const QVariantMap &options)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(options);
        return asyncCallWithArgumentList(QStringLiteral("CreateSession"), argumentList);
    }

    inline QDBusPendingReply<> NotifyKeyboardKeycode(const QDBusObjectPath &session_handle, const QVariantMap &options, int keycode, uint state)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(keycode) << QVariant::fromValue(state);
        return asyncCallWithArgumentList(QStringLiteral("NotifyKeyboardKeycode"), argumentList);
    }

    inline QDBusPendingReply<> NotifyKeyboardKeysym(const QDBusObjectPath &session_handle, const QVariantMap &options, int keysym, uint state)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(keysym) << QVariant::fromValue(state);
        return asyncCallWithArgumentList(QStringLiteral("NotifyKeyboardKeysym"), argumentList);
    }

    inline QDBusPendingReply<> NotifyPointerAxis(const QDBusObjectPath &session_handle, const QVariantMap &options, double dx, double dy)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(dx) << QVariant::fromValue(dy);
        return asyncCallWithArgumentList(QStringLiteral("NotifyPointerAxis"), argumentList);
    }

    inline QDBusPendingReply<> NotifyPointerAxisDiscrete(const QDBusObjectPath &session_handle, const QVariantMap &options, uint axis, int steps)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(axis) << QVariant::fromValue(steps);
        return asyncCallWithArgumentList(QStringLiteral("NotifyPointerAxisDiscrete"), argumentList);
    }

    inline QDBusPendingReply<> NotifyPointerButton(const QDBusObjectPath &session_handle, const QVariantMap &options, int button, uint state)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(button) << QVariant::fromValue(state);
        return asyncCallWithArgumentList(QStringLiteral("NotifyPointerButton"), argumentList);
    }

    inline QDBusPendingReply<> NotifyPointerMotion(const QDBusObjectPath &session_handle, const QVariantMap &options, double dx, double dy)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(dx) << QVariant::fromValue(dy);
        return asyncCallWithArgumentList(QStringLiteral("NotifyPointerMotion"), argumentList);
    }

    inline QDBusPendingReply<> NotifyPointerMotionAbsolute(const QDBusObjectPath &session_handle, const QVariantMap &options, uint stream, double x, double y)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(stream) << QVariant::fromValue(x) << QVariant::fromValue(y);
        return asyncCallWithArgumentList(QStringLiteral("NotifyPointerMotionAbsolute"), argumentList);
    }

    inline QDBusPendingReply<> NotifyTouchDown(const QDBusObjectPath &session_handle, const QVariantMap &options, uint stream, uint slot, double x, double y)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(stream) << QVariant::fromValue(slot) << QVariant::fromValue(x) << QVariant::fromValue(y);
        return asyncCallWithArgumentList(QStringLiteral("NotifyTouchDown"), argumentList);
    }

    inline QDBusPendingReply<> NotifyTouchMotion(const QDBusObjectPath &session_handle, const QVariantMap &options, uint stream, uint slot, double x, double y)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(stream) << QVariant::fromValue(slot) << QVariant::fromValue(x) << QVariant::fromValue(y);
        return asyncCallWithArgumentList(QStringLiteral("NotifyTouchMotion"), argumentList);
    }

    inline QDBusPendingReply<> NotifyTouchUp(const QDBusObjectPath &session_handle, const QVariantMap &options, uint slot)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options) << QVariant::fromValue(slot);
        return asyncCallWithArgumentList(QStringLiteral("NotifyTouchUp"), argumentList);
    }

    inline QDBusPendingReply<QDBusObjectPath> SelectDevices(const QDBusObjectPath &session_handle, const QVariantMap &options)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(options);
        return asyncCallWithArgumentList(QStringLiteral("SelectDevices"), argumentList);
    }

    inline QDBusPendingReply<QDBusObjectPath> Start(const QDBusObjectPath &session_handle, const QString &parent_window, const QVariantMap &options)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(session_handle) << QVariant::fromValue(parent_window) << QVariant::fromValue(options);
        return asyncCallWithArgumentList(QStringLiteral("Start"), argumentList);
    }

Q_SIGNALS: // SIGNALS
};

namespace org {
  namespace freedesktop {
    namespace portal {
      using RemoteDesktop = ::OrgFreedesktopPortalRemoteDesktopInterface;
    }
  }
}

#endif
