/* * Copyright (C) 2017 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include "qafbwsclient.h" #include "qafbwsmsg.h" class MasterVolume : public QObject { Q_OBJECT Q_PROPERTY (uint32_t volume READ getVolume WRITE setVolume NOTIFY volumeChanged) public: explicit MasterVolume(QObject* parent = nullptr); ~MasterVolume(); Q_INVOKABLE void init(quint16 port, QString token); uint32_t getVolume() const; signals: void volumeChanged(uint32_t volume); public slots: void setVolume(uint32_t volume); private slots: void onAfbClientConnected(); void onAfbClientDisconnected(); void onCallHalListClosed(); void onCallCtlGet(); void onCallCtlSet(); private: uint32_t m_volume; uint32_t m_volumePending; QString m_soundcard; QAfbWsClient m_client; QSharedPointer m_call; };