/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -c Wacom -p generated/com_deepin_daemon_inputdevice_wacom /build/deepin-qt-dbus-factory/src/dde-qt-dbus-factory-0.4.0/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 __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)
    inline WacomDeviceList actionInfos()
    { return qvariant_cast< WacomDeviceList >(internalPropGet("ActionInfos", &m_ActionInfos)); }

    Q_PROPERTY(bool CursorMode READ cursorMode WRITE setCursorMode NOTIFY CursorModeChanged)
    inline bool cursorMode()
    { return qvariant_cast< bool >(internalPropGet("CursorMode", &m_CursorMode)); }
    inline void setCursorMode(bool value)
    { internalPropSet("CursorMode", QVariant::fromValue(value), &m_CursorMode); }

    Q_PROPERTY(QString DeviceList READ deviceList NOTIFY DeviceListChanged)
    inline QString deviceList()
    { return qvariant_cast< QString >(internalPropGet("DeviceList", &m_DeviceList)); }

    Q_PROPERTY(uint EraserPressureSensitive READ eraserPressureSensitive WRITE setEraserPressureSensitive NOTIFY EraserPressureSensitiveChanged)
    inline uint eraserPressureSensitive()
    { return qvariant_cast< uint >(internalPropGet("EraserPressureSensitive", &m_EraserPressureSensitive)); }
    inline void setEraserPressureSensitive(uint value)
    { internalPropSet("EraserPressureSensitive", QVariant::fromValue(value), &m_EraserPressureSensitive); }

    Q_PROPERTY(uint EraserRawSample READ eraserRawSample WRITE setEraserRawSample NOTIFY EraserRawSampleChanged)
    inline uint eraserRawSample()
    { return qvariant_cast< uint >(internalPropGet("EraserRawSample", &m_EraserRawSample)); }
    inline void setEraserRawSample(uint value)
    { internalPropSet("EraserRawSample", QVariant::fromValue(value), &m_EraserRawSample); }

    Q_PROPERTY(uint EraserThreshold READ eraserThreshold WRITE setEraserThreshold NOTIFY EraserThresholdChanged)
    inline uint eraserThreshold()
    { return qvariant_cast< uint >(internalPropGet("EraserThreshold", &m_EraserThreshold)); }
    inline void setEraserThreshold(uint value)
    { internalPropSet("EraserThreshold", QVariant::fromValue(value), &m_EraserThreshold); }

    Q_PROPERTY(bool Exist READ exist NOTIFY ExistChanged)
    inline bool exist()
    { return qvariant_cast< bool >(internalPropGet("Exist", &m_Exist)); }

    Q_PROPERTY(QString KeyDownAction READ keyDownAction WRITE setKeyDownAction NOTIFY KeyDownActionChanged)
    inline QString keyDownAction()
    { return qvariant_cast< QString >(internalPropGet("KeyDownAction", &m_KeyDownAction)); }
    inline void setKeyDownAction(const QString &value)
    { internalPropSet("KeyDownAction", QVariant::fromValue(value), &m_KeyDownAction); }

    Q_PROPERTY(QString KeyUpAction READ keyUpAction WRITE setKeyUpAction NOTIFY KeyUpActionChanged)
    inline QString keyUpAction()
    { return qvariant_cast< QString >(internalPropGet("KeyUpAction", &m_KeyUpAction)); }
    inline void setKeyUpAction(const QString &value)
    { internalPropSet("KeyUpAction", QVariant::fromValue(value), &m_KeyUpAction); }

    Q_PROPERTY(bool LeftHanded READ leftHanded WRITE setLeftHanded NOTIFY LeftHandedChanged)
    inline bool leftHanded()
    { return qvariant_cast< bool >(internalPropGet("LeftHanded", &m_LeftHanded)); }
    inline void setLeftHanded(bool value)
    { internalPropSet("LeftHanded", QVariant::fromValue(value), &m_LeftHanded); }

    Q_PROPERTY(QString MapOutput READ mapOutput WRITE setMapOutput NOTIFY MapOutputChanged)
    inline QString mapOutput()
    { return qvariant_cast< QString >(internalPropGet("MapOutput", &m_MapOutput)); }
    inline void setMapOutput(const QString &value)
    { internalPropSet("MapOutput", QVariant::fromValue(value), &m_MapOutput); }

    Q_PROPERTY(uint StylusPressureSensitive READ stylusPressureSensitive WRITE setStylusPressureSensitive NOTIFY StylusPressureSensitiveChanged)
    inline uint stylusPressureSensitive()
    { return qvariant_cast< uint >(internalPropGet("StylusPressureSensitive", &m_StylusPressureSensitive)); }
    inline void setStylusPressureSensitive(uint value)
    { internalPropSet("StylusPressureSensitive", QVariant::fromValue(value), &m_StylusPressureSensitive); }

    Q_PROPERTY(uint StylusRawSample READ stylusRawSample WRITE setStylusRawSample NOTIFY StylusRawSampleChanged)
    inline uint stylusRawSample()
    { return qvariant_cast< uint >(internalPropGet("StylusRawSample", &m_StylusRawSample)); }
    inline void setStylusRawSample(uint value)
    { internalPropSet("StylusRawSample", QVariant::fromValue(value), &m_StylusRawSample); }

    Q_PROPERTY(uint StylusThreshold READ stylusThreshold WRITE setStylusThreshold NOTIFY StylusThresholdChanged)
    inline uint stylusThreshold()
    { return qvariant_cast< uint >(internalPropGet("StylusThreshold", &m_StylusThreshold)); }
    inline void setStylusThreshold(uint value)
    { internalPropSet("StylusThreshold", QVariant::fromValue(value), &m_StylusThreshold); }

    Q_PROPERTY(uint Suppress READ suppress WRITE setSuppress NOTIFY SuppressChanged)
    inline uint suppress()
    { return qvariant_cast< uint >(internalPropGet("Suppress", &m_Suppress)); }
    inline void setSuppress(uint value)
    { internalPropSet("Suppress", QVariant::fromValue(value), &m_Suppress); }

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<> Reset()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(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;

// begin private slots
private Q_SLOTS:
    void onPropertyChanged(const QString &propName, const QVariant &value);

// begin private member vaiables
private:
    WacomDeviceList m_ActionInfos;
    bool m_CursorMode;
    QString m_DeviceList;
    uint m_EraserPressureSensitive;
    uint m_EraserRawSample;
    uint m_EraserThreshold;
    bool m_Exist;
    QString m_KeyDownAction;
    QString m_KeyUpAction;
    bool m_LeftHanded;
    QString m_MapOutput;
    uint m_StylusPressureSensitive;
    uint m_StylusRawSample;
    uint m_StylusThreshold;
    uint m_Suppress;
};

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