kopia lustrzana https://github.com/f4exb/sdrangel
REST API: device and channel actions: fixes to implementation
rodzic
c8b9c912a2
commit
b317c0a59d
|
@ -379,6 +379,7 @@ int FileSource::webapiReportGet(
|
||||||
}
|
}
|
||||||
|
|
||||||
int FileSource::webapiActionsPost(
|
int FileSource::webapiActionsPost(
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
QString& errorMessage)
|
QString& errorMessage)
|
||||||
{
|
{
|
||||||
|
@ -386,14 +387,24 @@ int FileSource::webapiActionsPost(
|
||||||
|
|
||||||
if (swgFileSourceActions)
|
if (swgFileSourceActions)
|
||||||
{
|
{
|
||||||
bool play = swgFileSourceActions->getPlay() != 0;
|
if (channelActionsKeys.contains("play"))
|
||||||
FileSourceBaseband::MsgConfigureFileSourceWork *msg = FileSourceBaseband::MsgConfigureFileSourceWork::create(play);
|
{
|
||||||
m_basebandSource->getInputMessageQueue()->push(msg);
|
bool play = swgFileSourceActions->getPlay() != 0;
|
||||||
|
FileSourceBaseband::MsgConfigureFileSourceWork *msg = FileSourceBaseband::MsgConfigureFileSourceWork::create(play);
|
||||||
|
m_basebandSource->getInputMessageQueue()->push(msg);
|
||||||
|
|
||||||
|
if (getMessageQueueToGUI())
|
||||||
|
{
|
||||||
|
MsgConfigureFileSourceWork *msgToGUI = MsgConfigureFileSourceWork::create(play);
|
||||||
|
getMessageQueueToGUI()->push(msgToGUI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
errorMessage = "Missing FileSourceActions key in JSON body";
|
errorMessage = "Missing FileSourceActions in query";
|
||||||
return 400;
|
return 400;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,6 +206,7 @@ public:
|
||||||
QString& errorMessage);
|
QString& errorMessage);
|
||||||
|
|
||||||
virtual int webapiActionsPost(
|
virtual int webapiActionsPost(
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
QString& errorMessage);
|
QString& errorMessage);
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ bool FileSourceGUI::handleMessage(const Message& message)
|
||||||
displayRateAndShift();
|
displayRateAndShift();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (FileSource::MsgConfigureFileSource::match(message))
|
else if (FileSource::MsgConfigureFileSource::match(message)) // API settings feedback
|
||||||
{
|
{
|
||||||
const FileSource::MsgConfigureFileSource& cfg = (FileSource::MsgConfigureFileSource&) message;
|
const FileSource::MsgConfigureFileSource& cfg = (FileSource::MsgConfigureFileSource&) message;
|
||||||
m_settings = cfg.getSettings();
|
m_settings = cfg.getSettings();
|
||||||
|
@ -149,6 +149,20 @@ bool FileSourceGUI::handleMessage(const Message& message)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (FileSource::MsgConfigureFileSourceWork::match(message)) // API action "play" feedback
|
||||||
|
{
|
||||||
|
const FileSource::MsgConfigureFileSourceWork& notif = (const FileSource::MsgConfigureFileSourceWork&) message;
|
||||||
|
bool play = notif.isWorking();
|
||||||
|
ui->play->blockSignals(true);
|
||||||
|
ui->navTime->blockSignals(true);
|
||||||
|
ui->play->setChecked(play);
|
||||||
|
ui->navTime->setEnabled(!play);
|
||||||
|
m_enableNavTime = !play;
|
||||||
|
ui->play->blockSignals(false);
|
||||||
|
ui->navTime->blockSignals(false);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -165,6 +165,23 @@ bool RTLSDRGui::handleMessage(const Message& message)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (RTLSDRInput::MsgFileRecord::match(message)) // API action "record" feedback
|
||||||
|
{
|
||||||
|
const RTLSDRInput::MsgFileRecord& notif = (const RTLSDRInput::MsgFileRecord&) message;
|
||||||
|
bool record = notif.getStartStop();
|
||||||
|
|
||||||
|
ui->record->blockSignals(true);
|
||||||
|
ui->record->setChecked(record);
|
||||||
|
|
||||||
|
if (record) {
|
||||||
|
ui->record->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
|
} else {
|
||||||
|
ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }");
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->record->blockSignals(false);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -757,6 +757,7 @@ int RTLSDRInput::webapiReportGet(
|
||||||
}
|
}
|
||||||
|
|
||||||
int RTLSDRInput::webapiActionsPost(
|
int RTLSDRInput::webapiActionsPost(
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& query,
|
SWGSDRangel::SWGDeviceActions& query,
|
||||||
QString& errorMessage)
|
QString& errorMessage)
|
||||||
{
|
{
|
||||||
|
@ -764,14 +765,24 @@ int RTLSDRInput::webapiActionsPost(
|
||||||
|
|
||||||
if (swgRtlSdrActions)
|
if (swgRtlSdrActions)
|
||||||
{
|
{
|
||||||
bool record = swgRtlSdrActions->getRecord() != 0;
|
if (deviceActionsKeys.contains("record"))
|
||||||
MsgFileRecord *msg = MsgFileRecord::create(record);
|
{
|
||||||
getInputMessageQueue()->push(msg);
|
bool record = swgRtlSdrActions->getRecord() != 0;
|
||||||
|
MsgFileRecord *msg = MsgFileRecord::create(record);
|
||||||
|
getInputMessageQueue()->push(msg);
|
||||||
|
|
||||||
|
if (getMessageQueueToGUI())
|
||||||
|
{
|
||||||
|
MsgFileRecord *msgToGUI = MsgFileRecord::create(record);
|
||||||
|
getMessageQueueToGUI()->push(msgToGUI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
errorMessage = "Missing RtlSdrActions key in JSON body";
|
errorMessage = "Missing RtlSdrActions in query";
|
||||||
return 400;
|
return 400;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,6 +132,7 @@ public:
|
||||||
QString& errorMessage);
|
QString& errorMessage);
|
||||||
|
|
||||||
virtual int webapiActionsPost(
|
virtual int webapiActionsPost(
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& actions,
|
SWGSDRangel::SWGDeviceActions& actions,
|
||||||
QString& errorMessage);
|
QString& errorMessage);
|
||||||
|
|
||||||
|
|
|
@ -98,10 +98,12 @@ public:
|
||||||
* API adapter for the channel actions POST requests
|
* API adapter for the channel actions POST requests
|
||||||
*/
|
*/
|
||||||
virtual int webapiActionsPost(
|
virtual int webapiActionsPost(
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
QString& errorMessage)
|
QString& errorMessage)
|
||||||
{
|
{
|
||||||
(void) query;
|
(void) query;
|
||||||
|
(void) channelActionsKeys;
|
||||||
errorMessage = "Not implemented"; return 501;
|
errorMessage = "Not implemented"; return 501;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,9 +137,11 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int webapiActionsPost(
|
virtual int webapiActionsPost(
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& actions,
|
SWGSDRangel::SWGDeviceActions& actions,
|
||||||
QString& errorMessage)
|
QString& errorMessage)
|
||||||
{
|
{
|
||||||
|
(void) deviceActionsKeys;
|
||||||
(void) actions;
|
(void) actions;
|
||||||
errorMessage = "Not implemented";
|
errorMessage = "Not implemented";
|
||||||
return 501;
|
return 501;
|
||||||
|
|
|
@ -113,9 +113,11 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int webapiActionsPost(
|
virtual int webapiActionsPost(
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& actions,
|
SWGSDRangel::SWGDeviceActions& actions,
|
||||||
QString& errorMessage)
|
QString& errorMessage)
|
||||||
{
|
{
|
||||||
|
(void) deviceActionsKeys;
|
||||||
(void) actions;
|
(void) actions;
|
||||||
errorMessage = "Not implemented";
|
errorMessage = "Not implemented";
|
||||||
return 501;
|
return 501;
|
||||||
|
|
|
@ -119,9 +119,11 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int webapiActionsPost(
|
virtual int webapiActionsPost(
|
||||||
|
const QStringList& deviceSettingsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& actions,
|
SWGSDRangel::SWGDeviceActions& actions,
|
||||||
QString& errorMessage)
|
QString& errorMessage)
|
||||||
{
|
{
|
||||||
|
(void) deviceSettingsKeys;
|
||||||
(void) actions;
|
(void) actions;
|
||||||
errorMessage = "Not implemented";
|
errorMessage = "Not implemented";
|
||||||
return 501;
|
return 501;
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<file>webapi/doc/swagger/include/CWKeyer.yaml</file>
|
<file>webapi/doc/swagger/include/CWKeyer.yaml</file>
|
||||||
<file>webapi/doc/swagger/include/DATVDemod.yaml</file>
|
<file>webapi/doc/swagger/include/DATVDemod.yaml</file>
|
||||||
<file>webapi/doc/swagger/include/DSDDemod.yaml</file>
|
<file>webapi/doc/swagger/include/DSDDemod.yaml</file>
|
||||||
|
<file>webapi/doc/swagger/include/DeviceActions.yaml</file>
|
||||||
<file>webapi/doc/swagger/include/DeviceSettings.yaml</file>
|
<file>webapi/doc/swagger/include/DeviceSettings.yaml</file>
|
||||||
<file>webapi/doc/swagger/include/FCDPro.yaml</file>
|
<file>webapi/doc/swagger/include/FCDPro.yaml</file>
|
||||||
<file>webapi/doc/swagger/include/FCDProPlus.yaml</file>
|
<file>webapi/doc/swagger/include/FCDProPlus.yaml</file>
|
||||||
|
|
|
@ -884,12 +884,14 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual int devicesetDeviceActionsPost(
|
virtual int devicesetDeviceActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& query,
|
SWGSDRangel::SWGDeviceActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error
|
SWGSDRangel::SWGErrorResponse& error
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
(void) deviceSetIndex;
|
(void) deviceSetIndex;
|
||||||
|
(void) deviceActionsKeys;
|
||||||
(void) query;
|
(void) query;
|
||||||
(void) response;
|
(void) response;
|
||||||
error.init();
|
error.init();
|
||||||
|
@ -1000,12 +1002,14 @@ public:
|
||||||
virtual int devicesetChannelActionsPost(
|
virtual int devicesetChannelActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
int channelIndex,
|
int channelIndex,
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error)
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
{
|
{
|
||||||
(void) deviceSetIndex;
|
(void) deviceSetIndex;
|
||||||
(void) channelIndex;
|
(void) channelIndex;
|
||||||
|
(void) channelActionsKeys;
|
||||||
(void) query;
|
(void) query;
|
||||||
(void) response;
|
(void) response;
|
||||||
error.init();
|
error.init();
|
||||||
|
|
|
@ -153,6 +153,10 @@ const QMap<QString, QString> WebAPIRequestMapper::m_channelTypeToSettingsKey = {
|
||||||
{"WFMMod", "WFMModSettings"}
|
{"WFMMod", "WFMModSettings"}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const QMap<QString, QString> WebAPIRequestMapper::m_channelTypeToActionsKey = {
|
||||||
|
{"FileSource", "FileSourceActions"}
|
||||||
|
};
|
||||||
|
|
||||||
const QMap<QString, QString> WebAPIRequestMapper::m_sourceDeviceHwIdToSettingsKey = {
|
const QMap<QString, QString> WebAPIRequestMapper::m_sourceDeviceHwIdToSettingsKey = {
|
||||||
{"Airspy", "airspySettings"},
|
{"Airspy", "airspySettings"},
|
||||||
{"AirspyHF", "airspyHFSettings"},
|
{"AirspyHF", "airspyHFSettings"},
|
||||||
|
@ -175,6 +179,10 @@ const QMap<QString, QString> WebAPIRequestMapper::m_sourceDeviceHwIdToSettingsKe
|
||||||
{"XTRX", "XtrxInputSettings"}
|
{"XTRX", "XtrxInputSettings"}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const QMap<QString, QString> WebAPIRequestMapper::m_sourceDeviceHwIdToActionsKey = {
|
||||||
|
{"RTLSDR", "rtlSdrActions"}
|
||||||
|
};
|
||||||
|
|
||||||
const QMap<QString, QString> WebAPIRequestMapper::m_sinkDeviceHwIdToSettingsKey = {
|
const QMap<QString, QString> WebAPIRequestMapper::m_sinkDeviceHwIdToSettingsKey = {
|
||||||
{"BladeRF1", "bladeRF1OutputSettings"},
|
{"BladeRF1", "bladeRF1OutputSettings"},
|
||||||
{"BladeRF2", "bladeRF2OutputSettings"},
|
{"BladeRF2", "bladeRF2OutputSettings"},
|
||||||
|
@ -184,7 +192,23 @@ const QMap<QString, QString> WebAPIRequestMapper::m_sinkDeviceHwIdToSettingsKey
|
||||||
{"PlutoSDR", "plutoSdrOutputSettings"},
|
{"PlutoSDR", "plutoSdrOutputSettings"},
|
||||||
{"RemoteOutput", "remoteOutputSettings"},
|
{"RemoteOutput", "remoteOutputSettings"},
|
||||||
{"SoapySDR", "soapySDROutputSettings"},
|
{"SoapySDR", "soapySDROutputSettings"},
|
||||||
|
<<<<<<< ours
|
||||||
{"XTRX", "XtrxOutputSettings"}
|
{"XTRX", "XtrxOutputSettings"}
|
||||||
|
=======
|
||||||
|
{"XTRX", "xtrxOutputSettings"}
|
||||||
|
};
|
||||||
|
|
||||||
|
const QMap<QString, QString> WebAPIRequestMapper::m_sinkDeviceHwIdToActionsKey = {
|
||||||
|
};
|
||||||
|
|
||||||
|
const QMap<QString, QString> WebAPIRequestMapper::m_mimoDeviceHwIdToSettingsKey= {
|
||||||
|
{"BladeRF2", "bladeRF2MIMOSettings"},
|
||||||
|
{"TestMI", "testMISettings"},
|
||||||
|
{"TestMOSync", "testMOSyncSettings"}
|
||||||
|
>>>>>>> theirs
|
||||||
|
};
|
||||||
|
|
||||||
|
const QMap<QString, QString> WebAPIRequestMapper::m_mimoDeviceHwIdToActionsKey= {
|
||||||
};
|
};
|
||||||
|
|
||||||
WebAPIRequestMapper::WebAPIRequestMapper(QObject* parent) :
|
WebAPIRequestMapper::WebAPIRequestMapper(QObject* parent) :
|
||||||
|
@ -311,6 +335,8 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
|
||||||
devicesetChannelSettingsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
devicesetChannelSettingsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelReportURLRe)) {
|
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelReportURLRe)) {
|
||||||
devicesetChannelReportService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
devicesetChannelReportService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||||
|
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelActionsURLRe)) {
|
||||||
|
devicesetChannelActionsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||||
}
|
}
|
||||||
else // serve static documentation pages
|
else // serve static documentation pages
|
||||||
{
|
{
|
||||||
|
@ -1922,9 +1948,11 @@ void WebAPIRequestMapper::devicesetDeviceActionsService(const std::string& index
|
||||||
response.setHeader("Content-Type", "application/json");
|
response.setHeader("Content-Type", "application/json");
|
||||||
response.setHeader("Access-Control-Allow-Origin", "*");
|
response.setHeader("Access-Control-Allow-Origin", "*");
|
||||||
|
|
||||||
if (request.getMethod() == "POST")
|
try
|
||||||
{
|
{
|
||||||
try
|
int deviceSetIndex = boost::lexical_cast<int>(indexStr);
|
||||||
|
|
||||||
|
if (request.getMethod() == "POST")
|
||||||
{
|
{
|
||||||
QString jsonStr = request.getBody();
|
QString jsonStr = request.getBody();
|
||||||
QJsonObject jsonObject;
|
QJsonObject jsonObject;
|
||||||
|
@ -1933,19 +1961,17 @@ void WebAPIRequestMapper::devicesetDeviceActionsService(const std::string& index
|
||||||
{
|
{
|
||||||
SWGSDRangel::SWGDeviceActions query;
|
SWGSDRangel::SWGDeviceActions query;
|
||||||
SWGSDRangel::SWGSuccessResponse normalResponse;
|
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||||
int deviceSetIndex = boost::lexical_cast<int>(indexStr);
|
|
||||||
resetDeviceActions(query);
|
resetDeviceActions(query);
|
||||||
|
QStringList deviceActionsKeys;
|
||||||
|
|
||||||
if (jsonObject.contains("direction")) {
|
if (validateDeviceActions(query, jsonObject, deviceActionsKeys))
|
||||||
query.setDirection(jsonObject["direction"].toInt());
|
|
||||||
} else {
|
|
||||||
query.setDirection(0); // assume Rx
|
|
||||||
}
|
|
||||||
|
|
||||||
if (jsonObject.contains("deviceHwType") && jsonObject["deviceHwType"].isString())
|
|
||||||
{
|
{
|
||||||
query.setDeviceHwType(new QString(jsonObject["deviceHwType"].toString()));
|
int status = m_adapter->devicesetDeviceActionsPost(
|
||||||
int status = m_adapter->devicesetDeviceActionsPost(deviceSetIndex, query, normalResponse, errorResponse);
|
deviceSetIndex,
|
||||||
|
deviceActionsKeys,
|
||||||
|
query,
|
||||||
|
normalResponse,
|
||||||
|
errorResponse);
|
||||||
response.setStatus(status);
|
response.setStatus(status);
|
||||||
|
|
||||||
if (status/100 == 2) {
|
if (status/100 == 2) {
|
||||||
|
@ -1970,19 +1996,19 @@ void WebAPIRequestMapper::devicesetDeviceActionsService(const std::string& index
|
||||||
response.write(errorResponse.asJson().toUtf8());
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (const boost::bad_lexical_cast &e)
|
else
|
||||||
{
|
{
|
||||||
|
response.setStatus(405,"Invalid HTTP method");
|
||||||
errorResponse.init();
|
errorResponse.init();
|
||||||
*errorResponse.getMessage() = "Wrong integer conversion on device set index";
|
*errorResponse.getMessage() = "Invalid HTTP method";
|
||||||
response.setStatus(400,"Invalid data");
|
|
||||||
response.write(errorResponse.asJson().toUtf8());
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
catch(const boost::bad_lexical_cast &e)
|
||||||
{
|
{
|
||||||
response.setStatus(405,"Invalid HTTP method");
|
|
||||||
errorResponse.init();
|
errorResponse.init();
|
||||||
*errorResponse.getMessage() = "Invalid HTTP method";
|
*errorResponse.getMessage() = "Wrong integer conversion on device set index";
|
||||||
|
response.setStatus(400,"Invalid data");
|
||||||
response.write(errorResponse.asJson().toUtf8());
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2281,7 +2307,7 @@ void WebAPIRequestMapper::devicesetChannelReportService(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebAPIRequestMapper::devicesetChannelActtionsService(
|
void WebAPIRequestMapper::devicesetChannelActionsService(
|
||||||
const std::string& deviceSetIndexStr,
|
const std::string& deviceSetIndexStr,
|
||||||
const std::string& channelIndexStr,
|
const std::string& channelIndexStr,
|
||||||
qtwebapp::HttpRequest& request,
|
qtwebapp::HttpRequest& request,
|
||||||
|
@ -2306,17 +2332,17 @@ void WebAPIRequestMapper::devicesetChannelActtionsService(
|
||||||
SWGSDRangel::SWGChannelActions query;
|
SWGSDRangel::SWGChannelActions query;
|
||||||
SWGSDRangel::SWGSuccessResponse normalResponse;
|
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||||
resetChannelActions(query);
|
resetChannelActions(query);
|
||||||
|
QStringList channelActionsKeys;
|
||||||
|
|
||||||
if (jsonObject.contains("direction")) {
|
if (validateChannelActions(query, jsonObject, channelActionsKeys))
|
||||||
query.setDirection(jsonObject["direction"].toInt());
|
|
||||||
} else {
|
|
||||||
query.setDirection(0); // assume Rx
|
|
||||||
}
|
|
||||||
|
|
||||||
if (jsonObject.contains("channelType") && jsonObject["channelType"].isString())
|
|
||||||
{
|
{
|
||||||
query.setChannelType(new QString(jsonObject["channelType"].toString()));
|
int status = m_adapter->devicesetChannelActionsPost(
|
||||||
int status = m_adapter->devicesetChannelActionsPost(deviceSetIndex, channelIndex, query, normalResponse, errorResponse);
|
deviceSetIndex,
|
||||||
|
channelIndex,
|
||||||
|
channelActionsKeys,
|
||||||
|
query,
|
||||||
|
normalResponse,
|
||||||
|
errorResponse);
|
||||||
response.setStatus(status);
|
response.setStatus(status);
|
||||||
|
|
||||||
if (status/100 == 2) {
|
if (status/100 == 2) {
|
||||||
|
@ -2523,7 +2549,59 @@ bool WebAPIRequestMapper::validateDeviceSettings(
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return getDevice(deviceSettingsKey, &deviceSettings, jsonObject, deviceSettingsKeys);
|
return getDeviceSettings(deviceSettingsKey, &deviceSettings, jsonObject, deviceSettingsKeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool WebAPIRequestMapper::validateDeviceActions(
|
||||||
|
SWGSDRangel::SWGDeviceActions& deviceActions,
|
||||||
|
QJsonObject& jsonObject,
|
||||||
|
QStringList& deviceActionsKeys)
|
||||||
|
{
|
||||||
|
if (jsonObject.contains("direction")) {
|
||||||
|
deviceActions.setDirection(jsonObject["direction"].toInt());
|
||||||
|
} else {
|
||||||
|
deviceActions.setDirection(0); // assume single Rx
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsonObject.contains("deviceHwType") && jsonObject["deviceHwType"].isString()) {
|
||||||
|
deviceActions.setDeviceHwType(new QString(jsonObject["deviceHwType"].toString()));
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString *deviceHwType = deviceActions.getDeviceHwType();
|
||||||
|
QString deviceActionsKey;
|
||||||
|
|
||||||
|
if (deviceActions.getDirection() == 0) // source
|
||||||
|
{
|
||||||
|
if (m_sourceDeviceHwIdToSettingsKey.contains(*deviceHwType)) {
|
||||||
|
deviceActionsKey = m_sourceDeviceHwIdToActionsKey[*deviceHwType];
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (deviceActions.getDirection() == 1) // sink
|
||||||
|
{
|
||||||
|
if (m_sinkDeviceHwIdToSettingsKey.contains(*deviceHwType)) {
|
||||||
|
deviceActionsKey = m_sinkDeviceHwIdToActionsKey[*deviceHwType];
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (deviceActions.getDirection() == 2) // MIMO
|
||||||
|
{
|
||||||
|
if (m_mimoDeviceHwIdToSettingsKey.contains(*deviceHwType)) {
|
||||||
|
deviceActionsKey = m_mimoDeviceHwIdToActionsKey[*deviceHwType];
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return getDeviceActions(deviceActionsKey, &deviceActions, jsonObject, deviceActionsKeys);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebAPIRequestMapper::validateChannelSettings(
|
bool WebAPIRequestMapper::validateChannelSettings(
|
||||||
|
@ -2546,7 +2624,33 @@ bool WebAPIRequestMapper::validateChannelSettings(
|
||||||
QString *channelType = channelSettings.getChannelType();
|
QString *channelType = channelSettings.getChannelType();
|
||||||
|
|
||||||
if (m_channelTypeToSettingsKey.contains(*channelType)) {
|
if (m_channelTypeToSettingsKey.contains(*channelType)) {
|
||||||
return getChannel(m_channelTypeToSettingsKey[*channelType], &channelSettings, jsonObject, channelSettingsKeys);
|
return getChannelSettings(m_channelTypeToSettingsKey[*channelType], &channelSettings, jsonObject, channelSettingsKeys);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool WebAPIRequestMapper::validateChannelActions(
|
||||||
|
SWGSDRangel::SWGChannelActions& channelActions,
|
||||||
|
QJsonObject& jsonObject,
|
||||||
|
QStringList& channelActionsKeys)
|
||||||
|
{
|
||||||
|
if (jsonObject.contains("direction")) {
|
||||||
|
channelActions.setDirection(jsonObject["direction"].toInt());
|
||||||
|
} else {
|
||||||
|
channelActions.setDirection(0); // assume single Rx
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsonObject.contains("channelType") && jsonObject["channelType"].isString()) {
|
||||||
|
channelActions.setChannelType(new QString(jsonObject["channelType"].toString()));
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString *channelType = channelActions.getChannelType();
|
||||||
|
|
||||||
|
if (m_channelTypeToActionsKey.contains(*channelType)) {
|
||||||
|
return getChannelActions(m_channelTypeToActionsKey[*channelType], &channelActions, jsonObject, channelActionsKeys);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2936,7 +3040,7 @@ bool WebAPIRequestMapper::appendPresetChannelKeys(
|
||||||
{
|
{
|
||||||
SWGSDRangel::SWGChannelSettings *channelSettings = new SWGSDRangel::SWGChannelSettings();
|
SWGSDRangel::SWGChannelSettings *channelSettings = new SWGSDRangel::SWGChannelSettings();
|
||||||
channel->setConfig(channelSettings);
|
channel->setConfig(channelSettings);
|
||||||
return getChannel(m_channelURIToSettingsKey[*channelURI], channelSettings, channelSettingsJson["config"].toObject(), channelKeys.m_channelKeys);
|
return getChannelSettings(m_channelURIToSettingsKey[*channelURI], channelSettings, channelSettingsJson["config"].toObject(), channelKeys.m_channelKeys);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2949,7 +3053,7 @@ bool WebAPIRequestMapper::appendPresetChannelKeys(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebAPIRequestMapper::getChannel(
|
bool WebAPIRequestMapper::getChannelSettings(
|
||||||
const QString& channelSettingsKey,
|
const QString& channelSettingsKey,
|
||||||
SWGSDRangel::SWGChannelSettings *channelSettings,
|
SWGSDRangel::SWGChannelSettings *channelSettings,
|
||||||
const QJsonObject& channelSettingsJson,
|
const QJsonObject& channelSettingsJson,
|
||||||
|
@ -3102,6 +3206,38 @@ bool WebAPIRequestMapper::getChannel(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool WebAPIRequestMapper::getChannelActions(
|
||||||
|
const QString& channelActionsKey,
|
||||||
|
SWGSDRangel::SWGChannelActions *channelActions,
|
||||||
|
const QJsonObject& channelActionsJson,
|
||||||
|
QStringList& channelActionsKeys
|
||||||
|
)
|
||||||
|
{
|
||||||
|
QStringList channelKeys = channelActionsJson.keys();
|
||||||
|
|
||||||
|
if (channelKeys.contains(channelActionsKey) && channelActionsJson[channelActionsKey].isObject())
|
||||||
|
{
|
||||||
|
QJsonObject actionsJsonObject = channelActionsJson[channelActionsKey].toObject();
|
||||||
|
channelActionsKeys = actionsJsonObject.keys();
|
||||||
|
|
||||||
|
if (channelActionsKey == "FileSourceActions")
|
||||||
|
{
|
||||||
|
channelActions->setFileSourceActions(new SWGSDRangel::SWGFileSourceActions());
|
||||||
|
channelActions->getFileSourceActions()->fromJsonObject(actionsJsonObject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool WebAPIRequestMapper::appendPresetDeviceKeys(
|
bool WebAPIRequestMapper::appendPresetDeviceKeys(
|
||||||
SWGSDRangel::SWGDeviceConfig *device,
|
SWGSDRangel::SWGDeviceConfig *device,
|
||||||
const QJsonObject& deviceSettngsJson,
|
const QJsonObject& deviceSettngsJson,
|
||||||
|
@ -3130,7 +3266,7 @@ bool WebAPIRequestMapper::appendPresetDeviceKeys(
|
||||||
{
|
{
|
||||||
SWGSDRangel::SWGDeviceSettings *deviceSettings = new SWGSDRangel::SWGDeviceSettings();
|
SWGSDRangel::SWGDeviceSettings *deviceSettings = new SWGSDRangel::SWGDeviceSettings();
|
||||||
device->setConfig(deviceSettings);
|
device->setConfig(deviceSettings);
|
||||||
return getDevice(m_deviceIdToSettingsKey[*deviceId], deviceSettings, deviceSettngsJson["config"].toObject(), devicelKeys.m_deviceKeys);
|
return getDeviceSettings(m_deviceIdToSettingsKey[*deviceId], deviceSettings, deviceSettngsJson["config"].toObject(), devicelKeys.m_deviceKeys);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3143,7 +3279,7 @@ bool WebAPIRequestMapper::appendPresetDeviceKeys(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebAPIRequestMapper::getDevice(
|
bool WebAPIRequestMapper::getDeviceSettings(
|
||||||
const QString& deviceSettingsKey,
|
const QString& deviceSettingsKey,
|
||||||
SWGSDRangel::SWGDeviceSettings *deviceSettings,
|
SWGSDRangel::SWGDeviceSettings *deviceSettings,
|
||||||
const QJsonObject& deviceSettingsJson,
|
const QJsonObject& deviceSettingsJson,
|
||||||
|
@ -3315,6 +3451,39 @@ bool WebAPIRequestMapper::getDevice(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool WebAPIRequestMapper::getDeviceActions(
|
||||||
|
const QString& deviceActionsKey,
|
||||||
|
SWGSDRangel::SWGDeviceActions *deviceActions,
|
||||||
|
const QJsonObject& deviceActionsJson,
|
||||||
|
QStringList& deviceActionsKeys
|
||||||
|
)
|
||||||
|
{
|
||||||
|
QStringList deviceKeys = deviceActionsJson.keys();
|
||||||
|
|
||||||
|
if (deviceKeys.contains(deviceActionsKey) && deviceActionsJson[deviceActionsKey].isObject())
|
||||||
|
{
|
||||||
|
QJsonObject actionsJsonObject = deviceActionsJson[deviceActionsKey].toObject();
|
||||||
|
deviceActionsKeys = actionsJsonObject.keys();
|
||||||
|
|
||||||
|
if (deviceActionsKey == "rtlSdrActions")
|
||||||
|
{
|
||||||
|
deviceActions->setRtlSdrActions(new SWGSDRangel::SWGRtlSdrActions());
|
||||||
|
deviceActions->getRtlSdrActions()->fromJsonObject(actionsJsonObject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void WebAPIRequestMapper::appendSettingsSubKeys(
|
void WebAPIRequestMapper::appendSettingsSubKeys(
|
||||||
const QJsonObject& parentSettingsJsonObject,
|
const QJsonObject& parentSettingsJsonObject,
|
||||||
QJsonObject& childSettingsJsonObject,
|
QJsonObject& childSettingsJsonObject,
|
||||||
|
|
|
@ -88,14 +88,16 @@ private:
|
||||||
void devicesetChannelIndexService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void devicesetChannelIndexService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void devicesetChannelSettingsService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void devicesetChannelSettingsService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void devicesetChannelReportService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void devicesetChannelReportService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void devicesetChannelActtionsService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void devicesetChannelActionsService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
|
|
||||||
bool validatePresetTransfer(SWGSDRangel::SWGPresetTransfer& presetTransfer);
|
bool validatePresetTransfer(SWGSDRangel::SWGPresetTransfer& presetTransfer);
|
||||||
bool validatePresetIdentifer(SWGSDRangel::SWGPresetIdentifier& presetIdentifier);
|
bool validatePresetIdentifer(SWGSDRangel::SWGPresetIdentifier& presetIdentifier);
|
||||||
bool validatePresetExport(SWGSDRangel::SWGPresetExport& presetExport);
|
bool validatePresetExport(SWGSDRangel::SWGPresetExport& presetExport);
|
||||||
bool validateDeviceListItem(SWGSDRangel::SWGDeviceListItem& deviceListItem, QJsonObject& jsonObject);
|
bool validateDeviceListItem(SWGSDRangel::SWGDeviceListItem& deviceListItem, QJsonObject& jsonObject);
|
||||||
bool validateDeviceSettings(SWGSDRangel::SWGDeviceSettings& deviceSettings, QJsonObject& jsonObject, QStringList& deviceSettingsKeys);
|
bool validateDeviceSettings(SWGSDRangel::SWGDeviceSettings& deviceSettings, QJsonObject& jsonObject, QStringList& deviceSettingsKeys);
|
||||||
bool validateChannelSettings(SWGSDRangel::SWGChannelSettings& deviceSettings, QJsonObject& jsonObject, QStringList& channelSettingsKeys);
|
bool validateDeviceActions(SWGSDRangel::SWGDeviceActions& deviceActions, QJsonObject& jsonObject, QStringList& deviceActionsKeys);
|
||||||
|
bool validateChannelSettings(SWGSDRangel::SWGChannelSettings& channelSettings, QJsonObject& jsonObject, QStringList& channelSettingsKeys);
|
||||||
|
bool validateChannelActions(SWGSDRangel::SWGChannelActions& channelActions, QJsonObject& jsonObject, QStringList& channelActionsKeys);
|
||||||
bool validateAudioInputDevice(SWGSDRangel::SWGAudioInputDevice& audioInputDevice, QJsonObject& jsonObject, QStringList& audioInputDeviceKeys);
|
bool validateAudioInputDevice(SWGSDRangel::SWGAudioInputDevice& audioInputDevice, QJsonObject& jsonObject, QStringList& audioInputDeviceKeys);
|
||||||
bool validateAudioOutputDevice(SWGSDRangel::SWGAudioOutputDevice& audioOutputDevice, QJsonObject& jsonObject, QStringList& audioOutputDeviceKeys);
|
bool validateAudioOutputDevice(SWGSDRangel::SWGAudioOutputDevice& audioOutputDevice, QJsonObject& jsonObject, QStringList& audioOutputDeviceKeys);
|
||||||
bool validateAMBEDevices(SWGSDRangel::SWGAMBEDevices& ambeDevices, QJsonObject& jsonObject);
|
bool validateAMBEDevices(SWGSDRangel::SWGAMBEDevices& ambeDevices, QJsonObject& jsonObject);
|
||||||
|
@ -113,24 +115,38 @@ private:
|
||||||
WebAPIAdapterInterface::ChannelKeys& channelKeys
|
WebAPIAdapterInterface::ChannelKeys& channelKeys
|
||||||
);
|
);
|
||||||
|
|
||||||
bool getChannel(
|
bool getChannelSettings(
|
||||||
const QString& channelSettingsKey,
|
const QString& channelSettingsKey,
|
||||||
SWGSDRangel::SWGChannelSettings *channelSettings,
|
SWGSDRangel::SWGChannelSettings *channelSettings,
|
||||||
const QJsonObject& channelSettingsJson,
|
const QJsonObject& channelSettingsJson,
|
||||||
QStringList& channelSettingsKeys
|
QStringList& channelSettingsKeys
|
||||||
);
|
);
|
||||||
|
|
||||||
|
bool getChannelActions(
|
||||||
|
const QString& channelActionsKey,
|
||||||
|
SWGSDRangel::SWGChannelActions *channelActions,
|
||||||
|
const QJsonObject& channelActionsJson,
|
||||||
|
QStringList& channelSettingsKeys
|
||||||
|
);
|
||||||
|
|
||||||
bool appendPresetDeviceKeys(
|
bool appendPresetDeviceKeys(
|
||||||
SWGSDRangel::SWGDeviceConfig *device,
|
SWGSDRangel::SWGDeviceConfig *device,
|
||||||
const QJsonObject& deviceSettngsJson,
|
const QJsonObject& deviceSettngsJson,
|
||||||
WebAPIAdapterInterface::DeviceKeys& devicelKeys
|
WebAPIAdapterInterface::DeviceKeys& devicelKeys
|
||||||
);
|
);
|
||||||
|
|
||||||
bool getDevice(
|
bool getDeviceSettings(
|
||||||
const QString& deviceSettingsKey,
|
const QString& deviceSettingsKey,
|
||||||
SWGSDRangel::SWGDeviceSettings *deviceSettings,
|
SWGSDRangel::SWGDeviceSettings *deviceSettings,
|
||||||
const QJsonObject& deviceSettingsJson,
|
const QJsonObject& deviceSettingsJson,
|
||||||
QStringList& deviceSettingsKeys
|
QStringList& deviceActionsKeys
|
||||||
|
);
|
||||||
|
|
||||||
|
bool getDeviceActions(
|
||||||
|
const QString& deviceActionsKey,
|
||||||
|
SWGSDRangel::SWGDeviceActions *deviceActions,
|
||||||
|
const QJsonObject& deviceActionsJson,
|
||||||
|
QStringList& deviceActionsKeys
|
||||||
);
|
);
|
||||||
|
|
||||||
void appendSettingsSubKeys(
|
void appendSettingsSubKeys(
|
||||||
|
@ -173,6 +189,14 @@ private:
|
||||||
static const QMap<QString, QString> m_channelTypeToSettingsKey;
|
static const QMap<QString, QString> m_channelTypeToSettingsKey;
|
||||||
static const QMap<QString, QString> m_sourceDeviceHwIdToSettingsKey;
|
static const QMap<QString, QString> m_sourceDeviceHwIdToSettingsKey;
|
||||||
static const QMap<QString, QString> m_sinkDeviceHwIdToSettingsKey;
|
static const QMap<QString, QString> m_sinkDeviceHwIdToSettingsKey;
|
||||||
|
<<<<<<< ours
|
||||||
|
=======
|
||||||
|
static const QMap<QString, QString> m_mimoDeviceHwIdToSettingsKey;
|
||||||
|
static const QMap<QString, QString> m_channelTypeToActionsKey;
|
||||||
|
static const QMap<QString, QString> m_sourceDeviceHwIdToActionsKey;
|
||||||
|
static const QMap<QString, QString> m_sinkDeviceHwIdToActionsKey;
|
||||||
|
static const QMap<QString, QString> m_mimoDeviceHwIdToActionsKey;
|
||||||
|
>>>>>>> theirs
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDRBASE_WEBAPI_WEBAPIREQUESTMAPPER_H_ */
|
#endif /* SDRBASE_WEBAPI_WEBAPIREQUESTMAPPER_H_ */
|
||||||
|
|
|
@ -1569,6 +1569,7 @@ int WebAPIAdapterGUI::devicesetDeviceSettingsGet(
|
||||||
|
|
||||||
int WebAPIAdapterGUI::devicesetDeviceActionsPost(
|
int WebAPIAdapterGUI::devicesetDeviceActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& query,
|
SWGSDRangel::SWGDeviceActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error)
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
@ -1594,7 +1595,7 @@ int WebAPIAdapterGUI::devicesetDeviceActionsPost(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
|
DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
|
||||||
int res = source->webapiActionsPost(query, *error.getMessage());
|
int res = source->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -1620,7 +1621,7 @@ int WebAPIAdapterGUI::devicesetDeviceActionsPost(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
|
DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
|
||||||
int res = sink->webapiActionsPost(query, *error.getMessage());
|
int res = sink->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -1646,7 +1647,7 @@ int WebAPIAdapterGUI::devicesetDeviceActionsPost(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
|
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
|
||||||
int res = mimo->webapiActionsPost(query, *error.getMessage());
|
int res = mimo->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -2389,6 +2390,7 @@ int WebAPIAdapterGUI::devicesetChannelReportGet(
|
||||||
int WebAPIAdapterGUI::devicesetChannelActionsPost(
|
int WebAPIAdapterGUI::devicesetChannelActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
int channelIndex,
|
int channelIndex,
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error)
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
@ -2415,7 +2417,7 @@ int WebAPIAdapterGUI::devicesetChannelActionsPost(
|
||||||
|
|
||||||
if (channelType == *query.getChannelType())
|
if (channelType == *query.getChannelType())
|
||||||
{
|
{
|
||||||
int res = channelAPI->webapiActionsPost(query, *error.getMessage());
|
int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -2451,7 +2453,7 @@ int WebAPIAdapterGUI::devicesetChannelActionsPost(
|
||||||
|
|
||||||
if (channelType == *query.getChannelType())
|
if (channelType == *query.getChannelType())
|
||||||
{
|
{
|
||||||
int res = channelAPI->webapiActionsPost(query, *error.getMessage());
|
int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -2503,7 +2505,7 @@ int WebAPIAdapterGUI::devicesetChannelActionsPost(
|
||||||
|
|
||||||
if (channelType == *query.getChannelType())
|
if (channelType == *query.getChannelType())
|
||||||
{
|
{
|
||||||
int res = channelAPI->webapiActionsPost(query, *error.getMessage());
|
int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
response.init();
|
response.init();
|
||||||
|
|
|
@ -225,6 +225,7 @@ public:
|
||||||
|
|
||||||
virtual int devicesetDeviceActionsPost(
|
virtual int devicesetDeviceActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& query,
|
SWGSDRangel::SWGDeviceActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
@ -300,6 +301,7 @@ public:
|
||||||
virtual int devicesetChannelActionsPost(
|
virtual int devicesetChannelActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
int channelIndex,
|
int channelIndex,
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
|
@ -1666,6 +1666,7 @@ int WebAPIAdapterSrv::devicesetDeviceSettingsGet(
|
||||||
|
|
||||||
int WebAPIAdapterSrv::devicesetDeviceActionsPost(
|
int WebAPIAdapterSrv::devicesetDeviceActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& query,
|
SWGSDRangel::SWGDeviceActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error)
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
@ -1691,7 +1692,7 @@ int WebAPIAdapterSrv::devicesetDeviceActionsPost(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
|
DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
|
||||||
int res = source->webapiActionsPost(query, *error.getMessage());
|
int res = source->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -1717,7 +1718,7 @@ int WebAPIAdapterSrv::devicesetDeviceActionsPost(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
|
DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
|
||||||
int res = sink->webapiActionsPost(query, *error.getMessage());
|
int res = sink->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -1743,7 +1744,7 @@ int WebAPIAdapterSrv::devicesetDeviceActionsPost(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
|
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
|
||||||
int res = mimo->webapiActionsPost(query, *error.getMessage());
|
int res = mimo->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -2485,6 +2486,7 @@ int WebAPIAdapterSrv::devicesetChannelReportGet(
|
||||||
int WebAPIAdapterSrv::devicesetChannelActionsPost(
|
int WebAPIAdapterSrv::devicesetChannelActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
int channelIndex,
|
int channelIndex,
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error)
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
@ -2511,7 +2513,7 @@ int WebAPIAdapterSrv::devicesetChannelActionsPost(
|
||||||
|
|
||||||
if (channelType == *query.getChannelType())
|
if (channelType == *query.getChannelType())
|
||||||
{
|
{
|
||||||
int res = channelAPI->webapiActionsPost(query, *error.getMessage());
|
int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -2547,7 +2549,7 @@ int WebAPIAdapterSrv::devicesetChannelActionsPost(
|
||||||
|
|
||||||
if (channelType == *query.getChannelType())
|
if (channelType == *query.getChannelType())
|
||||||
{
|
{
|
||||||
int res = channelAPI->webapiActionsPost(query, *error.getMessage());
|
int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
|
||||||
|
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
|
@ -2599,7 +2601,7 @@ int WebAPIAdapterSrv::devicesetChannelActionsPost(
|
||||||
|
|
||||||
if (channelType == *query.getChannelType())
|
if (channelType == *query.getChannelType())
|
||||||
{
|
{
|
||||||
int res = channelAPI->webapiActionsPost(query, *error.getMessage());
|
int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
|
||||||
if (res/100 == 2)
|
if (res/100 == 2)
|
||||||
{
|
{
|
||||||
response.init();
|
response.init();
|
||||||
|
|
|
@ -235,6 +235,7 @@ public:
|
||||||
|
|
||||||
virtual int devicesetDeviceActionsPost(
|
virtual int devicesetDeviceActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
|
const QStringList& deviceActionsKeys,
|
||||||
SWGSDRangel::SWGDeviceActions& query,
|
SWGSDRangel::SWGDeviceActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
@ -310,6 +311,7 @@ public:
|
||||||
virtual int devicesetChannelActionsPost(
|
virtual int devicesetChannelActionsPost(
|
||||||
int deviceSetIndex,
|
int deviceSetIndex,
|
||||||
int channelIndex,
|
int channelIndex,
|
||||||
|
const QStringList& channelActionsKeys,
|
||||||
SWGSDRangel::SWGChannelActions& query,
|
SWGSDRangel::SWGChannelActions& query,
|
||||||
SWGSDRangel::SWGSuccessResponse& response,
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
Ładowanie…
Reference in New Issue