diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index 9ed67bb9d..36390966f 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -868,16 +868,27 @@ void AirspyInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void AirspyInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("Airspy")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index 4ac708328..3fc13786f 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -893,16 +893,27 @@ void AirspyHFInput::webapiReverseSendSettings(QList& deviceSettingsKeys void AirspyHFInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("AirspyHF")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/bladerf1input/bladerf1input.cpp b/plugins/samplesource/bladerf1input/bladerf1input.cpp index c3e518b26..876b1032e 100644 --- a/plugins/samplesource/bladerf1input/bladerf1input.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1input.cpp @@ -833,16 +833,27 @@ void Bladerf1Input::webapiReverseSendSettings(QList& deviceSettingsKeys void Bladerf1Input::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("BladeRF1")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/bladerf2input/bladerf2input.cpp b/plugins/samplesource/bladerf2input/bladerf2input.cpp index 24f476e99..209200396 100644 --- a/plugins/samplesource/bladerf2input/bladerf2input.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2input.cpp @@ -1316,16 +1316,27 @@ void BladeRF2Input::webapiReverseSendSettings(QList& deviceSettingsKeys void BladeRF2Input::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("BladeRF2")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index 33288b975..aaa0b27ba 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -1124,16 +1124,27 @@ void FCDProInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void FCDProInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("FCDPro")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index e15bed390..fdff6300e 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -788,16 +788,27 @@ void FCDProPlusInput::webapiReverseSendSettings(QList& deviceSettingsKe void FCDProPlusInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("FCDPro+")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/filesource/filesourceinput.cpp b/plugins/samplesource/filesource/filesourceinput.cpp index 39e650835..ce6dabbd3 100644 --- a/plugins/samplesource/filesource/filesourceinput.cpp +++ b/plugins/samplesource/filesource/filesourceinput.cpp @@ -627,16 +627,27 @@ void FileSourceInput::webapiReverseSendSettings(QList& deviceSettingsKe void FileSourceInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("FileSource")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index 843f5f3e8..8ec0c04ff 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -794,16 +794,27 @@ void HackRFInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void HackRFInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("HackRF")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index 88a985be4..771182c90 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -1758,16 +1758,27 @@ void LimeSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void LimeSDRInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("LimeSDR")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index f5ff2b468..f368aba3b 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -674,16 +674,27 @@ void PerseusInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void PerseusInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("Perseus")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index 31037fe57..4db3acc97 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -998,16 +998,27 @@ void PlutoSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys void PlutoSDRInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("PlutoSDR")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/remoteinput/remoteinput.cpp b/plugins/samplesource/remoteinput/remoteinput.cpp index 6ff043cca..ba4cc4db3 100644 --- a/plugins/samplesource/remoteinput/remoteinput.cpp +++ b/plugins/samplesource/remoteinput/remoteinput.cpp @@ -483,16 +483,27 @@ void RemoteInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void RemoteInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("RemoteInput")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 3e8b28a43..4c3880ab1 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -923,16 +923,27 @@ void SDRPlayInput::webapiReverseSendSettings(QList& deviceSettingsKeys, void SDRPlayInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("SDRplay1")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp index 952625f56..2f92ae214 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp @@ -1995,16 +1995,27 @@ void SoapySDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys void SoapySDRInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("SoapySDR")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } } diff --git a/plugins/samplesource/xtrxinput/xtrxinput.cpp b/plugins/samplesource/xtrxinput/xtrxinput.cpp index 1a33c69f3..0ce863159 100644 --- a/plugins/samplesource/xtrxinput/xtrxinput.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinput.cpp @@ -1617,16 +1617,27 @@ void XTRXInput::webapiReverseSendSettings(QList& deviceSettingsKeys, co void XTRXInput::webapiReverseSendStartStop(bool start) { + SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); + swgDeviceSettings->setTx(0); + swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex()); + swgDeviceSettings->setDeviceHwType(new QString("XTRX")); + QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/run") .arg(m_settings.m_reverseAPIAddress) .arg(m_settings.m_reverseAPIPort) .arg(m_settings.m_reverseAPIDeviceIndex); m_networkRequest.setUrl(QUrl(deviceSettingsURL)); + m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + QBuffer *buffer=new QBuffer(); + buffer->open((QBuffer::ReadWrite)); + buffer->write(swgDeviceSettings->asJson().toUtf8()); + buffer->seek(0); if (start) { - m_networkManager->sendCustomRequest(m_networkRequest, "POST"); + m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer); } else { - m_networkManager->sendCustomRequest(m_networkRequest, "DELETE"); + m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer); } }