Update VehicleSignals usage
[apps/homescreen.git] / homescreen / src / mastervolume.h
1 /*
2  * Copyright (C) 2017 Konsulko Group
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <QtCore/QObject>
18 #include <QQmlEngine>
19 #include "vehiclesignals.h"
20
21 class MasterVolume : public QObject
22 {
23         Q_OBJECT
24
25 public:
26         MasterVolume(QObject* parent = nullptr);
27         ~MasterVolume();
28
29         Q_INVOKABLE qint32 getVolume() const;
30         Q_INVOKABLE void setVolume(quint32 val);
31         Q_PROPERTY (uint32_t volume READ getVolume WRITE setVolume NOTIFY VolumeChanged)
32
33 signals:
34         void VolumeChanged();
35
36 private slots:
37         void onConnected();
38         void onGetSuccessResponse(QString path, QString value, QString timestamp);
39         void onSignalNotification(QString path, QString value, QString timestamp);
40
41 private:
42         quint32 m_volume;
43         VehicleSignals *m_vs;
44
45         void updateVolume(QString value);
46 };