mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-04 23:14:47 -04:00
v7: removed feature set index from API. Implements #1231
This commit is contained in:
@@ -126,7 +126,7 @@ int WebAPIAdapter::instanceSummary(
|
||||
getDeviceSetList(deviceSetList);
|
||||
|
||||
SWGSDRangel::SWGFeatureSet *featureSet = response.getFeatureset();
|
||||
getFeatureSet(featureSet, m_mainCore->m_featureSets.back(), 0);
|
||||
getFeatureSet(featureSet, m_mainCore->m_featureSets.back());
|
||||
|
||||
return 200;
|
||||
}
|
||||
@@ -3683,7 +3683,7 @@ int WebAPIAdapter::featuresetGet(
|
||||
if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore->m_featureSets.size()))
|
||||
{
|
||||
const FeatureSet *featureSet = m_mainCore->m_featureSets[featureSetIndex];
|
||||
getFeatureSet(&response, featureSet, featureSetIndex);
|
||||
getFeatureSet(&response, featureSet);
|
||||
|
||||
return 200;
|
||||
}
|
||||
@@ -3696,11 +3696,10 @@ int WebAPIAdapter::featuresetGet(
|
||||
}
|
||||
}
|
||||
|
||||
void WebAPIAdapter::getFeatureSet(SWGSDRangel::SWGFeatureSet *swgFeatureSet, const FeatureSet* featureSet, int featureSetIndex)
|
||||
void WebAPIAdapter::getFeatureSet(SWGSDRangel::SWGFeatureSet *swgFeatureSet, const FeatureSet* featureSet)
|
||||
{
|
||||
swgFeatureSet->init();
|
||||
swgFeatureSet->setFeaturecount(featureSet->getNumberOfFeatures());
|
||||
swgFeatureSet->setIndex(featureSetIndex);
|
||||
QList<SWGSDRangel::SWGFeature*> *features = swgFeatureSet->getFeatures();
|
||||
|
||||
for (int i = 0; i < featureSet->getNumberOfFeatures(); i++)
|
||||
|
||||
@@ -445,7 +445,7 @@ private:
|
||||
void getDeviceSetList(SWGSDRangel::SWGDeviceSetList* deviceSetList);
|
||||
void getDeviceSet(SWGSDRangel::SWGDeviceSet *swgDeviceSet, const DeviceSet* deviceSet, int deviceSetIndex);
|
||||
void getChannelsDetail(SWGSDRangel::SWGChannelsDetail *channelsDetail, const DeviceSet* deviceSet);
|
||||
void getFeatureSet(SWGSDRangel::SWGFeatureSet *swgFeatureSet, const FeatureSet* featureSet, int featureSetIndex);
|
||||
void getFeatureSet(SWGSDRangel::SWGFeatureSet *swgFeatureSet, const FeatureSet* featureSet);
|
||||
static QtMsgType getMsgTypeFromString(const QString& msgTypeString);
|
||||
static void getMsgTypeString(const QtMsgType& msgType, QString& level);
|
||||
};
|
||||
|
||||
@@ -44,6 +44,9 @@ QString WebAPIAdapterInterface::instanceFeaturePresetsURL = "/sdrangel/featurepr
|
||||
QString WebAPIAdapterInterface::instanceFeaturePresetURL = "/sdrangel/featurepreset";
|
||||
QString WebAPIAdapterInterface::instanceDeviceSetsURL = "/sdrangel/devicesets";
|
||||
QString WebAPIAdapterInterface::instanceDeviceSetURL = "/sdrangel/deviceset";
|
||||
QString WebAPIAdapterInterface::featuresetURL("/sdrangel/featureset");
|
||||
QString WebAPIAdapterInterface::featuresetFeatureURL("/sdrangel/featureset/feature");
|
||||
QString WebAPIAdapterInterface::featuresetPresetURL("/sdrangel/featureset/preset");
|
||||
|
||||
std::regex WebAPIAdapterInterface::devicesetURLRe("^/sdrangel/deviceset/([0-9]{1,2})$");
|
||||
std::regex WebAPIAdapterInterface::devicesetFocusURLRe("^/sdrangel/deviceset/([0-9]{1,2})/focus$");
|
||||
@@ -62,14 +65,11 @@ std::regex WebAPIAdapterInterface::devicesetChannelSettingsURLRe("^/sdrangel/dev
|
||||
std::regex WebAPIAdapterInterface::devicesetChannelReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/report");
|
||||
std::regex WebAPIAdapterInterface::devicesetChannelActionsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/actions");
|
||||
|
||||
std::regex WebAPIAdapterInterface::featuresetURLRe("^/sdrangel/featureset/([0-9]{1,2})$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature$");
|
||||
std::regex WebAPIAdapterInterface::featuresetPresetURLRe("^/sdrangel/featureset/([0-9]{1,2})/preset");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureIndexURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureRunURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/run$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureSettingsURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/settings$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureReportURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/report");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureActionsURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/actions");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureIndexURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureRunURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/run$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureSettingsURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/settings$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureReportURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/report$");
|
||||
std::regex WebAPIAdapterInterface::featuresetFeatureActionsURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/actions$");
|
||||
|
||||
void WebAPIAdapterInterface::ConfigKeys::debug() const
|
||||
{
|
||||
|
||||
@@ -1214,11 +1214,11 @@ public:
|
||||
* returns the Http status code (default 501: not implemented)
|
||||
*/
|
||||
virtual int featuresetGet(
|
||||
int deviceSetIndex,
|
||||
int featureSetIndex,
|
||||
SWGSDRangel::SWGFeatureSet& response,
|
||||
SWGSDRangel::SWGErrorResponse& error)
|
||||
{
|
||||
(void) deviceSetIndex;
|
||||
(void) featureSetIndex;
|
||||
(void) response;
|
||||
error.init();
|
||||
*error.getMessage() = QString("Function not implemented");
|
||||
@@ -1472,6 +1472,9 @@ public:
|
||||
static QString instanceFeaturePresetURL;
|
||||
static QString instanceDeviceSetsURL;
|
||||
static QString instanceDeviceSetURL;
|
||||
static QString featuresetURL;
|
||||
static QString featuresetFeatureURL;
|
||||
static QString featuresetPresetURL;
|
||||
static std::regex devicesetURLRe;
|
||||
static std::regex devicesetFocusURLRe;
|
||||
static std::regex devicesetSpectrumSettingsURLRe;
|
||||
@@ -1488,9 +1491,6 @@ public:
|
||||
static std::regex devicesetChannelReportURLRe;
|
||||
static std::regex devicesetChannelActionsURLRe;
|
||||
static std::regex devicesetChannelsReportURLRe;
|
||||
static std::regex featuresetURLRe;
|
||||
static std::regex featuresetFeatureURLRe;
|
||||
static std::regex featuresetPresetURLRe;
|
||||
static std::regex featuresetFeatureIndexURLRe;
|
||||
static std::regex featuresetFeatureRunURLRe;
|
||||
static std::regex featuresetFeatureSettingsURLRe;
|
||||
|
||||
@@ -159,6 +159,12 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
|
||||
instanceDeviceSetsService(request, response);
|
||||
} else if (path == WebAPIAdapterInterface::instanceDeviceSetURL) {
|
||||
instanceDeviceSetService(request, response);
|
||||
} else if (path == WebAPIAdapterInterface::featuresetURL) {
|
||||
featuresetService(request, response);
|
||||
} else if (path == WebAPIAdapterInterface::featuresetFeatureURL) {
|
||||
featuresetFeatureService(request, response);
|
||||
} else if (path == WebAPIAdapterInterface::featuresetPresetURL) {
|
||||
featuresetPresetService(request, response);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -197,22 +203,16 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
|
||||
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 if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetURLRe)) {
|
||||
featuresetService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureURLRe)) {
|
||||
featuresetFeatureService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetPresetURLRe)) {
|
||||
featuresetPresetService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureIndexURLRe)) {
|
||||
featuresetFeatureIndexService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||
featuresetFeatureIndexService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureRunURLRe)) {
|
||||
featuresetFeatureRunService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||
featuresetFeatureRunService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureSettingsURLRe)) {
|
||||
featuresetFeatureSettingsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||
featuresetFeatureSettingsService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureReportURLRe)) {
|
||||
featuresetFeatureReportService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||
featuresetFeatureReportService(std::string(desc_match[1]), request, response);
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureActionsURLRe)) {
|
||||
featuresetFeatureActionsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||
featuresetFeatureActionsService(std::string(desc_match[1]), request, response);
|
||||
}
|
||||
else // serve static documentation pages
|
||||
{
|
||||
@@ -2512,7 +2512,7 @@ void WebAPIRequestMapper::devicesetChannelActionsService(
|
||||
}
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
||||
void WebAPIRequestMapper::featuresetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
||||
{
|
||||
SWGSDRangel::SWGErrorResponse errorResponse;
|
||||
response.setHeader("Content-Type", "application/json");
|
||||
@@ -2520,24 +2520,13 @@ void WebAPIRequestMapper::featuresetService(const std::string& indexStr, qtwebap
|
||||
|
||||
if (request.getMethod() == "GET")
|
||||
{
|
||||
try
|
||||
{
|
||||
SWGSDRangel::SWGFeatureSet normalResponse;
|
||||
int deviceSetIndex = boost::lexical_cast<int>(indexStr);
|
||||
int status = m_adapter->featuresetGet(deviceSetIndex, normalResponse, errorResponse);
|
||||
response.setStatus(status);
|
||||
SWGSDRangel::SWGFeatureSet normalResponse;
|
||||
int status = m_adapter->featuresetGet(0, normalResponse, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(normalResponse.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
catch (const boost::bad_lexical_cast &e)
|
||||
{
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Wrong integer conversion on device set index";
|
||||
response.setStatus(400,"Invalid data");
|
||||
if (status/100 == 2) {
|
||||
response.write(normalResponse.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
@@ -2551,7 +2540,6 @@ void WebAPIRequestMapper::featuresetService(const std::string& indexStr, qtwebap
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetFeatureService(
|
||||
const std::string& featureSetIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
{
|
||||
@@ -2559,70 +2547,57 @@ void WebAPIRequestMapper::featuresetFeatureService(
|
||||
response.setHeader("Content-Type", "application/json");
|
||||
response.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
try
|
||||
if (request.getMethod() == "POST")
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
|
||||
if (request.getMethod() == "POST")
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
{
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
SWGSDRangel::SWGFeatureSettings query;
|
||||
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||
resetFeatureSettings(query);
|
||||
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
if (jsonObject.contains("featureType") && jsonObject["featureType"].isString())
|
||||
{
|
||||
SWGSDRangel::SWGFeatureSettings query;
|
||||
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||
resetFeatureSettings(query);
|
||||
query.setFeatureType(new QString(jsonObject["featureType"].toString()));
|
||||
|
||||
if (jsonObject.contains("featureType") && jsonObject["featureType"].isString())
|
||||
{
|
||||
query.setFeatureType(new QString(jsonObject["featureType"].toString()));
|
||||
int status = m_adapter->featuresetFeaturePost(0, query, normalResponse, errorResponse);
|
||||
|
||||
int status = m_adapter->featuresetFeaturePost(featureSetIndex, query, normalResponse, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(normalResponse.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
if (status/100 == 2) {
|
||||
response.write(normalResponse.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(405,"Invalid HTTP method");
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid HTTP method";
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
catch (const boost::bad_lexical_cast &e)
|
||||
else
|
||||
{
|
||||
response.setStatus(405,"Invalid HTTP method");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Wrong integer conversion on index";
|
||||
response.setStatus(400,"Invalid data");
|
||||
*errorResponse.getMessage() = "Invalid HTTP method";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetPresetService(
|
||||
const std::string& featureSetIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
{
|
||||
@@ -2630,140 +2605,127 @@ void WebAPIRequestMapper::featuresetPresetService(
|
||||
response.setHeader("Content-Type", "application/json");
|
||||
response.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
try
|
||||
if (request.getMethod() == "PATCH")
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
SWGSDRangel::SWGFeaturePresetIdentifier query;
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
|
||||
if (request.getMethod() == "PATCH")
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
{
|
||||
SWGSDRangel::SWGFeaturePresetIdentifier query;
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
query.fromJson(jsonStr);
|
||||
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
if (validateFeaturePresetIdentifer(query))
|
||||
{
|
||||
query.fromJson(jsonStr);
|
||||
int status = m_adapter->featuresetPresetPatch(0, query, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (validateFeaturePresetIdentifer(query))
|
||||
{
|
||||
int status = m_adapter->featuresetPresetPatch(featureSetIndex, query, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(query.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
if (status/100 == 2) {
|
||||
response.write(query.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else if (request.getMethod() == "PUT")
|
||||
{
|
||||
SWGSDRangel::SWGFeaturePresetIdentifier query;
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
{
|
||||
query.fromJson(jsonStr);
|
||||
|
||||
if (validateFeaturePresetIdentifer(query))
|
||||
{
|
||||
int status = m_adapter->featuresetPresetPut(featureSetIndex, query, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(query.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else if (request.getMethod() == "POST")
|
||||
{
|
||||
SWGSDRangel::SWGFeaturePresetIdentifier query;
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
{
|
||||
query.fromJson(jsonStr);
|
||||
|
||||
if (validateFeaturePresetIdentifer(query))
|
||||
{
|
||||
int status = m_adapter->featuresetPresetPost(featureSetIndex, query, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(query.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(405,"Invalid HTTP method");
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid HTTP method";
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
catch (const boost::bad_lexical_cast &e)
|
||||
else if (request.getMethod() == "PUT")
|
||||
{
|
||||
SWGSDRangel::SWGFeaturePresetIdentifier query;
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
{
|
||||
query.fromJson(jsonStr);
|
||||
|
||||
if (validateFeaturePresetIdentifer(query))
|
||||
{
|
||||
int status = m_adapter->featuresetPresetPut(0, query, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(query.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else if (request.getMethod() == "POST")
|
||||
{
|
||||
SWGSDRangel::SWGFeaturePresetIdentifier query;
|
||||
QString jsonStr = request.getBody();
|
||||
QJsonObject jsonObject;
|
||||
|
||||
if (parseJsonBody(jsonStr, jsonObject, response))
|
||||
{
|
||||
query.fromJson(jsonStr);
|
||||
|
||||
if (validateFeaturePresetIdentifer(query))
|
||||
{
|
||||
int status = m_adapter->featuresetPresetPost(0, query, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
response.write(query.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON request");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON request";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(400,"Invalid JSON format");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Invalid JSON format";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.setStatus(405,"Invalid HTTP method");
|
||||
errorResponse.init();
|
||||
*errorResponse.getMessage() = "Wrong integer conversion on index";
|
||||
response.setStatus(400,"Invalid data");
|
||||
*errorResponse.getMessage() = "Invalid HTTP method";
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetFeatureIndexService(
|
||||
const std::string& featureSetIndexStr,
|
||||
const std::string& featureIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
@@ -2774,13 +2736,12 @@ void WebAPIRequestMapper::featuresetFeatureIndexService(
|
||||
|
||||
try
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
int featureIndex = boost::lexical_cast<int>(featureIndexStr);
|
||||
|
||||
if (request.getMethod() == "DELETE")
|
||||
{
|
||||
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||
int status = m_adapter->featuresetFeatureDelete(featureSetIndex, featureIndex, normalResponse, errorResponse);
|
||||
int status = m_adapter->featuresetFeatureDelete(0, featureIndex, normalResponse, errorResponse);
|
||||
|
||||
response.setStatus(status);
|
||||
|
||||
@@ -2808,7 +2769,6 @@ void WebAPIRequestMapper::featuresetFeatureIndexService(
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetFeatureRunService(
|
||||
const std::string& featureSetIndexStr,
|
||||
const std::string& featureIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
@@ -2819,13 +2779,12 @@ void WebAPIRequestMapper::featuresetFeatureRunService(
|
||||
|
||||
try
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
int featureIndex = boost::lexical_cast<int>(featureIndexStr);
|
||||
|
||||
if (request.getMethod() == "GET")
|
||||
{
|
||||
SWGSDRangel::SWGDeviceState normalResponse;
|
||||
int status = m_adapter->featuresetFeatureRunGet(featureSetIndex, featureIndex, normalResponse, errorResponse);
|
||||
int status = m_adapter->featuresetFeatureRunGet(0, featureIndex, normalResponse, errorResponse);
|
||||
|
||||
response.setStatus(status);
|
||||
|
||||
@@ -2838,7 +2797,7 @@ void WebAPIRequestMapper::featuresetFeatureRunService(
|
||||
else if (request.getMethod() == "POST")
|
||||
{
|
||||
SWGSDRangel::SWGDeviceState normalResponse;
|
||||
int status = m_adapter->featuresetFeatureRunPost(featureSetIndex, featureIndex, normalResponse, errorResponse);
|
||||
int status = m_adapter->featuresetFeatureRunPost(0, featureIndex, normalResponse, errorResponse);
|
||||
|
||||
response.setStatus(status);
|
||||
|
||||
@@ -2852,7 +2811,7 @@ void WebAPIRequestMapper::featuresetFeatureRunService(
|
||||
else if (request.getMethod() == "DELETE")
|
||||
{
|
||||
SWGSDRangel::SWGDeviceState normalResponse;
|
||||
int status = m_adapter->featuresetFeatureRunDelete(featureSetIndex, featureIndex, normalResponse, errorResponse);
|
||||
int status = m_adapter->featuresetFeatureRunDelete(0, featureIndex, normalResponse, errorResponse);
|
||||
|
||||
response.setStatus(status);
|
||||
|
||||
@@ -2880,7 +2839,6 @@ void WebAPIRequestMapper::featuresetFeatureRunService(
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetFeatureSettingsService(
|
||||
const std::string& featureSetIndexStr,
|
||||
const std::string& featureIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
@@ -2891,14 +2849,13 @@ void WebAPIRequestMapper::featuresetFeatureSettingsService(
|
||||
|
||||
try
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
int featureIndex = boost::lexical_cast<int>(featureIndexStr);
|
||||
|
||||
if (request.getMethod() == "GET")
|
||||
{
|
||||
SWGSDRangel::SWGFeatureSettings normalResponse;
|
||||
resetFeatureSettings(normalResponse);
|
||||
int status = m_adapter->featuresetFeatureSettingsGet(featureSetIndex, featureIndex, normalResponse, errorResponse);
|
||||
int status = m_adapter->featuresetFeatureSettingsGet(0, featureIndex, normalResponse, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
@@ -2921,7 +2878,7 @@ void WebAPIRequestMapper::featuresetFeatureSettingsService(
|
||||
if (validateFeatureSettings(normalResponse, jsonObject, featureSettingsKeys))
|
||||
{
|
||||
int status = m_adapter->featuresetFeatureSettingsPutPatch(
|
||||
featureSetIndex,
|
||||
0,
|
||||
featureIndex,
|
||||
(request.getMethod() == "PUT"), // force settings on PUT
|
||||
featureSettingsKeys,
|
||||
@@ -2969,7 +2926,6 @@ void WebAPIRequestMapper::featuresetFeatureSettingsService(
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetFeatureReportService(
|
||||
const std::string& featureSetIndexStr,
|
||||
const std::string& featureIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
@@ -2980,14 +2936,13 @@ void WebAPIRequestMapper::featuresetFeatureReportService(
|
||||
|
||||
try
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
int featureIndex = boost::lexical_cast<int>(featureIndexStr);
|
||||
|
||||
if (request.getMethod() == "GET")
|
||||
{
|
||||
SWGSDRangel::SWGFeatureReport normalResponse;
|
||||
resetFeatureReport(normalResponse);
|
||||
int status = m_adapter->featuresetFeatureReportGet(featureSetIndex, featureIndex, normalResponse, errorResponse);
|
||||
int status = m_adapter->featuresetFeatureReportGet(0, featureIndex, normalResponse, errorResponse);
|
||||
response.setStatus(status);
|
||||
|
||||
if (status/100 == 2) {
|
||||
@@ -3014,7 +2969,6 @@ void WebAPIRequestMapper::featuresetFeatureReportService(
|
||||
}
|
||||
|
||||
void WebAPIRequestMapper::featuresetFeatureActionsService(
|
||||
const std::string& featureSetIndexStr,
|
||||
const std::string& featureIndexStr,
|
||||
qtwebapp::HttpRequest& request,
|
||||
qtwebapp::HttpResponse& response)
|
||||
@@ -3025,7 +2979,6 @@ void WebAPIRequestMapper::featuresetFeatureActionsService(
|
||||
|
||||
try
|
||||
{
|
||||
int featureSetIndex = boost::lexical_cast<int>(featureSetIndexStr);
|
||||
int featureIndex = boost::lexical_cast<int>(featureIndexStr);
|
||||
|
||||
if (request.getMethod() == "POST")
|
||||
@@ -3043,7 +2996,7 @@ void WebAPIRequestMapper::featuresetFeatureActionsService(
|
||||
if (validateFeatureActions(query, jsonObject, featureActionsKeys))
|
||||
{
|
||||
int status = m_adapter->featuresetFeatureActionsPost(
|
||||
featureSetIndex,
|
||||
0,
|
||||
featureIndex,
|
||||
featureActionsKeys,
|
||||
query,
|
||||
|
||||
@@ -98,14 +98,14 @@ private:
|
||||
void devicesetChannelReportService(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);
|
||||
|
||||
void featuresetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetPresetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureIndexService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureRunService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureSettingsService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureReportService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureActionsService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetPresetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureIndexService(const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureRunService(const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureSettingsService(const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureReportService(const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
void featuresetFeatureActionsService(const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||
|
||||
bool validatePresetTransfer(SWGSDRangel::SWGPresetTransfer& presetTransfer);
|
||||
bool validatePresetIdentifer(SWGSDRangel::SWGPresetIdentifier& presetIdentifier);
|
||||
|
||||
Reference in New Issue
Block a user