Initial rework to run without the app framework
[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
20 class MasterVolume
21         : public QObject
22 {
23         Q_OBJECT
24         Q_PROPERTY (uint32_t volume READ getVolume WRITE setVolume NOTIFY VolumeChanged)
25
26 private:
27         qint32 m_volume;
28
29 public:
30         MasterVolume(QObject* parent = nullptr);
31         ~MasterVolume() = default;
32
33         //Q_INVOKABLE void open(const QUrl& url);
34         Q_INVOKABLE qint32 getVolume() const;
35         Q_INVOKABLE void setVolume(qint32 val);
36
37 private slots:
38 #if 0
39         void onClientConnected();
40         void onClientDisconnected();
41         void onClientError(QAbstractSocket::SocketError se);
42         void onClientEventReceived(QString name, const QJsonValue& data);
43         void TryOpen();
44 #endif
45
46 signals:
47         void VolumeChanged();
48 };