/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp -N -m -p powermanagementinterface /usr/src/ports/kf5-kdelibs4support/kf5-kdelibs4support-5.43.0-1.x86_64/src/kdelibs4support-5.43.0/src/solid/org.freedesktop.PowerManagement.xml
 *
 * qdbusxml2cpp is Copyright (C) 2017 The Qt Company Ltd.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef POWERMANAGEMENTINTERFACE_H
#define POWERMANAGEMENTINTERFACE_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.PowerManagement
 */
class OrgFreedesktopPowerManagementInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.freedesktop.PowerManagement"; }

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

    ~OrgFreedesktopPowerManagementInterface();

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

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

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

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

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

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

Q_SIGNALS: // SIGNALS
    void CanHibernateChanged(bool can_hibernate);
    void CanHybridSuspendChanged(bool can_hybrid_suspend);
    void CanSuspendChanged(bool can_suspend);
    void PowerSaveStatusChanged(bool save_power);
};

#endif
