/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.desktopspec.ApplicationManager1.Application.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 APPLICATIONINTERFACE_H
#define APPLICATIONINTERFACE_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 "types/am.h"

/*
 * Proxy class for interface org.desktopspec.ApplicationManager1.Application
 */
class AppManager1Application: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.desktopspec.ApplicationManager1.Application"; }

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

    ~AppManager1Application();

    Q_PROPERTY(PropMap ActionName READ actionName)
    inline PropMap actionName() const
    { return qvariant_cast< PropMap >(property("ActionName")); }

    Q_PROPERTY(QStringList Actions READ actions)
    inline QStringList actions() const
    { return qvariant_cast< QStringList >(property("Actions")); }

    Q_PROPERTY(bool AutoStart READ autoStart WRITE setAutoStart)
    inline bool autoStart() const
    { return qvariant_cast< bool >(property("AutoStart")); }
    inline void setAutoStart(bool value)
    { setProperty("AutoStart", QVariant::fromValue(value)); }

    Q_PROPERTY(QStringList Categories READ categories)
    inline QStringList categories() const
    { return qvariant_cast< QStringList >(property("Categories")); }

    Q_PROPERTY(QString Environ READ environ WRITE setEnviron)
    inline QString environ() const
    { return qvariant_cast< QString >(property("Environ")); }
    inline void setEnviron(const QString &value)
    { setProperty("Environ", QVariant::fromValue(value)); }

    Q_PROPERTY(QStringMap GenericName READ genericName)
    inline QStringMap genericName() const
    { return qvariant_cast< QStringMap >(property("GenericName")); }

    Q_PROPERTY(QString ID READ iD)
    inline QString iD() const
    { return qvariant_cast< QString >(property("ID")); }

    Q_PROPERTY(QStringMap Icons READ icons)
    inline QStringMap icons() const
    { return qvariant_cast< QStringMap >(property("Icons")); }

    Q_PROPERTY(qlonglong InstalledTime READ installedTime)
    inline qlonglong installedTime() const
    { return qvariant_cast< qlonglong >(property("InstalledTime")); }

    Q_PROPERTY(QList<QDBusObjectPath> Instances READ instances)
    inline QList<QDBusObjectPath> instances() const
    { return qvariant_cast< QList<QDBusObjectPath> >(property("Instances")); }

    Q_PROPERTY(qlonglong LastLaunchedTime READ lastLaunchedTime)
    inline qlonglong lastLaunchedTime() const
    { return qvariant_cast< qlonglong >(property("LastLaunchedTime")); }

    Q_PROPERTY(qlonglong LaunchedTimes READ launchedTimes)
    inline qlonglong launchedTimes() const
    { return qvariant_cast< qlonglong >(property("LaunchedTimes")); }

    Q_PROPERTY(QStringList MimeTypes READ mimeTypes WRITE setMimeTypes)
    inline QStringList mimeTypes() const
    { return qvariant_cast< QStringList >(property("MimeTypes")); }
    inline void setMimeTypes(const QStringList &value)
    { setProperty("MimeTypes", QVariant::fromValue(value)); }

    Q_PROPERTY(QStringMap Name READ name)
    inline QStringMap name() const
    { return qvariant_cast< QStringMap >(property("Name")); }

    Q_PROPERTY(bool NoDisplay READ noDisplay)
    inline bool noDisplay() const
    { return qvariant_cast< bool >(property("NoDisplay")); }

    Q_PROPERTY(bool Terminal READ terminal)
    inline bool terminal() const
    { return qvariant_cast< bool >(property("Terminal")); }

    Q_PROPERTY(QString X_Deepin_Vendor READ x_Deepin_Vendor)
    inline QString x_Deepin_Vendor() const
    { return qvariant_cast< QString >(property("X_Deepin_Vendor")); }

    Q_PROPERTY(bool X_Flatpak READ x_Flatpak)
    inline bool x_Flatpak() const
    { return qvariant_cast< bool >(property("X_Flatpak")); }

    Q_PROPERTY(bool X_linglong READ x_linglong)
    inline bool x_linglong() const
    { return qvariant_cast< bool >(property("X_linglong")); }

    Q_PROPERTY(bool isOnDesktop READ isOnDesktop)
    inline bool isOnDesktop() const
    { return qvariant_cast< bool >(property("isOnDesktop")); }

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QDBusObjectPath> Launch(const QString &action, const QStringList &fields, const QVariantMap &options)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(action) << QVariant::fromValue(fields) << QVariant::fromValue(options);
        return asyncCallWithArgumentList(QStringLiteral("Launch"), argumentList);
    }

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

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

Q_SIGNALS: // SIGNALS
};

namespace org {
  namespace desktopspec {
    namespace ApplicationManager1 {
      using Application = ::AppManager1Application;
    }
  }
}

#endif
