/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -c Mouse -p generated/com_deepin_daemon_inputdevice_mouse /build/deepin-qt-dbus-factory/src/dde-qt-dbus-factory-5.0.1/xml/com.deepin.daemon.InputDevice.Mouse.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_MOUSE_H
#define COM_DEEPIN_DAEMON_INPUTDEVICE_MOUSE_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.Mouse
 */
class __MousePrivate;
class __Mouse : public DBusExtendedAbstractInterface
{
    Q_OBJECT

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

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

    ~__Mouse();

    Q_PROPERTY(bool AdaptiveAccelProfile READ adaptiveAccelProfile WRITE setAdaptiveAccelProfile NOTIFY AdaptiveAccelProfileChanged)
    bool adaptiveAccelProfile();
    void setAdaptiveAccelProfile(bool value);

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

    Q_PROPERTY(bool DisableTpad READ disableTpad WRITE setDisableTpad NOTIFY DisableTpadChanged)
    bool disableTpad();
    void setDisableTpad(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 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 MiddleButtonEmulation READ middleButtonEmulation WRITE setMiddleButtonEmulation NOTIFY MiddleButtonEmulationChanged)
    bool middleButtonEmulation();
    void setMiddleButtonEmulation(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);

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 AdaptiveAccelProfileChanged(bool  value) const;
    void DeviceListChanged(const QString & value) const;
    void DisableTpadChanged(bool  value) const;
    void DoubleClickChanged(int  value) const;
    void DragThresholdChanged(int  value) const;
    void ExistChanged(bool  value) const;
    void LeftHandedChanged(bool  value) const;
    void MiddleButtonEmulationChanged(bool  value) const;
    void MotionAccelerationChanged(double  value) const;
    void MotionScalingChanged(double  value) const;
    void MotionThresholdChanged(double  value) const;
    void NaturalScrollChanged(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:
    __MousePrivate *d_ptr;
};

namespace com {
  namespace deepin {
    namespace daemon {
      namespace inputdevice {
        typedef ::__Mouse Mouse;
      }
    }
  }
}
#endif
