/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.plasmashell.Waydroid.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 PLASMASHELLWAYDROIDINTERFACE_H
#define PLASMASHELLWAYDROIDINTERFACE_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.kde.plasmashell.Waydroid
 */
class OrgKdePlasmashellWaydroidInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.kde.plasmashell.Waydroid"; }

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

    ~OrgKdePlasmashellWaydroidInterface();

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

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

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

    inline QDBusPendingReply<> initialize(int systemType, int romType)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(systemType) << QVariant::fromValue(romType);
        return asyncCallWithArgumentList(QStringLiteral("initialize"), argumentList);
    }

    inline QDBusPendingReply<> initialize(int systemType, int romType, bool forced)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(systemType) << QVariant::fromValue(romType) << QVariant::fromValue(forced);
        return asyncCallWithArgumentList(QStringLiteral("initialize"), argumentList);
    }

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

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

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

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

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

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

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

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

    inline QDBusPendingReply<> setMultiWindows(bool multiWindows)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(multiWindows);
        return asyncCallWithArgumentList(QStringLiteral("setMultiWindows"), argumentList);
    }

    inline QDBusPendingReply<> setSuspend(bool suspend)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(suspend);
        return asyncCallWithArgumentList(QStringLiteral("setSuspend"), argumentList);
    }

    inline QDBusPendingReply<> setUevent(bool uevent)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(uevent);
        return asyncCallWithArgumentList(QStringLiteral("setUevent"), argumentList);
    }

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

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

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

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

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

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

Q_SIGNALS: // SIGNALS
    void actionFailed(const QString &message);
    void actionFinished(const QString &message);
    void androidIdChanged();
    void applicationAdded(const QDBusObjectPath &path);
    void applicationRemoved(const QDBusObjectPath &path);
    void downloadStatusChanged(double downloaded, double total, double speed);
    void errorOccurred(const QString &title, const QString &message);
    void ipAddressChanged();
    void multiWindowsChanged();
    void sessionStatusChanged();
    void statusChanged();
    void suspendChanged();
    void systemTypeChanged();
    void ueventChanged();
};

namespace org {
  namespace kde {
    namespace plasmashell {
      using Waydroid = ::OrgKdePlasmashellWaydroidInterface;
    }
  }
}

#endif
