X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Fmastervolume.h;fp=homescreen%2Fsrc%2Fmastervolume.h;h=e23e8d175280c5aaf2dc3e41fcb78e99253c1d90;hb=3229c695fc52e22e773cef89a835915c0bb6d90b;hp=bca6356b25feb4233cd345d18f46e4bfa497d89b;hpb=4667d93a852d66a57a2d7d26957c3aab6845756e;p=apps%2Fhomescreen.git diff --git a/homescreen/src/mastervolume.h b/homescreen/src/mastervolume.h index bca6356..e23e8d1 100644 --- a/homescreen/src/mastervolume.h +++ b/homescreen/src/mastervolume.h @@ -16,31 +16,34 @@ #include #include +#include "../helpers/qafbwebsocketclient.h" -class MasterVolume : public QObject +class MasterVolume + : public QObject { Q_OBJECT - Q_PROPERTY (uint32_t volume READ getVolume WRITE setVolume NOTIFY volumeChanged) - - public: - MasterVolume(QObject *parent = 0) - : QObject(parent), m_volume(32768) - { - } - - ~MasterVolume() {} - - uint32_t getVolume() const { return m_volume; } - void setVolume(int volume); - - public slots: - void changeExternalVolume(int volume); - - signals: - void volumeChanged(void); - void sliderVolumeChanged(int volume_delta); - void externalVolumeChanged(uint32_t volume); - - private: - uint32_t m_volume; + Q_PROPERTY (uint32_t volume READ getVolume WRITE setVolume NOTIFY VolumeChanged) + +private: + QAfbWebsocketClient m_client; + QUrl m_url; + qint32 m_volume; + +public: + MasterVolume(QObject* parent = nullptr); + ~MasterVolume() = default; + + Q_INVOKABLE void open(const QUrl& url); + Q_INVOKABLE qint32 getVolume() const; + Q_INVOKABLE void setVolume(qint32 val); + +private slots: + void onClientConnected(); + void onClientDisconnected(); + void onClientError(QAbstractSocket::SocketError se); + void onClientEventReceived(QString name, const QJsonValue& data); + void TryOpen(); + +signals: + void VolumeChanged(); };