mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-06 07:07:48 -04:00
SDRdaemon: Web API: implemented daemonSettingsPutPatch
This commit is contained in:
parent
dcfb405dd5
commit
1d968e9efa
@ -202,12 +202,55 @@ int WebAPIAdapterDaemon::daemonSettingsGet(
|
|||||||
}
|
}
|
||||||
|
|
||||||
int WebAPIAdapterDaemon::daemonSettingsPutPatch(
|
int WebAPIAdapterDaemon::daemonSettingsPutPatch(
|
||||||
bool force __attribute__((unused)),
|
bool force,
|
||||||
const QStringList& deviceSettingsKeys __attribute__((unused)),
|
const QStringList& deviceSettingsKeys,
|
||||||
SWGSDRangel::SWGDeviceSettings& response __attribute__((unused)),
|
SWGSDRangel::SWGDeviceSettings& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error)
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
{
|
{
|
||||||
error.init();
|
error.init();
|
||||||
|
|
||||||
|
if (m_sdrDaemonMain.m_deviceSourceEngine) // Rx
|
||||||
|
{
|
||||||
|
if (response.getTx() != 0)
|
||||||
|
{
|
||||||
|
*error.getMessage() = QString("Rx device found but Tx device requested");
|
||||||
|
return 400;
|
||||||
|
}
|
||||||
|
if (m_sdrDaemonMain.m_deviceSourceAPI->getHardwareId() != *response.getDeviceHwType())
|
||||||
|
{
|
||||||
|
*error.getMessage() = QString("Device mismatch. Found %1 input").arg(m_sdrDaemonMain.m_deviceSourceAPI->getHardwareId());
|
||||||
|
return 400;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DeviceSampleSource *source = m_sdrDaemonMain.m_deviceSourceAPI->getSampleSource();
|
||||||
|
return source->webapiSettingsPutPatch(force, deviceSettingsKeys, response, *error.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (m_sdrDaemonMain.m_deviceSinkEngine) // Tx
|
||||||
|
{
|
||||||
|
if (response.getTx() == 0)
|
||||||
|
{
|
||||||
|
*error.getMessage() = QString("Tx device found but Rx device requested");
|
||||||
|
return 400;
|
||||||
|
}
|
||||||
|
else if (m_sdrDaemonMain.m_deviceSinkAPI->getHardwareId() != *response.getDeviceHwType())
|
||||||
|
{
|
||||||
|
*error.getMessage() = QString("Device mismatch. Found %1 output").arg(m_sdrDaemonMain.m_deviceSinkAPI->getHardwareId());
|
||||||
|
return 400;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DeviceSampleSink *sink = m_sdrDaemonMain.m_deviceSinkAPI->getSampleSink();
|
||||||
|
return sink->webapiSettingsPutPatch(force, deviceSettingsKeys, response, *error.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*error.getMessage() = QString("DeviceSet error");
|
||||||
|
return 500;
|
||||||
|
}
|
||||||
|
|
||||||
*error.getMessage() = "Not implemented";
|
*error.getMessage() = "Not implemented";
|
||||||
return 501;
|
return 501;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user