/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -c TouchPad -p generated/com_deepin_daemon_inputdevice_touchpad ../xml/com.deepin.daemon.InputDevice.TouchPad.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_TOUCHPAD_H
#define COM_DEEPIN_DAEMON_INPUTDEVICE_TOUCHPAD_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>


/*
 * Proxy class for interface com.deepin.daemon.InputDevice.TouchPad
 */
class __TouchPadPrivate;
class __TouchPad : public DBusExtendedAbstractInterface
{
    Q_OBJECT

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

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

    ~__TouchPad();

    Q_PROPERTY(int DeltaScroll READ deltaScroll WRITE setDeltaScroll NOTIFY DeltaScrollChanged)
    int deltaScroll();
    void setDeltaScroll(int value);

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

    Q_PROPERTY(bool DisableIfTyping READ disableIfTyping WRITE setDisableIfTyping NOTIFY DisableIfTypingChanged)
    bool disableIfTyping();
    void setDisableIfTyping(bool value);

    Q_PROPERTY(int DoubleClick READ doubleClick WRITE setDoubleClick NOTIFY DoubleClickChanged)
    int doubleClick();
    void setDoubleClick(int value);

    Q_PROPERTY(int DragThreshold READ dragThreshold WRITE setDragThreshold NOTIFY DragThresholdChanged)
    int dragThreshold();
    void setDragThreshold(int value);

    Q_PROPERTY(bool EdgeScroll READ edgeScroll WRITE setEdgeScroll NOTIFY EdgeScrollChanged)
    bool edgeScroll();
    void setEdgeScroll(bool value);

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

    Q_PROPERTY(bool HorizScroll READ horizScroll WRITE setHorizScroll NOTIFY HorizScrollChanged)
    bool horizScroll();
    void setHorizScroll(bool value);

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

    Q_PROPERTY(double MotionAcceleration READ motionAcceleration WRITE setMotionAcceleration NOTIFY MotionAccelerationChanged)
    double motionAcceleration();
    void setMotionAcceleration(double value);

    Q_PROPERTY(double MotionScaling READ motionScaling WRITE setMotionScaling NOTIFY MotionScalingChanged)
    double motionScaling();
    void setMotionScaling(double value);

    Q_PROPERTY(double MotionThreshold READ motionThreshold WRITE setMotionThreshold NOTIFY MotionThresholdChanged)
    double motionThreshold();
    void setMotionThreshold(double value);

    Q_PROPERTY(bool NaturalScroll READ naturalScroll WRITE setNaturalScroll NOTIFY NaturalScrollChanged)
    bool naturalScroll();
    void setNaturalScroll(bool value);

    Q_PROPERTY(bool PalmDetect READ palmDetect WRITE setPalmDetect NOTIFY PalmDetectChanged)
    bool palmDetect();
    void setPalmDetect(bool value);

    Q_PROPERTY(int PalmMinWidth READ palmMinWidth WRITE setPalmMinWidth NOTIFY PalmMinWidthChanged)
    int palmMinWidth();
    void setPalmMinWidth(int value);

    Q_PROPERTY(int PalmMinZ READ palmMinZ WRITE setPalmMinZ NOTIFY PalmMinZChanged)
    int palmMinZ();
    void setPalmMinZ(int value);

    Q_PROPERTY(bool TPadEnable READ tPadEnable WRITE setTPadEnable NOTIFY TPadEnableChanged)
    bool tPadEnable();
    void setTPadEnable(bool value);

    Q_PROPERTY(bool TapClick READ tapClick WRITE setTapClick NOTIFY TapClickChanged)
    bool tapClick();
    void setTapClick(bool value);

    Q_PROPERTY(bool VertScroll READ vertScroll WRITE setVertScroll NOTIFY VertScrollChanged)
    bool vertScroll();
    void setVertScroll(bool 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 DeltaScrollChanged(int  value) const;
    void DeviceListChanged(const QString & value) const;
    void DisableIfTypingChanged(bool  value) const;
    void DoubleClickChanged(int  value) const;
    void DragThresholdChanged(int  value) const;
    void EdgeScrollChanged(bool  value) const;
    void ExistChanged(bool  value) const;
    void HorizScrollChanged(bool  value) const;
    void LeftHandedChanged(bool  value) const;
    void MotionAccelerationChanged(double  value) const;
    void MotionScalingChanged(double  value) const;
    void MotionThresholdChanged(double  value) const;
    void NaturalScrollChanged(bool  value) const;
    void PalmDetectChanged(bool  value) const;
    void PalmMinWidthChanged(int  value) const;
    void PalmMinZChanged(int  value) const;
    void TPadEnableChanged(bool  value) const;
    void TapClickChanged(bool  value) const;
    void VertScrollChanged(bool  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:
    __TouchPadPrivate *d_ptr;
};

namespace com {
  namespace deepin {
    namespace daemon {
      namespace inputdevice {
        typedef ::__TouchPad TouchPad;
      }
    }
  }
}
#endif
