#ifndef QMAFWWATCHLETVOLUMECONTROL_H #define QMAFWWATCHLETVOLUMECONTROL_H #include #include class MainVolumeControlProxy; namespace sowatch { class QMafwWatchletVolumeControl : public QObject { Q_OBJECT Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged) Q_PROPERTY(int min READ min NOTIFY minChanged) Q_PROPERTY(int max READ max NOTIFY maxChanged) public: explicit QMafwWatchletVolumeControl(QObject *parent = 0); ~QMafwWatchletVolumeControl(); int volume() const; int min() const; int max() const; void setVolume(int vol); signals: void volumeChanged(); void minChanged(); void maxChanged(); public slots: void up(); void down(); private: void _openConnection(); void _listenForSignal(); void _fetchValues(); static void handleFetchReply(DBusPendingCall *pending, void *user_data); static DBusHandlerResult handleDBusSignal(DBusConnection *connection, DBusMessage *message, void *user_data); private: DBusConnection *_conn; int _curStep; int _maxStep; }; } #endif // QMAFWWATCHLETVOLUMECONTROL_H