SDRdaemon: differentiate data and device settings. Implement data settings (1)

This commit is contained in:
f4exb 2018-08-23 01:12:46 +02:00
parent e067778b78
commit 749f8a8ae7
13 changed files with 6625 additions and 3608 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1297,12 +1297,73 @@ paths:
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrdaemon/data/settings:
x-swagger-router-controller: deviceset
get:
description: Get data handling details
operationId: daemonDataSettingsGet
tags:
- Daemon
responses:
"200":
description: On success returns current data handling details
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
put:
description: Apply data handling details unconditionally (force)
operationId: daemonDataSettingsPut
tags:
- Daemon
parameters:
- name: body
in: body
description: Data handling details to apply
required: true
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
responses:
"200":
description: On success returns new settings values
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
patch:
description: Apply data handling details differentially (no force)
operationId: daemonDataSettingsPatch
tags:
- Daemon
parameters:
- name: body
in: body
description: Data handling detail to apply
required: true
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
responses:
"200":
description: On success returns new settings values
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrdaemon/settings:
/sdrdaemon/device/settings:
x-swagger-router-controller: deviceset
get:
description: Get device settings
operationId: daemonSettingsGet
operationId: daemonDeviceSettingsGet
tags:
- Daemon
responses:
@ -1320,7 +1381,7 @@ paths:
$ref: "#/responses/Response_501"
put:
description: Apply all settings unconditionally (force)
operationId: daemonSettingsPut
operationId: daemonDeviceSettingsPut
tags:
- Daemon
parameters:
@ -1345,7 +1406,7 @@ paths:
$ref: "#/responses/Response_501"
patch:
description: Apply settings differentially (no force)
operationId: daemonSettingsPatch
operationId: daemonDeviceSettingsPatch
tags:
- Daemon
parameters:
@ -1438,11 +1499,11 @@ paths:
"501":
$ref: "#/responses/Response_501"
/sdrdaemon/report:
/sdrdaemon/device/report:
x-swagger-router-controller: deviceset
get:
description: get the device report
operationId: daemonReportGet
operationId: daemonDeviceReportGet
tags:
- Daemon
responses:
@ -2183,6 +2244,22 @@ definitions:
WFMModReport:
$ref: "/doc/swagger/include/WFMMod.yaml#/WFMModReport"
SDRDaemonDataSettings:
description: "Data handling details for SDRDaemon"
properties:
nbFECBlocks:
description: "Number of FEC blocks per frame"
type: integer
dataAddress:
description: "Receiving USB data address"
type: string
dataPort:
description: "Receiving USB data port"
type: integer
txDelay:
description: "Minimum delay in ms between consecutive USB blocks transmissions"
type: integer
responses:
Response_500:

View File

