/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.kclockd.Timer.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 TIMERINTERFACE_H
#define TIMERINTERFACE_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.kclock.Timer
 */
class OrgKdeKclockTimerInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.kde.kclock.Timer"; }

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

    ~OrgKdeKclockTimerInterface();

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

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

    Q_PROPERTY(int length READ length WRITE setLength)
    inline int length() const
    { return qvariant_cast< int >(property("length")); }
    inline void setLength(int value)
    { setProperty("length", QVariant::fromValue(value)); }

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

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

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

    Q_PROPERTY(int timeCompleted READ timeCompleted)
    inline int timeCompleted() const
    { return qvariant_cast< int >(property("timeCompleted")); }

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

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

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

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

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

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

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

Q_SIGNALS: // SIGNALS
    void commandTimeoutChanged();
    void labelChanged();
    void lengthChanged();
    void loopingChanged();
    void ringingChanged();
    void runningChanged();
    void timeCompletedChanged();
};

namespace org {
  namespace kde {
    namespace kclock {
      using Timer = ::OrgKdeKclockTimerInterface;
    }
  }
}

#endif
