mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-07-25 19:44:12 -04:00
Web API: implemented /sdrange/devices: Get a list of sampling devices that can be used to take part in a device set
This commit is contained in:
@@ -19,4 +19,5 @@
|
||||
#include "webapiadapterinterface.h"
|
||||
|
||||
QString WebAPIAdapterInterface::instanceSummaryURL = "/sdrangel";
|
||||
QString WebAPIAdapterInterface::instanceDevicesURL = "/sdrangel/devices";
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
namespace Swagger
|
||||
{
|
||||
class SWGInstanceSummaryResponse;
|
||||
class SWGInstanceDevicesResponse;
|
||||
class SWGErrorResponse;
|
||||
}
|
||||
|
||||
@@ -41,7 +42,18 @@ public:
|
||||
Swagger::SWGErrorResponse& error __attribute__((unused)))
|
||||
{ return 501; }
|
||||
|
||||
/**
|
||||
* Handler of /sdrangel/devices (GET) swagger/sdrangel/code/html2/index.html#api-Default-instanceDevices
|
||||
* returns the Http status code (default 501: not implemented)
|
||||
*/
|
||||
virtual int instanceDevices(
|
||||
bool tx __attribute__((unused)),
|
||||
Swagger::SWGInstanceDevicesResponse& response __attribute__((unused)),
|
||||
Swagger::SWGErrorResponse& error __attribute__((unused)))
|
||||
{ return 501; }
|
||||
|
||||
static QString instanceSummaryURL;
|
||||
static QString instanceDevicesURL;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "httpdocrootsettings.h"
|
||||
#include "webapirequestmapper.h"
|
||||
#include "SWGInstanceSummaryResponse.h"
|
||||
#include "SWGInstanceDevicesResponse.h"
|
||||
#include "SWGErrorResponse.h"
|
||||
|
||||
WebAPIRequestMapper::WebAPIRequestMapper(QObject* parent) :
|
||||
@@ -71,6 +72,32 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
|
||||
response.setStatus(405,"Invalid HTTP method");
|
||||
}
|
||||
}
|
||||
else if (path == WebAPIAdapterInterface::instanceDevicesURL)
|
||||
{
|
||||
Swagger::SWGInstanceDevicesResponse normalResponse;
|
||||
Swagger::SWGErrorResponse errorResponse;
|
||||
|
||||
if (request.getMethod() == "GET")
|
||||
{
|
||||
QByteArray txStr = request.getParameter("tx");
|
||||
bool tx = (txStr == "true");
|
||||
|
||||
int status = m_adapter->instanceDevices(tx, normalResponse, errorResponse);
|
||||
|
||||
if (status == 200) {
|
||||
response.write(normalResponse.asJson().toUtf8());
|
||||
} else {
|
||||
response.write(errorResponse.asJson().toUtf8());
|
||||
}
|
||||
|
||||
response.setStatus(status);
|
||||
}
|
||||
else
|
||||
{
|
||||
response.write("Invalid HTTP method");
|
||||
response.setStatus(405,"Invalid HTTP method");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// QDirIterator it(":", QDirIterator::Subdirectories);
|
||||
|
||||
Reference in New Issue
Block a user