@ -23,6 +23,7 @@
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
#include "SWGDeviceReport.h"
#include "SWGSDRDaemonDataSettings.h"
#include "SWGErrorResponse.h"
#include "dsp/dsptypes.h"
@ -38,8 +39,9 @@
QString WebAPIAdapterDaemon::daemonInstanceSummaryURL = "/sdrdaemon";
QString WebAPIAdapterDaemon::daemonInstanceLoggingURL = "/sdrdaemon/logging";
QString WebAPIAdapterDaemon::daemonSettingsURL = "/sdrdaemon/settings";
QString WebAPIAdapterDaemon::daemonReportURL = "/sdrdaemon/report";
QString WebAPIAdapterDaemon::daemonDataSettingsURL = "/sdrdaemon/data/settings";
QString WebAPIAdapterDaemon::daemonDeviceSettingsURL = "/sdrdaemon/device/settings";
QString WebAPIAdapterDaemon::daemonDeviceReportURL = "/sdrdaemon/device/report";
QString WebAPIAdapterDaemon::daemonRunURL = "/sdrdaemon/run";
WebAPIAdapterDaemon::WebAPIAdapterDaemon(SDRDaemonMain& sdrDaemonMain) :
@ -174,7 +176,27 @@ int WebAPIAdapterDaemon::daemonInstanceLoggingPut(
return 200;
}
int WebAPIAdapterDaemon::daemonSettingsGet(
int WebAPIAdapterDaemon::daemonDataSettingsGet(
SWGSDRangel::SWGSDRDaemonDataSettings& response __attribute__((unused)),
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
*error.getMessage() = "Not implemented";
return 501;
}
int WebAPIAdapterDaemon::daemonDataSettingsPutPatch(
bool force __attribute__((unused)),
const QStringList& dataSettingsKeys __attribute__((unused)),
SWGSDRangel::SWGSDRDaemonDataSettings& response __attribute__((unused)),
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
*error.getMessage() = "Not implemented";
return 501;
}
int WebAPIAdapterDaemon::daemonDeviceSettingsGet(
SWGSDRangel::SWGDeviceSettings& response __attribute__((unused)),
SWGSDRangel::SWGErrorResponse& error)
{
@ -201,7 +223,7 @@ int WebAPIAdapterDaemon::daemonSettingsGet(
}
}
int WebAPIAdapterDaemon::daemonSettingsPutPatch(
int WebAPIAdapterDaemon::daemonDeviceSettingsPutPatch(
bool force,
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response,

View File

@ -33,6 +33,7 @@ namespace SWGSDRangel
class SWGSuccessResponse;
class SWGErrorResponse;
class SWGLoggingInfo;
class SWGSDRDaemonDataSettings;
}
class SDRDaemonMain;
@ -56,11 +57,21 @@ public:
SWGSDRangel::SWGLoggingInfo& response,
SWGSDRangel::SWGErrorResponse& error);
int daemonSettingsGet(
int daemonDataSettingsGet(
SWGSDRangel::SWGSDRDaemonDataSettings& response,
SWGSDRangel::SWGErrorResponse& error);
int daemonDataSettingsPutPatch(
bool force,
const QStringList& dataSettingsKeys,
SWGSDRangel::SWGSDRDaemonDataSettings& response,
SWGSDRangel::SWGErrorResponse& error);
int daemonDeviceSettingsGet(
SWGSDRangel::SWGDeviceSettings& response,
SWGSDRangel::SWGErrorResponse& error);
int daemonSettingsPutPatch(
int daemonDeviceSettingsPutPatch(
bool force,
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response,
@ -84,8 +95,9 @@ public:
static QString daemonInstanceSummaryURL;
static QString daemonInstanceLoggingURL;
static QString daemonSettingsURL;
static QString daemonReportURL;
static QString daemonDataSettingsURL;
static QString daemonDeviceSettingsURL;
static QString daemonDeviceReportURL;
static QString daemonRunURL;
private:

View File

@ -26,6 +26,7 @@
#include "webapirequestmapper.h"
#include "SWGDaemonSummaryResponse.h"
#include "SWGInstanceDevicesResponse.h"
#include "SWGSDRDaemonDataSettings.h"
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
#include "SWGDeviceReport.h"
@ -95,10 +96,12 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
daemonInstanceSummaryService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonInstanceLoggingURL) {
daemonInstanceLoggingService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonSettingsURL) {
daemonSettingsService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonReportURL) {
daemonReportService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonDataSettingsURL) {
daemonDataSettingsService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonDeviceSettingsURL) {
daemonDeviceSettingsService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonDeviceReportURL) {
daemonDeviceReportService(request, response);
} else if (path == WebAPIAdapterDaemon::daemonRunURL) {
daemonRunService(request, response);
} else {
@ -188,7 +191,75 @@ void WebAPIRequestMapper::daemonInstanceLoggingService(qtwebapp::HttpRequest& re
}
}
void WebAPIRequestMapper::daemonSettingsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
void WebAPIRequestMapper::daemonDataSettingsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
{
SWGSDRangel::SWGErrorResponse errorResponse;
response.setHeader("Content-Type", "application/json");
response.setHeader("Access-Control-Allow-Origin", "*");
if ((request.getMethod() == "PUT") || (request.getMethod() == "PATCH"))
{
QString jsonStr = request.getBody();
QJsonObject jsonObject;
if (parseJsonBody(jsonStr, jsonObject, response))
{
SWGSDRangel::SWGSDRDaemonDataSettings normalResponse;
QStringList dataSettingsKeys;
if (validateDataSettings(normalResponse, jsonObject, dataSettingsKeys))
{
int status = m_adapter->daemonDataSettingsPutPatch(
(request.getMethod() == "PUT"), // force settings on PUT
dataSettingsKeys,
normalResponse,
errorResponse);
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";
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() == "GET")
{
SWGSDRangel::SWGSDRDaemonDataSettings normalResponse;
int status = m_adapter->daemonDataSettingsGet(normalResponse, errorResponse);
response.setStatus(status);
if (status/100 == 2) {
response.write(normalResponse.asJson().toUtf8());
} else {
response.write(errorResponse.asJson().toUtf8());
}
}
else
{
response.setStatus(405,"Invalid HTTP method");
errorResponse.init();
*errorResponse.getMessage() = "Invalid HTTP method";
response.write(errorResponse.asJson().toUtf8());
}
}
void WebAPIRequestMapper::daemonDeviceSettingsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
{
SWGSDRangel::SWGErrorResponse errorResponse;
response.setHeader("Content-Type", "application/json");
@ -207,7 +278,7 @@ void WebAPIRequestMapper::daemonSettingsService(qtwebapp::HttpRequest& request,
if (validateDeviceSettings(normalResponse, jsonObject, deviceSettingsKeys))
{
int status = m_adapter->daemonSettingsPutPatch(
int status = m_adapter->daemonDeviceSettingsPutPatch(
(request.getMethod() == "PUT"), // force settings on PUT
deviceSettingsKeys,
normalResponse,
@ -240,7 +311,7 @@ void WebAPIRequestMapper::daemonSettingsService(qtwebapp::HttpRequest& request,
{
SWGSDRangel::SWGDeviceSettings normalResponse;
resetDeviceSettings(normalResponse);
int status = m_adapter->daemonSettingsGet(normalResponse, errorResponse);
int status = m_adapter->daemonDeviceSettingsGet(normalResponse, errorResponse);
response.setStatus(status);
if (status/100 == 2) {
@ -258,7 +329,7 @@ void WebAPIRequestMapper::daemonSettingsService(qtwebapp::HttpRequest& request,
}
}
void WebAPIRequestMapper::daemonReportService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
void WebAPIRequestMapper::daemonDeviceReportService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
{
SWGSDRangel::SWGErrorResponse errorResponse;
response.setHeader("Content-Type", "application/json");
@ -340,6 +411,53 @@ void WebAPIRequestMapper::daemonRunService(qtwebapp::HttpRequest& request, qtweb
}
}
bool WebAPIRequestMapper::validateDataSettings(SWGSDRangel::SWGSDRDaemonDataSettings& dataSettings, QJsonObject& jsonObject, QStringList& dataSettingsKeys)
{
if (jsonObject.contains("nbFECBlocks"))
{
int nbFECBlocks = jsonObject["nbFECBlocks"].toInt();
if (nbFECBlocks >=0 && nbFECBlocks < 127) {
dataSettings.setNbFecBlocks(nbFECBlocks);
} else {
dataSettings.setNbFecBlocks(0);
}
}
if (jsonObject.contains("dataPort"))
{
int dataPort = jsonObject["dataPort"].toInt();
if (dataPort > 1023 && dataPort < 65536) {
dataSettings.setDataPort(dataPort);
} else {
dataSettings.setDataPort(9090);
}
}
if (jsonObject.contains("txDelay"))
{
int txDelay = jsonObject["txDelay"].toInt();
if (txDelay > 100) {
dataSettings.setTxDelay(txDelay);
} else {
dataSettings.setTxDelay(100);
}
}
if (jsonObject.contains("dataAddress") && jsonObject["dataAddress"].isString()) {
dataSettings.setDataAddress(new QString(jsonObject["dataAddress"].toString()));
} else {
return false;
}
dataSettingsKeys = jsonObject.keys();
return true;
}
// TODO: put in library in common with SDRangel. Can be static.
bool WebAPIRequestMapper::validateDeviceSettings(SWGSDRangel::SWGDeviceSettings& deviceSettings, QJsonObject& jsonObject, QStringList& deviceSettingsKeys)
{

View File

@ -30,6 +30,7 @@
namespace SWGSDRangel
{
class SWGSDRDaemonDataSettings;
class SWGDeviceSettings;
class SWGDeviceReport;
}
@ -53,10 +54,12 @@ private:
void daemonInstanceSummaryService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonInstanceLoggingService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonSettingsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonDataSettingsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonDeviceSettingsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonRunService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonReportService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void daemonDeviceReportService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
bool validateDataSettings(SWGSDRangel::SWGSDRDaemonDataSettings& dataSettings, QJsonObject& jsonObject, QStringList& dataSettingsKeys);
bool validateDeviceSettings(SWGSDRangel::SWGDeviceSettings& deviceSettings, QJsonObject& jsonObject, QStringList& deviceSettingsKeys);
void appendSettingsSubKeys(

View File

@ -1297,12 +1297,73 @@ paths:
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrdaemon/data/settings:
x-swagger-router-controller: deviceset
get:
description: Get data handling details
operationId: daemonDataSettingsGet
tags:
- Daemon
responses:
"200":
description: On success returns current data handling details
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
put:
description: Apply data handling details unconditionally (force)
operationId: daemonDataSettingsPut
tags:
- Daemon
parameters:
- name: body
in: body
description: Data handling details to apply
required: true
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
responses:
"200":
description: On success returns new settings values
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
patch:
description: Apply data handling details differentially (no force)
operationId: daemonDataSettingsPatch
tags:
- Daemon
parameters:
- name: body
in: body
description: Data handling detail to apply
required: true
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
responses:
"200":
description: On success returns new settings values
schema:
$ref: "#/definitions/SDRDaemonDataSettings"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrdaemon/settings:
/sdrdaemon/device/settings:
x-swagger-router-controller: deviceset
get:
description: Get device settings
operationId: daemonSettingsGet
operationId: daemonDeviceSettingsGet
tags:
- Daemon
responses:
@ -1320,7 +1381,7 @@ paths:
$ref: "#/responses/Response_501"
put:
description: Apply all settings unconditionally (force)
operationId: daemonSettingsPut
operationId: daemonDeviceSettingsPut
tags:
- Daemon
parameters:
@ -1345,7 +1406,7 @@ paths:
$ref: "#/responses/Response_501"
patch:
description: Apply settings differentially (no force)
operationId: daemonSettingsPatch
operationId: daemonDeviceSettingsPatch
tags:
- Daemon
parameters:
@ -1438,11 +1499,11 @@ paths:
"501":
$ref: "#/responses/Response_501"
/sdrdaemon/report:
/sdrdaemon/device/report:
x-swagger-router-controller: deviceset
get:
description: get the device report
operationId: daemonReportGet
operationId: daemonDeviceReportGet
tags:
- Daemon
responses:
@ -2183,6 +2244,22 @@ definitions:
WFMModReport:
$ref: "http://localhost:8081/api/swagger/include/WFMMod.yaml#/WFMModReport"
SDRDaemonDataSettings:
description: "Data handling details for SDRDaemon"
properties:
nbFECBlocks:
description: "Number of FEC blocks per frame"
type: integer
dataAddress:
description: "Receiving USB data address"
type: string
dataPort:
description: "Receiving USB data port"
type: integer
txDelay:
description: "Minimum delay in ms between consecutive USB blocks transmissions"
type: integer
responses:
Response_500:

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,382 @@ SWGDaemonApi::SWGDaemonApi(QString host, QString basePath) {
this->basePath = basePath;
}
void
SWGDaemonApi::daemonDataSettingsGet() {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/data/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDataSettingsGetCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDataSettingsGetCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGSDRDaemonDataSettings* output = static_cast<SWGSDRDaemonDataSettings*>(create(json, QString("SWGSDRDaemonDataSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDataSettingsGetSignal(output);
} else {
emit daemonDataSettingsGetSignalE(output, error_type, error_str);
emit daemonDataSettingsGetSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonDataSettingsPatch(SWGSDRDaemonDataSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/data/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "PATCH");
QString output = body.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDataSettingsPatchCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDataSettingsPatchCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGSDRDaemonDataSettings* output = static_cast<SWGSDRDaemonDataSettings*>(create(json, QString("SWGSDRDaemonDataSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDataSettingsPatchSignal(output);
} else {
emit daemonDataSettingsPatchSignalE(output, error_type, error_str);
emit daemonDataSettingsPatchSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonDataSettingsPut(SWGSDRDaemonDataSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/data/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "PUT");
QString output = body.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDataSettingsPutCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDataSettingsPutCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGSDRDaemonDataSettings* output = static_cast<SWGSDRDaemonDataSettings*>(create(json, QString("SWGSDRDaemonDataSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDataSettingsPutSignal(output);
} else {
emit daemonDataSettingsPutSignalE(output, error_type, error_str);
emit daemonDataSettingsPutSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonDeviceReportGet() {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/device/report");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDeviceReportGetCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDeviceReportGetCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceReport* output = static_cast<SWGDeviceReport*>(create(json, QString("SWGDeviceReport")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDeviceReportGetSignal(output);
} else {
emit daemonDeviceReportGetSignalE(output, error_type, error_str);
emit daemonDeviceReportGetSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonDeviceSettingsGet() {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/device/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDeviceSettingsGetCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDeviceSettingsGetCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDeviceSettingsGetSignal(output);
} else {
emit daemonDeviceSettingsGetSignalE(output, error_type, error_str);
emit daemonDeviceSettingsGetSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonDeviceSettingsPatch(SWGDeviceSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/device/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "PATCH");
QString output = body.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDeviceSettingsPatchCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDeviceSettingsPatchCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDeviceSettingsPatchSignal(output);
} else {
emit daemonDeviceSettingsPatchSignalE(output, error_type, error_str);
emit daemonDeviceSettingsPatchSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonDeviceSettingsPut(SWGDeviceSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/device/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "PUT");
QString output = body.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonDeviceSettingsPutCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonDeviceSettingsPutCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonDeviceSettingsPutSignal(output);
} else {
emit daemonDeviceSettingsPutSignalE(output, error_type, error_str);
emit daemonDeviceSettingsPutSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonInstanceLoggingGet() {
QString fullPath;
@ -187,58 +563,6 @@ SWGDaemonApi::daemonInstanceSummaryCallback(SWGHttpRequestWorker * worker) {
}
}
void
SWGDaemonApi::daemonReportGet() {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/report");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonReportGetCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonReportGetCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceReport* output = static_cast<SWGDeviceReport*>(create(json, QString("SWGDeviceReport")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonReportGetSignal(output);
} else {
emit daemonReportGetSignalE(output, error_type, error_str);
emit daemonReportGetSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonRunDelete() {
QString fullPath;
@ -395,167 +719,5 @@ SWGDaemonApi::daemonRunPostCallback(SWGHttpRequestWorker * worker) {
}
}
void
SWGDaemonApi::daemonSettingsGet() {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonSettingsGetCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonSettingsGetCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonSettingsGetSignal(output);
} else {
emit daemonSettingsGetSignalE(output, error_type, error_str);
emit daemonSettingsGetSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonSettingsPatch(SWGDeviceSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "PATCH");
QString output = body.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonSettingsPatchCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonSettingsPatchCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonSettingsPatchSignal(output);
} else {
emit daemonSettingsPatchSignalE(output, error_type, error_str);
emit daemonSettingsPatchSignalEFull(worker, error_type, error_str);
}
}
void
SWGDaemonApi::daemonSettingsPut(SWGDeviceSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrdaemon/settings");
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "PUT");
QString output = body.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&SWGHttpRequestWorker::on_execution_finished,
this,
&SWGDaemonApi::daemonSettingsPutCallback);
worker->execute(&input);
}
void
SWGDaemonApi::daemonSettingsPutCallback(SWGHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
SWGDeviceSettings* output = static_cast<SWGDeviceSettings*>(create(json, QString("SWGDeviceSettings")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit daemonSettingsPutSignal(output);
} else {
emit daemonSettingsPutSignalE(output, error_type, error_str);
emit daemonSettingsPutSignalEFull(worker, error_type, error_str);
}
}
}

View File

@ -21,6 +21,7 @@
#include "SWGDeviceState.h"
#include "SWGErrorResponse.h"
#include "SWGLoggingInfo.h"
#include "SWGSDRDaemonDataSettings.h"
#include <QObject>
@ -38,62 +39,77 @@ public:
QString basePath;
QMap<QString, QString> defaultHeaders;
void daemonDataSettingsGet();
void daemonDataSettingsPatch(SWGSDRDaemonDataSettings& body);
void daemonDataSettingsPut(SWGSDRDaemonDataSettings& body);
void daemonDeviceReportGet();
void daemonDeviceSettingsGet();
void daemonDeviceSettingsPatch(SWGDeviceSettings& body);
void daemonDeviceSettingsPut(SWGDeviceSettings& body);
void daemonInstanceLoggingGet();
void daemonInstanceLoggingPut(SWGLoggingInfo& body);
void daemonInstanceSummary();
void daemonReportGet();
void daemonRunDelete();
void daemonRunGet();
void daemonRunPost();
void daemonSettingsGet();
void daemonSettingsPatch(SWGDeviceSettings& body);
void daemonSettingsPut(SWGDeviceSettings& body);
private:
void daemonDataSettingsGetCallback (SWGHttpRequestWorker * worker);
void daemonDataSettingsPatchCallback (SWGHttpRequestWorker * worker);
void daemonDataSettingsPutCallback (SWGHttpRequestWorker * worker);
void daemonDeviceReportGetCallback (SWGHttpRequestWorker * worker);
void daemonDeviceSettingsGetCallback (SWGHttpRequestWorker * worker);
void daemonDeviceSettingsPatchCallback (SWGHttpRequestWorker * worker);
void daemonDeviceSettingsPutCallback (SWGHttpRequestWorker * worker);
void daemonInstanceLoggingGetCallback (SWGHttpRequestWorker * worker);
void daemonInstanceLoggingPutCallback (SWGHttpRequestWorker * worker);
void daemonInstanceSummaryCallback (SWGHttpRequestWorker * worker);
void daemonReportGetCallback (SWGHttpRequestWorker * worker);
void daemonRunDeleteCallback (SWGHttpRequestWorker * worker);
void daemonRunGetCallback (SWGHttpRequestWorker * worker);
void daemonRunPostCallback (SWGHttpRequestWorker * worker);
void daemonSettingsGetCallback (SWGHttpRequestWorker * worker);
void daemonSettingsPatchCallback (SWGHttpRequestWorker * worker);
void daemonSettingsPutCallback (SWGHttpRequestWorker * worker);
signals:
void daemonDataSettingsGetSignal(SWGSDRDaemonDataSettings* summary);
void daemonDataSettingsPatchSignal(SWGSDRDaemonDataSettings* summary);
void daemonDataSettingsPutSignal(SWGSDRDaemonDataSettings* summary);
void daemonDeviceReportGetSignal(SWGDeviceReport* summary);
void daemonDeviceSettingsGetSignal(SWGDeviceSettings* summary);
void daemonDeviceSettingsPatchSignal(SWGDeviceSettings* summary);
void daemonDeviceSettingsPutSignal(SWGDeviceSettings* summary);
void daemonInstanceLoggingGetSignal(SWGLoggingInfo* summary);
void daemonInstanceLoggingPutSignal(SWGLoggingInfo* summary);
void daemonInstanceSummarySignal(SWGDaemonSummaryResponse* summary);
void daemonReportGetSignal(SWGDeviceReport* summary);
void daemonRunDeleteSignal(SWGDeviceState* summary);
void daemonRunGetSignal(SWGDeviceState* summary);
void daemonRunPostSignal(SWGDeviceState* summary);
void daemonSettingsGetSignal(SWGDeviceSettings* summary);
void daemonSettingsPatchSignal(SWGDeviceSettings* summary);
void daemonSettingsPutSignal(SWGDeviceSettings* summary);
void daemonDataSettingsGetSignalE(SWGSDRDaemonDataSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDataSettingsPatchSignalE(SWGSDRDaemonDataSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDataSettingsPutSignalE(SWGSDRDaemonDataSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceReportGetSignalE(SWGDeviceReport* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceSettingsGetSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceSettingsPatchSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceSettingsPutSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonInstanceLoggingGetSignalE(SWGLoggingInfo* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonInstanceLoggingPutSignalE(SWGLoggingInfo* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonInstanceSummarySignalE(SWGDaemonSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonReportGetSignalE(SWGDeviceReport* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonRunDeleteSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonRunGetSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonRunPostSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonSettingsGetSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonSettingsPatchSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonSettingsPutSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDataSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDataSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDataSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceReportGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonDeviceSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonInstanceLoggingGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonInstanceLoggingPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonInstanceSummarySignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonReportGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonRunDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonRunGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonRunPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void daemonSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
};

View File

@ -89,6 +89,7 @@
#include "SWGRDSReport_altFrequencies.h"
#include "SWGRtlSdrReport.h"
#include "SWGRtlSdrSettings.h"
#include "SWGSDRDaemonDataSettings.h"
#include "SWGSDRPlayReport.h"
#include "SWGSDRPlaySettings.h"
#include "SWGSDRdaemonSinkReport.h"
@ -340,6 +341,9 @@ namespace SWGSDRangel {
if(QString("SWGRtlSdrSettings").compare(type) == 0) {
return new SWGRtlSdrSettings();
}
if(QString("SWGSDRDaemonDataSettings").compare(type) == 0) {
return new SWGSDRDaemonDataSettings();
}
if(QString("SWGSDRPlayReport").compare(type) == 0) {
return new SWGSDRPlayReport();
}

View File

@ -0,0 +1,171 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.1.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGSDRDaemonDataSettings.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace SWGSDRangel {
SWGSDRDaemonDataSettings::SWGSDRDaemonDataSettings(QString* json) {
init();
this->fromJson(*json);
}
SWGSDRDaemonDataSettings::SWGSDRDaemonDataSettings() {
nb_fec_blocks = 0;
m_nb_fec_blocks_isSet = false;
data_address = nullptr;
m_data_address_isSet = false;
data_port = 0;
m_data_port_isSet = false;
tx_delay = 0;
m_tx_delay_isSet = false;
}
SWGSDRDaemonDataSettings::~SWGSDRDaemonDataSettings() {
this->cleanup();
}
void
SWGSDRDaemonDataSettings::init() {
nb_fec_blocks = 0;
m_nb_fec_blocks_isSet = false;
data_address = new QString("");
m_data_address_isSet = false;
data_port = 0;
m_data_port_isSet = false;
tx_delay = 0;
m_tx_delay_isSet = false;
}
void
SWGSDRDaemonDataSettings::cleanup() {
if(data_address != nullptr) {
delete data_address;
}
}
SWGSDRDaemonDataSettings*
SWGSDRDaemonDataSettings::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGSDRDaemonDataSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&nb_fec_blocks, pJson["nbFECBlocks"], "qint32", "");
::SWGSDRangel::setValue(&data_address, pJson["dataAddress"], "QString", "QString");
::SWGSDRangel::setValue(&data_port, pJson["dataPort"], "qint32", "");
::SWGSDRangel::setValue(&tx_delay, pJson["txDelay"], "qint32", "");
}
QString
SWGSDRDaemonDataSettings::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
delete obj;
return QString(bytes);
}
QJsonObject*
SWGSDRDaemonDataSettings::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(m_nb_fec_blocks_isSet){
obj->insert("nbFECBlocks", QJsonValue(nb_fec_blocks));
}
if(data_address != nullptr && *data_address != QString("")){
toJsonValue(QString("dataAddress"), data_address, obj, QString("QString"));
}
if(m_data_port_isSet){
obj->insert("dataPort", QJsonValue(data_port));
}
if(m_tx_delay_isSet){
obj->insert("txDelay", QJsonValue(tx_delay));
}
return obj;
}
qint32
SWGSDRDaemonDataSettings::getNbFecBlocks() {
return nb_fec_blocks;
}
void
SWGSDRDaemonDataSettings::setNbFecBlocks(qint32 nb_fec_blocks) {
this->nb_fec_blocks = nb_fec_blocks;
this->m_nb_fec_blocks_isSet = true;
}
QString*
SWGSDRDaemonDataSettings::getDataAddress() {
return data_address;
}
void
SWGSDRDaemonDataSettings::setDataAddress(QString* data_address) {
this->data_address = data_address;
this->m_data_address_isSet = true;
}
qint32
SWGSDRDaemonDataSettings::getDataPort() {
return data_port;
}
void
SWGSDRDaemonDataSettings::setDataPort(qint32 data_port) {
this->data_port = data_port;
this->m_data_port_isSet = true;
}
qint32
SWGSDRDaemonDataSettings::getTxDelay() {
return tx_delay;
}
void
SWGSDRDaemonDataSettings::setTxDelay(qint32 tx_delay) {
this->tx_delay = tx_delay;
this->m_tx_delay_isSet = true;
}
bool
SWGSDRDaemonDataSettings::isSet(){
bool isObjectUpdated = false;
do{
if(m_nb_fec_blocks_isSet){ isObjectUpdated = true; break;}
if(data_address != nullptr && *data_address != QString("")){ isObjectUpdated = true; break;}
if(m_data_port_isSet){ isObjectUpdated = true; break;}
if(m_tx_delay_isSet){ isObjectUpdated = true; break;}
}while(false);
return isObjectUpdated;
}
}

View File

@ -0,0 +1,77 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.1.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
/*
* SWGSDRDaemonDataSettings.h
*
* Data handling details for SDRDaemon
*/
#ifndef SWGSDRDaemonDataSettings_H_
#define SWGSDRDaemonDataSettings_H_
#include <QJsonObject>
#include <QString>
#include "SWGObject.h"
#include "export.h"
namespace SWGSDRangel {
class SWG_API SWGSDRDaemonDataSettings: public SWGObject {
public:
SWGSDRDaemonDataSettings();
SWGSDRDaemonDataSettings(QString* json);
virtual ~SWGSDRDaemonDataSettings();
void init();
void cleanup();
virtual QString asJson () override;
virtual QJsonObject* asJsonObject() override;
virtual void fromJsonObject(QJsonObject &json) override;
virtual SWGSDRDaemonDataSettings* fromJson(QString &jsonString) override;
qint32 getNbFecBlocks();
void setNbFecBlocks(qint32 nb_fec_blocks);
QString* getDataAddress();
void setDataAddress(QString* data_address);
qint32 getDataPort();
void setDataPort(qint32 data_port);
qint32 getTxDelay();
void setTxDelay(qint32 tx_delay);
virtual bool isSet() override;
private:
qint32 nb_fec_blocks;
bool m_nb_fec_blocks_isSet;
QString* data_address;
bool m_data_address_isSet;
qint32 data_port;
bool m_data_port_isSet;
qint32 tx_delay;
bool m_tx_delay_isSet;
};
}
#endif /* SWGSDRDaemonDataSettings_H_ */