X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Fmastervolume.h;h=6ae0aad8b3b0045480cf51dd6b4229cd9198736c;hb=0bdd39b247661c1a0406d450d578d4ff3fd171b0;hp=edcdd8ca4dddc2dac551da77117c90a37d7b1fd6;hpb=79e0139fb399b5af1342783ed6abb61aff6e28dd;p=apps%2Fhomescreen.git diff --git a/homescreen/src/mastervolume.h b/homescreen/src/mastervolume.h index edcdd8c..6ae0aad 100644 --- a/homescreen/src/mastervolume.h +++ b/homescreen/src/mastervolume.h @@ -16,34 +16,34 @@ #include #include -#include +#include "../qafbwebsocketclient.h" -#include - -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(pa_volume_t 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(); };