/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -c Wacom -p generated/com_deepin_daemon_inputdevice_wacom ../xml/com.deepin.daemon.InputDevice.Wacom.xml
 *
 * qdbusxml2cpp-fix is Copyright (C) 2016 Deepin Technology Co., Ltd.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef COM_DEEPIN_DAEMON_INPUTDEVICE_WACOM_H
#define COM_DEEPIN_DAEMON_INPUTDEVICE_WACOM_H

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>

#include <DBusExtendedAbstractInterface>
#include <QtDBus/QtDBus>

#include "types/wacomdevicelist.h"

/*
 * Proxy class for interface com.deepin.daemon.InputDevice.Wacom
 */
class __WacomPrivate;
class __Wacom : public DBusExtendedAbstractInterface
{
    Q_OBJECT

public:
    static inline const char *staticInterfaceName()
    { return "com.deepin.daemon.InputDevice.Wacom"; }

public:
    explicit __Wacom(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);

    ~__Wacom();

    Q_PROPERTY(WacomDeviceList ActionInfos READ actionInfos NOTIFY ActionInfosChanged)
    WacomDeviceList actionInfos();

    Q_PROPERTY(bool CursorMode READ cursorMode WRITE setCursorMode NOTIFY CursorModeChanged)
    bool cursorMode();
    void setCursorMode(bool value);

    Q_PROPERTY(QString DeviceList READ deviceList NOTIFY DeviceListChanged)
    QString deviceList();

    Q_PROPERTY(uint EraserPressureSensitive READ eraserPressureSensitive WRITE setEraserPressureSensitive NOTIFY EraserPressureSensitiveChanged)
    uint eraserPressureSensitive();
    void setEraserPressureSensitive(uint value);

    Q_PROPERTY(uint EraserRawSample READ eraserRawSample WRITE setEraserRawSample NOTIFY EraserRawSampleChanged)
    uint eraserRawSample();
    void setEraserRawSample(uint value);

    Q_PROPERTY(uint EraserThreshold READ eraserThreshold WRITE setEraserThreshold NOTIFY EraserThresholdChanged)
    uint eraserThreshold();
    void setEraserThreshold(uint value);

    Q_PROPERTY(bool Exist READ exist NOTIFY ExistChanged)
    bool exist();

    Q_PROPERTY(QString KeyDownAction READ keyDownAction WRITE setKeyDownAction NOTIFY KeyDownActionChanged)
    QString keyDownAction();
    void setKeyDownAction(const QString &value);

    Q_PROPERTY(QString KeyUpAction READ keyUpAction WRITE setKeyUpAction NOTIFY KeyUpActionChanged)
    QString keyUpAction();
    void setKeyUpAction(const QString &value);

    Q_PROPERTY(bool LeftHanded READ leftHanded WRITE setLeftHanded NOTIFY LeftHandedChanged)
    bool leftHanded();
    void setLeftHanded(bool value);

    Q_PROPERTY(QString MapOutput READ mapOutput WRITE setMapOutput NOTIFY MapOutputChanged)
    QString mapOutput();
    void setMapOutput(const QString &value);

    Q_PROPERTY(uint StylusPressureSensitive READ stylusPressureSensitive WRITE setStylusPressureSensitive NOTIFY StylusPressureSensitiveChanged)
    uint stylusPressureSensitive();
    void setStylusPressureSensitive(uint value);

    Q_PROPERTY(uint StylusRawSample READ stylusRawSample WRITE setStylusRawSample NOTIFY StylusRawSampleChanged)
    uint stylusRawSample();
    void setStylusRawSample(uint value);

    Q_PROPERTY(uint StylusThreshold READ stylusThreshold WRITE setStylusThreshold NOTIFY StylusThresholdChanged)
    uint stylusThreshold();
    void setStylusThreshold(uint value);

    Q_PROPERTY(uint Suppress READ suppress WRITE setSuppress NOTIFY SuppressChanged)
    uint suppress();
    void setSuppress(uint value);

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

    inline void ResetQueued()
    {
        QList<QVariant> argumentList;

        CallQueued(QStringLiteral("Reset"), argumentList);
    }



Q_SIGNALS: // SIGNALS
    // begin property changed signals
    void ActionInfosChanged(WacomDeviceList  value) const;
    void CursorModeChanged(bool  value) const;
    void DeviceListChanged(const QString & value) const;
    void EraserPressureSensitiveChanged(uint  value) const;
    void EraserRawSampleChanged(uint  value) const;
    void EraserThresholdChanged(uint  value) const;
    void ExistChanged(bool  value) const;
    void KeyDownActionChanged(const QString & value) const;
    void KeyUpActionChanged(const QString & value) const;
    void LeftHandedChanged(bool  value) const;
    void MapOutputChanged(const QString & value) const;
    void StylusPressureSensitiveChanged(uint  value) const;
    void StylusRawSampleChanged(uint  value) const;
    void StylusThresholdChanged(uint  value) const;
    void SuppressChanged(uint  value) const;

public Q_SLOTS:
    void CallQueued(const QString &callName, const QList<QVariant> &args);

private Q_SLOTS:
    void onPendingCallFinished(QDBusPendingCallWatcher *w);
    void onPropertyChanged(const QString &propName, const QVariant &value);

private:
    __WacomPrivate *d_ptr;
};

namespace com {
  namespace deepin {
    namespace daemon {
      namespace inputdevice {
        typedef ::__Wacom Wacom;
      }
    }
  }
}
#endif
