3#include <QtCore/QBindable>
4#include <QtCore/QByteArrayView>
5#include <QtCore/QObject>
6#include <QtCore/QObjectBindableProperty>
7#include <QtCore/QPointer>
8#include <QtCore/QString>
9#include <QtCore/QTimer>
10#include <QtQmlIntegration/QtQmlIntegration>
40 Q_INVOKABLE
void enable(
const QString& keyName);
48 void _onPrimaryLinkChanged();
49 void _onSigningStateChanged();
50 void _onSigningAlertRaised(
const QString& detail);
51 void _onSigningConfirmed(
const QString& confirmedKey);
59 void _refreshStatus();
60 void _startRetransmit();
61 void _stopRetransmit();
63 static constexpr int kRetransmitIntervalMs = 1500;
66 QPointer<SigningController> _active;
69 bool _pendingHasKey =
false;
std::shared_ptr< LinkInterface > SharedLinkInterfacePtr
Owns MAVLink signing state and the deferred-confirmation state machine for one LinkInterface.
Reason a signing operation failed. Used by SigningController error path and Vehicle::signingFailed.
Per-vehicle signing facade. Owns the wiring between Vehicle and the active SigningController (which l...
Q_INVOKABLE void enable(const QString &keyName)
~VehicleSigningController() override
SigningStatus signingStatus() const
Q_INVOKABLE void disable()
void signingStatusChanged()
void signingFailed(SigningFailure info)
QBindable< SigningStatus > bindableSigningStatus()
std::array< uint8_t, kSigningKeySize > SigningKey
std::array avoids QByteArray COW detach so secureZero() actually wipes the bytes.