swift
Loading...
Searching...
No Matches
afvclientbridge.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
2// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3
5
6#ifndef SAMPLES_AFVCLIENTBRIDGE_H
7#define SAMPLES_AFVCLIENTBRIDGE_H
8
9#include <QObject>
10
12
15{
17
22 Q_PROPERTY(swift::core::afv::clients::CAfvClient::ConnectionStatus connectionStatus READ getConnectionStatus NOTIFY
27
28public:
30 CAfvClientBridge(swift::core::afv::clients::CAfvClient *afvClient, QObject *parent = nullptr);
31
34 double getInputVolumePeakVU() const { return m_afvClient->getInputVolumePeakVU(); }
35 double getOutputVolumePeakVU() const { return m_afvClient->getOutputVolumePeakVU(); }
37
38 //! \copydoc swift::core::afv::clients::CAfvClient::getConnectionStatus
40 {
41 return m_afvClient->getConnectionStatus();
42 }
43
46 QString getReceivingCallsignsCom1() { return m_afvClient->getReceivingCallsignsStringCom1(); }
49
50 //! \copydoc swift::core::afv::clients::CAfvClient::connectTo
51 Q_INVOKABLE void connectTo(const QString &cid, const QString &password, const QString &callsign)
52 {
54 m_afvClient->connectTo(cid, password, callsign, client);
55 }
56
58 Q_INVOKABLE void disconnectFrom() { m_afvClient->disconnectFrom(); }
59
62 Q_INVOKABLE QStringList availableInputDevices() const { return m_afvClient->availableInputDevices(); }
65
67 Q_INVOKABLE void setBypassEffects(bool value) { m_afvClient->setBypassEffects(value); }
68
69 //! \copydoc swift::core::afv::clients::CAfvClient::startAudio
70 Q_INVOKABLE void startAudio(const QString &inputDeviceName, const QString &outputDeviceName)
71 {
72 m_afvClient->startAudio(inputDeviceName, outputDeviceName);
73 }
74
76 Q_INVOKABLE void enableTransceiver(quint16 id, bool enable) { m_afvClient->enableTransceiver(id, enable); }
77
78 //! \copydoc swift::core::afv::clients::CAfvClient::updateComFrequency
79 Q_INVOKABLE void updateComFrequency(quint16 id, quint32 frequencyHz)
80 {
81 m_afvClient->updateComFrequency(id, frequencyHz);
82 }
83
84 //! \copydoc swift::core::afv::clients::CAfvClient::updatePosition
85 Q_INVOKABLE void updatePosition(double latitudeDeg, double longitudeDeg, double heightMeters)
86 {
87 m_afvClient->updatePosition(latitudeDeg, longitudeDeg, heightMeters);
88 }
89
91 Q_INVOKABLE void setPtt(bool active) { m_afvClient->setPtt(active); }
92
95 Q_INVOKABLE void setLoopBack(bool on) { m_afvClient->setLoopBack(on); }
96 Q_INVOKABLE bool isLoopback() const { return m_afvClient->isLoopback(); }
98
100 Q_INVOKABLE void setInputVolumeDb(double valueDb) { m_afvClient->setInputVolumeDb(valueDb); }
101
102 //! \copydoc swift::core::afv::clients::CAfvClient::setNormalizedMasterOutputVolume
104 {
105 m_afvClient->setNormalizedMasterOutputVolume(valueDb);
106 }
107
108signals:
112
115
118
120 void ptt(bool active, const swift::misc::CIdentifier &identifier);
121
124 void inputVolumePeakVU(double value);
125 void outputVolumePeakVU(double value);
127
128private:
129 swift::core::afv::clients::CAfvClient *m_afvClient = nullptr;
130};
131
132#endif // SAMPLES_AFVCLIENTBRIDGE_H
Q_INVOKABLE QStringList availableOutputDevices() const
Audio devices.
void receivingCallsignsChanged(const swift::core::afv::audio::TransceiverReceivingCallsignsChangedArgs &args)
Receiving callsigns have been changed.
Q_INVOKABLE void setNormalizedMasterOutputVolume(double valueDb)
Normalized volumes 0..100.
double getOutputVolumePeakVU() const
VU values, 0..1.
Q_INVOKABLE void updatePosition(double latitudeDeg, double longitudeDeg, double heightMeters)
Update own aircraft position.
Q_INVOKABLE void connectTo(const QString &cid, const QString &password, const QString &callsign)
Connect to network.
double inputVolumePeakVU
Bridge properties.
void updatedFromOwnAircraftCockpit()
Client updated from own aicraft data.
swift::core::afv::clients::CAfvClient::ConnectionStatus getConnectionStatus() const
Connection status.
Q_INVOKABLE void setInputVolumeDb(double valueDb)
Input volume in dB, [MinDbIn, MaxDbIn]dB.
QString getReceivingCallsignsCom1()
Callsigns currently received.
Q_INVOKABLE void startAudio(const QString &inputDeviceName, const QString &outputDeviceName)
Start/stop client.
Q_INVOKABLE bool isLoopback() const
Loopback.
void connectionStatusChanged(swift::core::afv::clients::CAfvClient::ConnectionStatus status)
Connection status has been changed.
Q_INVOKABLE void setBypassEffects(bool value)
Enable/disable VHF simulation, true means effects are NOT used.
swift::core::afv::clients::CAfvClient::ConnectionStatus connectionStatus
Bridge properties.
QString receivingCallsignsCom1
Bridge properties.
Q_INVOKABLE void setLoopBack(bool on)
Loopback.
Q_INVOKABLE void setPtt(bool active)
Push to talk.
double outputVolumePeakVU
Bridge properties.
Q_INVOKABLE QStringList availableInputDevices() const
Audio devices.
Q_INVOKABLE void enableTransceiver(quint16 id, bool enable)
Enable COM unit/transceiver.
double getInputVolumePeakVU() const
VU values, 0..1.
Q_INVOKABLE void updateComFrequency(quint16 id, quint32 frequencyHz)
Update frequency.
Q_INVOKABLE void disconnectFrom()
Disconnect from network.
QString getReceivingCallsignsCom2()
Callsigns currently received.
QString receivingCallsignsCom2
Bridge properties.
CAfvClientBridge(swift::core::afv::clients::CAfvClient *afvClient, QObject *parent=nullptr)
Ctor.
void ptt(bool active, const swift::misc::CIdentifier &identifier)
PTT status in this particular AFV client.
static const QString & getShortVersionString()
Version as QVersionNumber.
Q_INVOKABLE QStringList availableOutputDevices() const
Audio devices.
Q_INVOKABLE bool isLoopback() const
Loopback.
Definition afvclient.h:220
double getOutputVolumePeakVU() const
VU values, 0..1.
QString getReceivingCallsignsStringCom2() const
Callsigns currently received.
Value object encapsulating information identifying a component of a modular distributed swift process...
Definition identifier.h:29
QObject(QObject *parent)
Q_INVOKABLEQ_INVOKABLE
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
QObject * parent() const const