1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-03 14:34:57 -04:00

REST API: config: GET (10): mechanism to deal with device settings API formatting without creating a complete device object. Applied to Airspy input

This commit is contained in:
f4exb
2019-08-03 11:21:46 +02:00
parent ae49f17484
commit 4b493da226
14 changed files with 291 additions and 31 deletions
+19 -12
View File
@@ -656,7 +656,26 @@ int AirspyInput::webapiSettingsPutPatch(
{
(void) errorMessage;
AirspySettings settings = m_settings;
webapiUpdateDeviceSettings(settings, deviceSettingsKeys, response);
MsgConfigureAirspy *msg = MsgConfigureAirspy::create(settings, force);
m_inputMessageQueue.push(msg);
if (m_guiMessageQueue) // forward to GUI if any
{
MsgConfigureAirspy *msgToGUI = MsgConfigureAirspy::create(settings, force);
m_guiMessageQueue->push(msgToGUI);
}
webapiFormatDeviceSettings(response, settings);
return 200;
}
void webapiUpdateDeviceSettings(
AirspySettings& settings,
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getAirspySettings()->getCenterFrequency();
}
@@ -719,18 +738,6 @@ int AirspyInput::webapiSettingsPutPatch(
if (deviceSettingsKeys.contains("reverseAPIDeviceIndex")) {
settings.m_reverseAPIDeviceIndex = response.getAirspySettings()->getReverseApiDeviceIndex();
}
MsgConfigureAirspy *msg = MsgConfigureAirspy::create(settings, force);
m_inputMessageQueue.push(msg);
if (m_guiMessageQueue) // forward to GUI if any
{
MsgConfigureAirspy *msgToGUI = MsgConfigureAirspy::create(settings, force);
m_guiMessageQueue->push(msgToGUI);
}
webapiFormatDeviceSettings(response, settings);
return 200;
}
int AirspyInput::webapiReportGet(