/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -c TrackPoint -p generated/com_deepin_daemon_inputdevice_trackpoint /build/deepin-qt-dbus-factory/src/dde-qt-dbus-factory-5.0.1/xml/com.deepin.daemon.InputDevice.TrackPoint.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_TRACKPOINT_H
#define COM_DEEPIN_DAEMON_INPUTDEVICE_TRACKPOINT_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.TrackPoint
 */
class __TrackPointPrivate;
class __TrackPoint : public DBusExtendedAbstractInterface
{
    Q_OBJECT

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

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

    ~__TrackPoint();

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

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

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

    Q_PROPERTY(bool MiddleButtonEnabled READ middleButtonEnabled WRITE setMiddleButtonEnabled NOTIFY MiddleButtonEnabledChanged)
    bool middleButtonEnabled();
    void setMiddleButtonEnabled(bool value);

    Q_PROPERTY(int MiddleButtonTimeout READ middleButtonTimeout WRITE setMiddleButtonTimeout NOTIFY MiddleButtonTimeoutChanged)
    int middleButtonTimeout();
    void setMiddleButtonTimeout(int 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 WheelEmulation READ wheelEmulation WRITE setWheelEmulation NOTIFY WheelEmulationChanged)
    bool wheelEmulation();
    void setWheelEmulation(bool value);

    Q_PROPERTY(int WheelEmulationButton READ wheelEmulationButton WRITE setWheelEmulationButton NOTIFY WheelEmulationButtonChanged)
    int wheelEmulationButton();
    void setWheelEmulationButton(int value);

    Q_PROPERTY(int WheelEmulationTimeout READ wheelEmulationTimeout WRITE setWheelEmulationTimeout NOTIFY WheelEmulationTimeoutChanged)
    int wheelEmulationTimeout();
    void setWheelEmulationTimeout(int value);

    Q_PROPERTY(bool WheelHorizScroll READ wheelHorizScroll WRITE setWheelHorizScroll NOTIFY WheelHorizScrollChanged)
    bool wheelHorizScroll();
    void setWheelHorizScroll(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 DeviceListChanged(const QString & value) const;
    void ExistChanged(bool  value) const;
    void LeftHandedChanged(bool  value) const;
    void MiddleButtonEnabledChanged(bool  value) const;
    void MiddleButtonTimeoutChanged(int  value) const;
    void MotionAccelerationChanged(double  value) const;
    void MotionScalingChanged(double  value) const;
    void MotionThresholdChanged(double  value) const;
    void WheelEmulationChanged(bool  value) const;
    void WheelEmulationButtonChanged(int  value) const;
    void WheelEmulationTimeoutChanged(int  value) const;
    void WheelHorizScrollChanged(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:
    __TrackPointPrivate *d_ptr;
};

namespace com {
  namespace deepin {
    namespace daemon {
      namespace inputdevice {
        typedef ::__TrackPoint TrackPoint;
      }
    }
  }
}
#endif
