/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.deepin.dde.SessionManager1.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * This file may have been hand-edited. Look for HAND-EDIT comments
 * before re-generating it.
 */

#ifndef SESSIONMANAGER1ADAPTOR_H
#define SESSIONMANAGER1ADAPTOR_H

#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include "impl/sessionmanager.h"
#include <QtCore/qcontainerfwd.h>

/*
 * Adaptor class for interface org.deepin.dde.SessionManager1
 */
class SessionManager1Adaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.deepin.dde.SessionManager1")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.deepin.dde.SessionManager1\">\n"
"    <method name=\"AllowSessionDaemonRun\">\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"CanHibernate\">\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"CanLogout\">\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"CanReboot\">\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"CanShutdown\">\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"CanSuspend\">\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"GetInhibitors\">\n"
"      <arg direction=\"out\" type=\"ao\" name=\"Inhibitors\"/>\n"
"    </method>\n"
"    <method name=\"Inhibit\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"appId\"/>\n"
"      <arg direction=\"in\" type=\"u\" name=\"toplevelXid\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"reason\"/>\n"
"      <arg direction=\"in\" type=\"u\" name=\"flags\"/>\n"
"      <arg direction=\"out\" type=\"u\" name=\"inhibitCookie\"/>\n"
"    </method>\n"
"    <method name=\"IsInhibited\">\n"
"      <arg direction=\"in\" type=\"u\" name=\"flags\"/>\n"
"      <arg direction=\"out\" type=\"b\" name=\"ret\"/>\n"
"    </method>\n"
"    <method name=\"Uninhibit\">\n"
"      <arg direction=\"in\" type=\"u\" name=\"inhibitCookie\"/>\n"
"    </method>\n"
"    <method name=\"Logout\"/>\n"
"    <method name=\"PowerOffChoose\"/>\n"
"    <method name=\"Reboot\"/>\n"
"    <method name=\"Register\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"id\"/>\n"
"      <arg direction=\"out\" type=\"b\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"RequestHibernate\"/>\n"
"    <method name=\"RequestLock\"/>\n"
"    <method name=\"RequestLogout\"/>\n"
"    <method name=\"RequestReboot\"/>\n"
"    <method name=\"RequestShutdown\"/>\n"
"    <method name=\"RequestSuspend\"/>\n"
"    <method name=\"SetLocked\">\n"
"      <arg direction=\"in\" type=\"b\" name=\"value\"/>\n"
"    </method>\n"
"    <method name=\"Shutdown\"/>\n"
"    <method name=\"ToggleDebug\"/>\n"
"    <signal name=\"LockedChanged\">\n"
"      <arg type=\"b\" name=\"locked\"/>\n"
"    </signal>\n"
"    <signal name=\"Unlock\"/>\n"
"    <signal name=\"InhibitorAdded\">\n"
"      <arg type=\"o\" name=\"path\"/>\n"
"    </signal>\n"
"    <signal name=\"InhibitorRemoved\">\n"
"      <arg type=\"o\" name=\"path\"/>\n"
"    </signal>\n"
"    <property access=\"read\" type=\"b\" name=\"Locked\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"CurrentUid\"/>\n"
"    <property access=\"read\" type=\"i\" name=\"Stage\"/>\n"
"    <property access=\"read\" type=\"o\" name=\"CurrentSessionPath\"/>\n"
"  </interface>\n"
        "")
public:
    SessionManager1Adaptor(SessionManager *parent);
    ~SessionManager1Adaptor() override;

    inline SessionManager *parent() const
    { return static_cast<SessionManager *>(QObject::parent()); }

public: // PROPERTIES
    Q_PROPERTY(QDBusObjectPath CurrentSessionPath READ currentSessionPath)
    QDBusObjectPath currentSessionPath() const;

    Q_PROPERTY(QString CurrentUid READ currentUid)
    QString currentUid() const;

    Q_PROPERTY(bool Locked READ locked)
    bool locked() const;

    Q_PROPERTY(int Stage READ stage)
    int stage() const;

public Q_SLOTS: // METHODS
    bool AllowSessionDaemonRun();
    bool CanHibernate();
    bool CanLogout();
    bool CanReboot();
    bool CanShutdown();
    bool CanSuspend();
    QList<QDBusObjectPath> GetInhibitors();
    uint Inhibit(const QString &appId, uint toplevelXid, const QString &reason, uint flags);
    bool IsInhibited(uint flags);
    void Logout();
    void PowerOffChoose();
    void Reboot();
    bool Register(const QString &id);
    void RequestHibernate();
    void RequestLock();
    void RequestLogout();
    void RequestReboot();
    void RequestShutdown();
    void RequestSuspend();
    void SetLocked(bool value);
    void Shutdown();
    void ToggleDebug();
    void Uninhibit(uint inhibitCookie);
Q_SIGNALS: // SIGNALS
    void InhibitorAdded(const QDBusObjectPath &path);
    void InhibitorRemoved(const QDBusObjectPath &path);
    void LockedChanged(bool locked);
    void Unlock();
};

#endif
