1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-05 07:24:44 -04:00

Implement serialize and deserialize to/from API in Serializable interface. Related changes and fixes

This commit is contained in:
f4exb
2021-12-01 00:20:14 +01:00
parent a8d81b1458
commit 2a9cc27a41
114 changed files with 1893 additions and 520 deletions
@@ -342,6 +342,12 @@ void Interferometer::webapiUpdateChannelSettings(
if (channelSettingsKeys.contains("reverseAPIChannelIndex")) {
settings.m_reverseAPIChannelIndex = response.getInterferometerSettings()->getReverseApiChannelIndex();
}
if (settings.m_spectrumGUI && channelSettingsKeys.contains("spectrumConfig")) {
settings.m_spectrumGUI->updateFrom(channelSettingsKeys, response.getInterferometerSettings()->getSpectrumConfig());
}
if (settings.m_scopeGUI && channelSettingsKeys.contains("scopeConfig")) {
settings.m_scopeGUI->updateFrom(channelSettingsKeys, response.getInterferometerSettings()->getScopeConfig());
}
}
void Interferometer::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const InterferometerSettings& settings)
@@ -367,6 +373,34 @@ void Interferometer::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings
response.getInterferometerSettings()->setReverseApiPort(settings.m_reverseAPIPort);
response.getInterferometerSettings()->setReverseApiDeviceIndex(settings.m_reverseAPIDeviceIndex);
response.getInterferometerSettings()->setReverseApiChannelIndex(settings.m_reverseAPIChannelIndex);
if (settings.m_spectrumGUI)
{
if (response.getInterferometerSettings()->getSpectrumConfig())
{
settings.m_spectrumGUI->formatTo(response.getInterferometerSettings()->getSpectrumConfig());
}
else
{
SWGSDRangel::SWGGLSpectrum *swgGLSpectrum = new SWGSDRangel::SWGGLSpectrum();
settings.m_spectrumGUI->formatTo(swgGLSpectrum);
response.getInterferometerSettings()->setSpectrumConfig(swgGLSpectrum);
}
}
if (settings.m_scopeGUI)
{
if (response.getInterferometerSettings()->getScopeConfig())
{
settings.m_scopeGUI->formatTo(response.getInterferometerSettings()->getScopeConfig());
}
else
{
SWGSDRangel::SWGGLScope *swgGLScope = new SWGSDRangel::SWGGLScope();
settings.m_scopeGUI->formatTo(swgGLScope);
response.getInterferometerSettings()->setScopeConfig(swgGLScope);
}
}
}
void Interferometer::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const InterferometerSettings& settings, bool force)
@@ -444,6 +478,20 @@ void Interferometer::webapiFormatChannelSettings(
if (channelSettingsKeys.contains("filterChainHash") || force) {
swgInterferometerSettings->setFilterChainHash(settings.m_filterChainHash);
}
if (settings.m_spectrumGUI)
{
if (channelSettingsKeys.contains("spectrumConfig") || force) {
settings.m_spectrumGUI->formatTo(swgInterferometerSettings->getSpectrumConfig());
}
}
if (settings.m_scopeGUI)
{
if (channelSettingsKeys.contains("scopeConfig") || force) {
settings.m_scopeGUI->formatTo(swgInterferometerSettings->getScopeConfig());
}
}
}
void Interferometer::networkManagerFinished(QNetworkReply *reply)