MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / handleContainerStatus

Method handleContainerStatus

src/models/FlexWaveformModel.cpp:49–82  ·  view source on GitHub ↗

object == "waveform container", kvs contains name=, version=, and optionally removed "removed" is a bare-word key (no value) — detected via kvs.contains(). FlexLib Radio.cs DockerUpdateWaveformList (line 11188).

Source from the content-addressed store, hash-verified

47// "removed" is a bare-word key (no value) — detected via kvs.contains().
48// FlexLib Radio.cs DockerUpdateWaveformList (line 11188).
49void FlexWaveformModel::handleContainerStatus(const QMap<QString, QString>& kvs)
50{
51 const QString name = kvs.value(QStringLiteral("name"));
52 const QString version = kvs.value(QStringLiteral("version"));
53
54 if (name.isEmpty()) {
55 qWarning() << "FlexWaveformModel: container status missing name, ignoring";
56 return;
57 }
58
59 if (kvs.contains(QStringLiteral("removed"))) {
60 if (m_waveforms.removeIf([&name](const FlexWaveformEntry& e){
61 return e.isContainer && e.name == name;
62 }) > 0) {
63 emit waveformsChanged();
64 }
65 return;
66 }
67
68 // Add or update the container entry.
69 for (FlexWaveformEntry& e : m_waveforms) {
70 if (e.isContainer && e.name == name) {
71 e.version = version;
72 emit waveformsChanged();
73 return;
74 }
75 }
76 FlexWaveformEntry e;
77 e.name = name;
78 e.version = version;
79 e.isContainer = true;
80 m_waveforms.append(e);
81 emit waveformsChanged();
82}
83
84// object == "waveform wfp_status", kvs contains power=, ready=, ipaddr=
85// FlexLib Radio.cs ParseWfpStatus (line 11292).

Callers 2

onStatusReceivedMethod · 0.80
mainFunction · 0.80

Calls 4

containsMethod · 0.80
removeIfMethod · 0.80
valueMethod · 0.45
isEmptyMethod · 0.45

Tested by 1

mainFunction · 0.64