1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-17 13:19:25 -04:00

Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050

This commit is contained in:
f4exb
2022-01-09 05:27:12 +01:00
parent e2fc5aa87c
commit 98b305f320
599 changed files with 6183 additions and 640 deletions
@@ -26,7 +26,8 @@
InterferometerSettings::InterferometerSettings() :
m_channelMarker(nullptr),
m_spectrumGUI(nullptr),
m_scopeGUI(nullptr)
m_scopeGUI(nullptr),
m_rollupState(nullptr)
{
resetToDefaults();
}
@@ -70,7 +71,9 @@ QByteArray InterferometerSettings::serialize() const
if (m_channelMarker) {
s.writeBlob(22, m_channelMarker->serialize());
}
s.writeBlob(23, m_rollupState);
if (m_rollupState) {
s.writeBlob(23, m_rollupState->serialize());
}
return s.final();
}
@@ -115,21 +118,29 @@ bool InterferometerSettings::deserialize(const QByteArray& data)
d.readS32(12, &tmp, 0);
m_phase = tmp < -180 ? -180 : tmp > 180 ? 180 : tmp;
if (m_spectrumGUI) {
if (m_spectrumGUI)
{
d.readBlob(20, &bytetmp);
m_spectrumGUI->deserialize(bytetmp);
}
if (m_scopeGUI) {
if (m_scopeGUI)
{
d.readBlob(21, &bytetmp);
m_scopeGUI->deserialize(bytetmp);
}
if (m_channelMarker) {
if (m_channelMarker)
{
d.readBlob(22, &bytetmp);
m_channelMarker->deserialize(bytetmp);
}
d.readBlob(23, &m_rollupState);
if (m_rollupState)
{
d.readBlob(23, &bytetmp);
m_rollupState->deserialize(bytetmp);
}
return true;
}
@@ -138,4 +149,4 @@ bool InterferometerSettings::deserialize(const QByteArray& data)
resetToDefaults();
return false;
}
}
}