mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-06-25 05:25:27 -04:00
Multiple audio support: Web API: implemented all interfaces to AudioDeviceManager
This commit is contained in:
parent
249ea735c8
commit
b7065c8c83
File diff suppressed because it is too large
Load Diff
@ -182,11 +182,12 @@ paths:
|
|||||||
$ref: "#/responses/Response_500"
|
$ref: "#/responses/Response_500"
|
||||||
"501":
|
"501":
|
||||||
$ref: "#/responses/Response_501"
|
$ref: "#/responses/Response_501"
|
||||||
/sdrangel/audio/input/set:
|
|
||||||
|
/sdrangel/audio/input/parameters:
|
||||||
x-swagger-router-controller: instance
|
x-swagger-router-controller: instance
|
||||||
patch:
|
patch:
|
||||||
description: Set audio input device paramaters
|
description: Set audio input device paramaters
|
||||||
operationId: instanceAudioInputSetPatch
|
operationId: instanceAudioInputPatch
|
||||||
tags:
|
tags:
|
||||||
- Instance
|
- Instance
|
||||||
consumes:
|
consumes:
|
||||||
@ -211,12 +212,57 @@ paths:
|
|||||||
$ref: "#/responses/Response_500"
|
$ref: "#/responses/Response_500"
|
||||||
"501":
|
"501":
|
||||||
$ref: "#/responses/Response_501"
|
$ref: "#/responses/Response_501"
|
||||||
|
delete:
|
||||||
|
description: Delete audio input device paramaters and return to defaults
|
||||||
|
operationId: instanceAudioInputDelete
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
parameters:
|
||||||
|
- name: body
|
||||||
|
in: body
|
||||||
|
description: Audio input parameters. Index is used to identify the device.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioInputDevice"
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success. Returns default parameters.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioInputDevice"
|
||||||
|
"404":
|
||||||
|
description: Audio input device not found
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/ErrorResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
/sdrangel/audio/output/set:
|
|
||||||
|
/sdrangel/audio/input/cleanup:
|
||||||
|
x-swagger-router-controller: instance
|
||||||
|
patch:
|
||||||
|
description: Remove registered parameters for devices not in list of available input devices for this instance
|
||||||
|
operationId: instanceAudioInputCleanupPatch
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/SuccessResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
|
/sdrangel/audio/output/parameters:
|
||||||
x-swagger-router-controller: instance
|
x-swagger-router-controller: instance
|
||||||
patch:
|
patch:
|
||||||
description: Set audio output device parameters
|
description: Set audio output device parameters
|
||||||
operationId: instanceAudioOutputSetPatch
|
operationId: instanceAudioOutputPatch
|
||||||
tags:
|
tags:
|
||||||
- Instance
|
- Instance
|
||||||
consumes:
|
consumes:
|
||||||
@ -241,6 +287,50 @@ paths:
|
|||||||
$ref: "#/responses/Response_500"
|
$ref: "#/responses/Response_500"
|
||||||
"501":
|
"501":
|
||||||
$ref: "#/responses/Response_501"
|
$ref: "#/responses/Response_501"
|
||||||
|
delete:
|
||||||
|
description: Delete audio output device paramaters and return to defaults
|
||||||
|
operationId: instanceAudioOutputDelete
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
parameters:
|
||||||
|
- name: body
|
||||||
|
in: body
|
||||||
|
description: Audio output parameters. Index is used to identify the device.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioOutputDevice"
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success. Returns actual data in particular the actual sample rate.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioOutputDevice"
|
||||||
|
"404":
|
||||||
|
description: Audio output device not found
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/ErrorResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
|
/sdrangel/audio/output/cleanup:
|
||||||
|
x-swagger-router-controller: instance
|
||||||
|
patch:
|
||||||
|
description: Remove registered parameters for devices not in list of available output devices for this instance
|
||||||
|
operationId: instanceAudioOutputCleanupPatch
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/SuccessResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
/sdrangel/location:
|
/sdrangel/location:
|
||||||
x-swagger-router-controller: instance
|
x-swagger-router-controller: instance
|
||||||
|
@ -23,10 +23,10 @@ QString WebAPIAdapterInterface::instanceDevicesURL = "/sdrangel/devices";
|
|||||||
QString WebAPIAdapterInterface::instanceChannelsURL = "/sdrangel/channels";
|
QString WebAPIAdapterInterface::instanceChannelsURL = "/sdrangel/channels";
|
||||||
QString WebAPIAdapterInterface::instanceLoggingURL = "/sdrangel/logging";
|
QString WebAPIAdapterInterface::instanceLoggingURL = "/sdrangel/logging";
|
||||||
QString WebAPIAdapterInterface::instanceAudioURL = "/sdrangel/audio";
|
QString WebAPIAdapterInterface::instanceAudioURL = "/sdrangel/audio";
|
||||||
QString WebAPIAdapterInterface::instanceAudioInputSetURL = "/sdrangel/audio/input/set";
|
QString WebAPIAdapterInterface::instanceAudioInputParametersURL = "/sdrangel/audio/input/parameters";
|
||||||
QString WebAPIAdapterInterface::instanceAudioOutputSetURL = "/sdrangel/audio/output/set";
|
QString WebAPIAdapterInterface::instanceAudioOutputParametersURL = "/sdrangel/audio/output/parameters";
|
||||||
QString WebAPIAdapterInterface::instanceAudioInputUnsetURL = "/sdrangel/audio/input/unset";
|
QString WebAPIAdapterInterface::instanceAudioInputCleanupURL = "/sdrangel/audio/input/cleanup";
|
||||||
QString WebAPIAdapterInterface::instanceAudioOutputUnsetURL = "/sdrangel/audio/output/unset";
|
QString WebAPIAdapterInterface::instanceAudioOutputCleanupURL = "/sdrangel/audio/output/cleanup";
|
||||||
QString WebAPIAdapterInterface::instanceLocationURL = "/sdrangel/location";
|
QString WebAPIAdapterInterface::instanceLocationURL = "/sdrangel/location";
|
||||||
QString WebAPIAdapterInterface::instanceDVSerialURL = "/sdrangel/dvserial";
|
QString WebAPIAdapterInterface::instanceDVSerialURL = "/sdrangel/dvserial";
|
||||||
QString WebAPIAdapterInterface::instancePresetsURL = "/sdrangel/presets";
|
QString WebAPIAdapterInterface::instancePresetsURL = "/sdrangel/presets";
|
||||||
|
@ -153,7 +153,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler of /sdrangel/audio/input (PATCH) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
* Handler of /sdrangel/audio/input/parameters (PATCH) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
* returns the Http status code (default 501: not implemented)
|
* returns the Http status code (default 501: not implemented)
|
||||||
*/
|
*/
|
||||||
virtual int instanceAudioInputPatch(
|
virtual int instanceAudioInputPatch(
|
||||||
@ -167,7 +167,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler of /sdrangel/audio/output (PATCH) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
* Handler of /sdrangel/audio/output/parameters (PATCH) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
* returns the Http status code (default 501: not implemented)
|
* returns the Http status code (default 501: not implemented)
|
||||||
*/
|
*/
|
||||||
virtual int instanceAudioOutputPatch(
|
virtual int instanceAudioOutputPatch(
|
||||||
@ -180,6 +180,58 @@ public:
|
|||||||
return 501;
|
return 501;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handler of /sdrangel/audio/input/parameters (DELETE) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
|
* returns the Http status code (default 501: not implemented)
|
||||||
|
*/
|
||||||
|
virtual int instanceAudioInputDelete(
|
||||||
|
SWGSDRangel::SWGAudioInputDevice& response __attribute__((unused)),
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("Function not implemented");
|
||||||
|
return 501;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handler of /sdrangel/audio/output/paramaters (DELETE) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
|
* returns the Http status code (default 501: not implemented)
|
||||||
|
*/
|
||||||
|
virtual int instanceAudioOutputDelete(
|
||||||
|
SWGSDRangel::SWGAudioOutputDevice& response __attribute__((unused)),
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("Function not implemented");
|
||||||
|
return 501;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handler of /sdrangel/audio/input/cleanup (PATCH) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
|
* returns the Http status code (default 501: not implemented)
|
||||||
|
*/
|
||||||
|
virtual int instanceAudioInputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response __attribute__((unused)),
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("Function not implemented");
|
||||||
|
return 501;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handler of /sdrangel/audio/output/cleanup (PATCH) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
|
* returns the Http status code (default 501: not implemented)
|
||||||
|
*/
|
||||||
|
virtual int instanceAudioOutputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response __attribute__((unused)),
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("Function not implemented");
|
||||||
|
return 501;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler of /sdrangel/location (GET) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
* Handler of /sdrangel/location (GET) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
|
||||||
* returns the Http status code (default 501: not implemented)
|
* returns the Http status code (default 501: not implemented)
|
||||||
@ -568,10 +620,10 @@ public:
|
|||||||
static QString instanceChannelsURL;
|
static QString instanceChannelsURL;
|
||||||
static QString instanceLoggingURL;
|
static QString instanceLoggingURL;
|
||||||
static QString instanceAudioURL;
|
static QString instanceAudioURL;
|
||||||
static QString instanceAudioInputSetURL;
|
static QString instanceAudioInputParametersURL;
|
||||||
static QString instanceAudioOutputSetURL;
|
static QString instanceAudioOutputParametersURL;
|
||||||
static QString instanceAudioInputUnsetURL;
|
static QString instanceAudioInputCleanupURL;
|
||||||
static QString instanceAudioOutputUnsetURL;
|
static QString instanceAudioOutputCleanupURL;
|
||||||
static QString instanceLocationURL;
|
static QString instanceLocationURL;
|
||||||
static QString instanceDVSerialURL;
|
static QString instanceDVSerialURL;
|
||||||
static QString instancePresetsURL;
|
static QString instancePresetsURL;
|
||||||
|
@ -84,10 +84,14 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
|
|||||||
instanceLoggingService(request, response);
|
instanceLoggingService(request, response);
|
||||||
} else if (path == WebAPIAdapterInterface::instanceAudioURL) {
|
} else if (path == WebAPIAdapterInterface::instanceAudioURL) {
|
||||||
instanceAudioService(request, response);
|
instanceAudioService(request, response);
|
||||||
} else if (path == WebAPIAdapterInterface::instanceAudioInputSetURL) {
|
} else if (path == WebAPIAdapterInterface::instanceAudioInputParametersURL) {
|
||||||
instanceAudioInputSetService(request, response);
|
instanceAudioInputParametersService(request, response);
|
||||||
} else if (path == WebAPIAdapterInterface::instanceAudioOutputSetURL) {
|
} else if (path == WebAPIAdapterInterface::instanceAudioOutputParametersURL) {
|
||||||
instanceAudioOutputSetService(request, response);
|
instanceAudioOutputParametersService(request, response);
|
||||||
|
} else if (path == WebAPIAdapterInterface::instanceAudioInputCleanupURL) {
|
||||||
|
instanceAudioInputCleanupService(request, response);
|
||||||
|
} else if (path == WebAPIAdapterInterface::instanceAudioOutputCleanupURL) {
|
||||||
|
instanceAudioOutputCleanupService(request, response);
|
||||||
} else if (path == WebAPIAdapterInterface::instanceLocationURL) {
|
} else if (path == WebAPIAdapterInterface::instanceLocationURL) {
|
||||||
instanceLocationService(request, response);
|
instanceLocationService(request, response);
|
||||||
} else if (path == WebAPIAdapterInterface::instanceDVSerialURL) {
|
} else if (path == WebAPIAdapterInterface::instanceDVSerialURL) {
|
||||||
@ -328,14 +332,12 @@ void WebAPIRequestMapper::instanceAudioService(qtwebapp::HttpRequest& request, q
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebAPIRequestMapper::instanceAudioInputSetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
void WebAPIRequestMapper::instanceAudioInputParametersService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
SWGSDRangel::SWGErrorResponse errorResponse;
|
SWGSDRangel::SWGErrorResponse errorResponse;
|
||||||
response.setHeader("Content-Type", "application/json");
|
response.setHeader("Content-Type", "application/json");
|
||||||
|
|
||||||
if (request.getMethod() == "PATCH")
|
|
||||||
{
|
|
||||||
QString jsonStr = request.getBody();
|
QString jsonStr = request.getBody();
|
||||||
QJsonObject jsonObject;
|
QJsonObject jsonObject;
|
||||||
|
|
||||||
@ -346,6 +348,8 @@ void WebAPIRequestMapper::instanceAudioInputSetService(qtwebapp::HttpRequest& re
|
|||||||
QStringList audioInputDeviceKeys;
|
QStringList audioInputDeviceKeys;
|
||||||
|
|
||||||
if (validateAudioInputDevice(normalResponse, jsonObject, audioInputDeviceKeys))
|
if (validateAudioInputDevice(normalResponse, jsonObject, audioInputDeviceKeys))
|
||||||
|
{
|
||||||
|
if (request.getMethod() == "PATCH")
|
||||||
{
|
{
|
||||||
int status = m_adapter->instanceAudioInputPatch(
|
int status = m_adapter->instanceAudioInputPatch(
|
||||||
normalResponse,
|
normalResponse,
|
||||||
@ -359,6 +363,27 @@ void WebAPIRequestMapper::instanceAudioInputSetService(qtwebapp::HttpRequest& re
|
|||||||
response.write(errorResponse.asJson().toUtf8());
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (request.getMethod() == "DELETE")
|
||||||
|
{
|
||||||
|
int status = m_adapter->instanceAudioInputDelete(
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
response.setStatus(400,"Invalid JSON request");
|
response.setStatus(400,"Invalid JSON request");
|
||||||
@ -375,22 +400,12 @@ void WebAPIRequestMapper::instanceAudioInputSetService(qtwebapp::HttpRequest& re
|
|||||||
response.write(errorResponse.asJson().toUtf8());
|
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::instanceAudioOutputSetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
void WebAPIRequestMapper::instanceAudioOutputParametersService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
||||||
{
|
{
|
||||||
SWGSDRangel::SWGErrorResponse errorResponse;
|
SWGSDRangel::SWGErrorResponse errorResponse;
|
||||||
response.setHeader("Content-Type", "application/json");
|
response.setHeader("Content-Type", "application/json");
|
||||||
|
|
||||||
if (request.getMethod() == "PATCH")
|
|
||||||
{
|
|
||||||
QString jsonStr = request.getBody();
|
QString jsonStr = request.getBody();
|
||||||
QJsonObject jsonObject;
|
QJsonObject jsonObject;
|
||||||
|
|
||||||
@ -401,6 +416,8 @@ void WebAPIRequestMapper::instanceAudioOutputSetService(qtwebapp::HttpRequest& r
|
|||||||
QStringList audioOutputDeviceKeys;
|
QStringList audioOutputDeviceKeys;
|
||||||
|
|
||||||
if (validateAudioOutputDevice(normalResponse, jsonObject, audioOutputDeviceKeys))
|
if (validateAudioOutputDevice(normalResponse, jsonObject, audioOutputDeviceKeys))
|
||||||
|
{
|
||||||
|
if (request.getMethod() == "PATCH")
|
||||||
{
|
{
|
||||||
int status = m_adapter->instanceAudioOutputPatch(
|
int status = m_adapter->instanceAudioOutputPatch(
|
||||||
normalResponse,
|
normalResponse,
|
||||||
@ -414,6 +431,27 @@ void WebAPIRequestMapper::instanceAudioOutputSetService(qtwebapp::HttpRequest& r
|
|||||||
response.write(errorResponse.asJson().toUtf8());
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (request.getMethod() == "DELETE")
|
||||||
|
{
|
||||||
|
int status = m_adapter->instanceAudioOutputDelete(
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
response.setStatus(400,"Invalid JSON request");
|
response.setStatus(400,"Invalid JSON request");
|
||||||
@ -430,6 +468,52 @@ void WebAPIRequestMapper::instanceAudioOutputSetService(qtwebapp::HttpRequest& r
|
|||||||
response.write(errorResponse.asJson().toUtf8());
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WebAPIRequestMapper::instanceAudioInputCleanupService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
||||||
|
{
|
||||||
|
SWGSDRangel::SWGErrorResponse errorResponse;
|
||||||
|
response.setHeader("Content-Type", "application/json");
|
||||||
|
|
||||||
|
if (request.getMethod() == "PATCH")
|
||||||
|
{
|
||||||
|
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||||
|
|
||||||
|
int status = m_adapter->instanceAudioInputCleanupPatch(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::instanceAudioOutputCleanupService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
|
||||||
|
{
|
||||||
|
SWGSDRangel::SWGErrorResponse errorResponse;
|
||||||
|
response.setHeader("Content-Type", "application/json");
|
||||||
|
|
||||||
|
if (request.getMethod() == "PATCH")
|
||||||
|
{
|
||||||
|
SWGSDRangel::SWGSuccessResponse normalResponse;
|
||||||
|
|
||||||
|
int status = m_adapter->instanceAudioOutputCleanupPatch(normalResponse, errorResponse);
|
||||||
|
response.setStatus(status);
|
||||||
|
|
||||||
|
if (status/100 == 2) {
|
||||||
|
response.write(normalResponse.asJson().toUtf8());
|
||||||
|
} else {
|
||||||
|
response.write(errorResponse.asJson().toUtf8());
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
response.setStatus(405,"Invalid HTTP method");
|
response.setStatus(405,"Invalid HTTP method");
|
||||||
|
@ -52,8 +52,10 @@ private:
|
|||||||
void instanceChannelsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceChannelsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instanceLoggingService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceLoggingService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instanceAudioService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceAudioService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instanceAudioInputSetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceAudioInputParametersService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instanceAudioOutputSetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceAudioOutputParametersService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
|
void instanceAudioInputCleanupService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
|
void instanceAudioOutputCleanupService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instanceLocationService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceLocationService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instanceDVSerialService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instanceDVSerialService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
void instancePresetsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
void instancePresetsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
|
||||||
|
@ -394,6 +394,88 @@ int WebAPIAdapterGUI::instanceAudioOutputPatch(
|
|||||||
return 200;
|
return 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterGUI::instanceAudioInputDelete(
|
||||||
|
SWGSDRangel::SWGAudioInputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
AudioDeviceManager::InputDeviceInfo inputDeviceInfo;
|
||||||
|
QString deviceName;
|
||||||
|
int deviceIndex = response.getIndex();
|
||||||
|
|
||||||
|
if (!m_mainWindow.m_dspEngine->getAudioDeviceManager()->getInputDeviceName(deviceIndex, deviceName))
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("There is no audio input device at index %1").arg(deviceIndex);
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_mainWindow.m_dspEngine->getAudioDeviceManager()->unsetInputDeviceInfo(deviceIndex);
|
||||||
|
m_mainWindow.m_dspEngine->getAudioDeviceManager()->getInputDeviceInfo(deviceName, inputDeviceInfo);
|
||||||
|
|
||||||
|
response.setSampleRate(inputDeviceInfo.sampleRate);
|
||||||
|
response.setVolume(inputDeviceInfo.volume);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterGUI::instanceAudioOutputDelete(
|
||||||
|
SWGSDRangel::SWGAudioOutputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
AudioDeviceManager::OutputDeviceInfo outputDeviceInfo;
|
||||||
|
QString deviceName;
|
||||||
|
int deviceIndex = response.getIndex();
|
||||||
|
|
||||||
|
if (!m_mainWindow.m_dspEngine->getAudioDeviceManager()->getOutputDeviceName(deviceIndex, deviceName))
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("There is no audio output device at index %1").arg(deviceIndex);
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_mainWindow.m_dspEngine->getAudioDeviceManager()->unsetInputDeviceInfo(deviceIndex);
|
||||||
|
m_mainWindow.m_dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(deviceName, outputDeviceInfo);
|
||||||
|
|
||||||
|
response.setSampleRate(outputDeviceInfo.sampleRate);
|
||||||
|
response.setCopyToUdp(outputDeviceInfo.copyToUDP == 0 ? 0 : 1);
|
||||||
|
response.setUdpUsesRtp(outputDeviceInfo.udpUseRTP == 0 ? 0 : 1);
|
||||||
|
response.setUdpChannelMode(outputDeviceInfo.udpChannelMode % 4);
|
||||||
|
|
||||||
|
if (response.getUdpAddress()) {
|
||||||
|
*response.getUdpAddress() = outputDeviceInfo.udpAddress;
|
||||||
|
} else {
|
||||||
|
response.setUdpAddress(new QString(outputDeviceInfo.udpAddress));
|
||||||
|
}
|
||||||
|
|
||||||
|
response.setUdpPort(outputDeviceInfo.udpPort % (1<<16));
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterGUI::instanceAudioInputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
||||||
|
{
|
||||||
|
m_mainWindow.m_dspEngine->getAudioDeviceManager()->inputInfosCleanup();
|
||||||
|
|
||||||
|
response.init();
|
||||||
|
*response.getMessage() = QString("Unregistered parameters for devices not in list of available input devices for this instance");
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterGUI::instanceAudioOutputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
||||||
|
{
|
||||||
|
m_mainWindow.m_dspEngine->getAudioDeviceManager()->outputInfosCleanup();
|
||||||
|
|
||||||
|
response.init();
|
||||||
|
*response.getMessage() = QString("Unregistered parameters for devices not in list of available output devices for this instance");
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
int WebAPIAdapterGUI::instanceLocationGet(
|
int WebAPIAdapterGUI::instanceLocationGet(
|
||||||
SWGSDRangel::SWGLocationInformation& response,
|
SWGSDRangel::SWGLocationInformation& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
||||||
|
@ -73,6 +73,22 @@ public:
|
|||||||
const QStringList& audioOutputKeys,
|
const QStringList& audioOutputKeys,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioInputDelete(
|
||||||
|
SWGSDRangel::SWGAudioInputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioOutputDelete(
|
||||||
|
SWGSDRangel::SWGAudioOutputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioInputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioOutputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
virtual int instanceLocationGet(
|
virtual int instanceLocationGet(
|
||||||
SWGSDRangel::SWGLocationInformation& response,
|
SWGSDRangel::SWGLocationInformation& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
@ -395,6 +395,88 @@ int WebAPIAdapterSrv::instanceAudioOutputPatch(
|
|||||||
return 200;
|
return 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterSrv::instanceAudioInputDelete(
|
||||||
|
SWGSDRangel::SWGAudioInputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
AudioDeviceManager::InputDeviceInfo inputDeviceInfo;
|
||||||
|
QString deviceName;
|
||||||
|
int deviceIndex = response.getIndex();
|
||||||
|
|
||||||
|
if (!m_mainCore.m_dspEngine->getAudioDeviceManager()->getInputDeviceName(deviceIndex, deviceName))
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("There is no audio input device at index %1").arg(deviceIndex);
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_mainCore.m_dspEngine->getAudioDeviceManager()->unsetInputDeviceInfo(deviceIndex);
|
||||||
|
m_mainCore.m_dspEngine->getAudioDeviceManager()->getInputDeviceInfo(deviceName, inputDeviceInfo);
|
||||||
|
|
||||||
|
response.setSampleRate(inputDeviceInfo.sampleRate);
|
||||||
|
response.setVolume(inputDeviceInfo.volume);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterSrv::instanceAudioOutputDelete(
|
||||||
|
SWGSDRangel::SWGAudioOutputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error)
|
||||||
|
{
|
||||||
|
AudioDeviceManager::OutputDeviceInfo outputDeviceInfo;
|
||||||
|
QString deviceName;
|
||||||
|
int deviceIndex = response.getIndex();
|
||||||
|
|
||||||
|
if (!m_mainCore.m_dspEngine->getAudioDeviceManager()->getOutputDeviceName(deviceIndex, deviceName))
|
||||||
|
{
|
||||||
|
error.init();
|
||||||
|
*error.getMessage() = QString("There is no audio output device at index %1").arg(deviceIndex);
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_mainCore.m_dspEngine->getAudioDeviceManager()->unsetInputDeviceInfo(deviceIndex);
|
||||||
|
m_mainCore.m_dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(deviceName, outputDeviceInfo);
|
||||||
|
|
||||||
|
response.setSampleRate(outputDeviceInfo.sampleRate);
|
||||||
|
response.setCopyToUdp(outputDeviceInfo.copyToUDP == 0 ? 0 : 1);
|
||||||
|
response.setUdpUsesRtp(outputDeviceInfo.udpUseRTP == 0 ? 0 : 1);
|
||||||
|
response.setUdpChannelMode(outputDeviceInfo.udpChannelMode % 4);
|
||||||
|
|
||||||
|
if (response.getUdpAddress()) {
|
||||||
|
*response.getUdpAddress() = outputDeviceInfo.udpAddress;
|
||||||
|
} else {
|
||||||
|
response.setUdpAddress(new QString(outputDeviceInfo.udpAddress));
|
||||||
|
}
|
||||||
|
|
||||||
|
response.setUdpPort(outputDeviceInfo.udpPort % (1<<16));
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterSrv::instanceAudioInputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
||||||
|
{
|
||||||
|
m_mainCore.m_dspEngine->getAudioDeviceManager()->inputInfosCleanup();
|
||||||
|
|
||||||
|
response.init();
|
||||||
|
*response.getMessage() = QString("Unregistered parameters for devices not in list of available input devices for this instance");
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WebAPIAdapterSrv::instanceAudioOutputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
||||||
|
{
|
||||||
|
m_mainCore.m_dspEngine->getAudioDeviceManager()->outputInfosCleanup();
|
||||||
|
|
||||||
|
response.init();
|
||||||
|
*response.getMessage() = QString("Unregistered parameters for devices not in list of available output devices for this instance");
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
int WebAPIAdapterSrv::instanceLocationGet(
|
int WebAPIAdapterSrv::instanceLocationGet(
|
||||||
SWGSDRangel::SWGLocationInformation& response,
|
SWGSDRangel::SWGLocationInformation& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
SWGSDRangel::SWGErrorResponse& error __attribute__((unused)))
|
||||||
|
@ -73,6 +73,22 @@ public:
|
|||||||
const QStringList& audioOutputKeys,
|
const QStringList& audioOutputKeys,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioInputDelete(
|
||||||
|
SWGSDRangel::SWGAudioInputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioOutputDelete(
|
||||||
|
SWGSDRangel::SWGAudioOutputDevice& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioInputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
|
virtual int instanceAudioOutputCleanupPatch(
|
||||||
|
SWGSDRangel::SWGSuccessResponse& response,
|
||||||
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
|
||||||
virtual int instanceLocationGet(
|
virtual int instanceLocationGet(
|
||||||
SWGSDRangel::SWGLocationInformation& response,
|
SWGSDRangel::SWGLocationInformation& response,
|
||||||
SWGSDRangel::SWGErrorResponse& error);
|
SWGSDRangel::SWGErrorResponse& error);
|
||||||
|
@ -182,11 +182,12 @@ paths:
|
|||||||
$ref: "#/responses/Response_500"
|
$ref: "#/responses/Response_500"
|
||||||
"501":
|
"501":
|
||||||
$ref: "#/responses/Response_501"
|
$ref: "#/responses/Response_501"
|
||||||
/sdrangel/audio/input/set:
|
|
||||||
|
/sdrangel/audio/input/parameters:
|
||||||
x-swagger-router-controller: instance
|
x-swagger-router-controller: instance
|
||||||
patch:
|
patch:
|
||||||
description: Set audio input device paramaters
|
description: Set audio input device paramaters
|
||||||
operationId: instanceAudioInputSetPatch
|
operationId: instanceAudioInputPatch
|
||||||
tags:
|
tags:
|
||||||
- Instance
|
- Instance
|
||||||
consumes:
|
consumes:
|
||||||
@ -211,12 +212,57 @@ paths:
|
|||||||
$ref: "#/responses/Response_500"
|
$ref: "#/responses/Response_500"
|
||||||
"501":
|
"501":
|
||||||
$ref: "#/responses/Response_501"
|
$ref: "#/responses/Response_501"
|
||||||
|
delete:
|
||||||
|
description: Delete audio input device paramaters and return to defaults
|
||||||
|
operationId: instanceAudioInputDelete
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
parameters:
|
||||||
|
- name: body
|
||||||
|
in: body
|
||||||
|
description: Audio input parameters. Index is used to identify the device.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioInputDevice"
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success. Returns default parameters.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioInputDevice"
|
||||||
|
"404":
|
||||||
|
description: Audio input device not found
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/ErrorResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
/sdrangel/audio/output/set:
|
|
||||||
|
/sdrangel/audio/input/cleanup:
|
||||||
|
x-swagger-router-controller: instance
|
||||||
|
patch:
|
||||||
|
description: Remove registered parameters for devices not in list of available input devices for this instance
|
||||||
|
operationId: instanceAudioInputCleanupPatch
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/SuccessResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
|
/sdrangel/audio/output/parameters:
|
||||||
x-swagger-router-controller: instance
|
x-swagger-router-controller: instance
|
||||||
patch:
|
patch:
|
||||||
description: Set audio output device parameters
|
description: Set audio output device parameters
|
||||||
operationId: instanceAudioOutputSetPatch
|
operationId: instanceAudioOutputPatch
|
||||||
tags:
|
tags:
|
||||||
- Instance
|
- Instance
|
||||||
consumes:
|
consumes:
|
||||||
@ -241,6 +287,50 @@ paths:
|
|||||||
$ref: "#/responses/Response_500"
|
$ref: "#/responses/Response_500"
|
||||||
"501":
|
"501":
|
||||||
$ref: "#/responses/Response_501"
|
$ref: "#/responses/Response_501"
|
||||||
|
delete:
|
||||||
|
description: Delete audio output device paramaters and return to defaults
|
||||||
|
operationId: instanceAudioOutputDelete
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
parameters:
|
||||||
|
- name: body
|
||||||
|
in: body
|
||||||
|
description: Audio output parameters. Index is used to identify the device.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioOutputDevice"
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success. Returns actual data in particular the actual sample rate.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/AudioOutputDevice"
|
||||||
|
"404":
|
||||||
|
description: Audio output device not found
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/ErrorResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
|
/sdrangel/audio/output/cleanup:
|
||||||
|
x-swagger-router-controller: instance
|
||||||
|
patch:
|
||||||
|
description: Remove registered parameters for devices not in list of available output devices for this instance
|
||||||
|
operationId: instanceAudioOutputCleanupPatch
|
||||||
|
tags:
|
||||||
|
- Instance
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Success.
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/SuccessResponse"
|
||||||
|
"500":
|
||||||
|
$ref: "#/responses/Response_500"
|
||||||
|
"501":
|
||||||
|
$ref: "#/responses/Response_501"
|
||||||
|
|
||||||
/sdrangel/location:
|
/sdrangel/location:
|
||||||
x-swagger-router-controller: instance
|
x-swagger-router-controller: instance
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -81,9 +81,9 @@ SWGInstanceApi::instanceAudioGetCallback(SWGHttpRequestWorker * worker) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SWGInstanceApi::instanceAudioInputSetPatch(SWGAudioInputDevice& body) {
|
SWGInstanceApi::instanceAudioInputCleanupPatch() {
|
||||||
QString fullPath;
|
QString fullPath;
|
||||||
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/input/set");
|
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/input/cleanup");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -92,6 +92,58 @@ SWGInstanceApi::instanceAudioInputSetPatch(SWGAudioInputDevice& body) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
foreach(QString key, this->defaultHeaders.keys()) {
|
||||||
|
input.headers.insert(key, this->defaultHeaders.value(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
connect(worker,
|
||||||
|
&SWGHttpRequestWorker::on_execution_finished,
|
||||||
|
this,
|
||||||
|
&SWGInstanceApi::instanceAudioInputCleanupPatchCallback);
|
||||||
|
|
||||||
|
worker->execute(&input);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioInputCleanupPatchCallback(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);
|
||||||
|
SWGSuccessResponse* output = static_cast<SWGSuccessResponse*>(create(json, QString("SWGSuccessResponse")));
|
||||||
|
worker->deleteLater();
|
||||||
|
|
||||||
|
if (worker->error_type == QNetworkReply::NoError) {
|
||||||
|
emit instanceAudioInputCleanupPatchSignal(output);
|
||||||
|
} else {
|
||||||
|
emit instanceAudioInputCleanupPatchSignalE(output, error_type, error_str);
|
||||||
|
emit instanceAudioInputCleanupPatchSignalEFull(worker, error_type, error_str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioInputDelete(SWGAudioInputDevice& body) {
|
||||||
|
QString fullPath;
|
||||||
|
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/input/parameters");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
|
||||||
|
SWGHttpRequestInput input(fullPath, "DELETE");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QString output = body.asJson();
|
QString output = body.asJson();
|
||||||
input.request_body.append(output);
|
input.request_body.append(output);
|
||||||
|
|
||||||
@ -104,13 +156,13 @@ SWGInstanceApi::instanceAudioInputSetPatch(SWGAudioInputDevice& body) {
|
|||||||
connect(worker,
|
connect(worker,
|
||||||
&SWGHttpRequestWorker::on_execution_finished,
|
&SWGHttpRequestWorker::on_execution_finished,
|
||||||
this,
|
this,
|
||||||
&SWGInstanceApi::instanceAudioInputSetPatchCallback);
|
&SWGInstanceApi::instanceAudioInputDeleteCallback);
|
||||||
|
|
||||||
worker->execute(&input);
|
worker->execute(&input);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SWGInstanceApi::instanceAudioInputSetPatchCallback(SWGHttpRequestWorker * worker) {
|
SWGInstanceApi::instanceAudioInputDeleteCallback(SWGHttpRequestWorker * worker) {
|
||||||
QString msg;
|
QString msg;
|
||||||
QString error_str = worker->error_str;
|
QString error_str = worker->error_str;
|
||||||
QNetworkReply::NetworkError error_type = worker->error_type;
|
QNetworkReply::NetworkError error_type = worker->error_type;
|
||||||
@ -128,17 +180,17 @@ SWGInstanceApi::instanceAudioInputSetPatchCallback(SWGHttpRequestWorker * worker
|
|||||||
worker->deleteLater();
|
worker->deleteLater();
|
||||||
|
|
||||||
if (worker->error_type == QNetworkReply::NoError) {
|
if (worker->error_type == QNetworkReply::NoError) {
|
||||||
emit instanceAudioInputSetPatchSignal(output);
|
emit instanceAudioInputDeleteSignal(output);
|
||||||
} else {
|
} else {
|
||||||
emit instanceAudioInputSetPatchSignalE(output, error_type, error_str);
|
emit instanceAudioInputDeleteSignalE(output, error_type, error_str);
|
||||||
emit instanceAudioInputSetPatchSignalEFull(worker, error_type, error_str);
|
emit instanceAudioInputDeleteSignalEFull(worker, error_type, error_str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SWGInstanceApi::instanceAudioOutputSetPatch(SWGAudioOutputDevice& body) {
|
SWGInstanceApi::instanceAudioInputPatch(SWGAudioInputDevice& body) {
|
||||||
QString fullPath;
|
QString fullPath;
|
||||||
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/output/set");
|
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/input/parameters");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -159,13 +211,120 @@ SWGInstanceApi::instanceAudioOutputSetPatch(SWGAudioOutputDevice& body) {
|
|||||||
connect(worker,
|
connect(worker,
|
||||||
&SWGHttpRequestWorker::on_execution_finished,
|
&SWGHttpRequestWorker::on_execution_finished,
|
||||||
this,
|
this,
|
||||||
&SWGInstanceApi::instanceAudioOutputSetPatchCallback);
|
&SWGInstanceApi::instanceAudioInputPatchCallback);
|
||||||
|
|
||||||
worker->execute(&input);
|
worker->execute(&input);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SWGInstanceApi::instanceAudioOutputSetPatchCallback(SWGHttpRequestWorker * worker) {
|
SWGInstanceApi::instanceAudioInputPatchCallback(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);
|
||||||
|
SWGAudioInputDevice* output = static_cast<SWGAudioInputDevice*>(create(json, QString("SWGAudioInputDevice")));
|
||||||
|
worker->deleteLater();
|
||||||
|
|
||||||
|
if (worker->error_type == QNetworkReply::NoError) {
|
||||||
|
emit instanceAudioInputPatchSignal(output);
|
||||||
|
} else {
|
||||||
|
emit instanceAudioInputPatchSignalE(output, error_type, error_str);
|
||||||
|
emit instanceAudioInputPatchSignalEFull(worker, error_type, error_str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioOutputCleanupPatch() {
|
||||||
|
QString fullPath;
|
||||||
|
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/output/cleanup");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
|
||||||
|
SWGHttpRequestInput input(fullPath, "PATCH");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
foreach(QString key, this->defaultHeaders.keys()) {
|
||||||
|
input.headers.insert(key, this->defaultHeaders.value(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
connect(worker,
|
||||||
|
&SWGHttpRequestWorker::on_execution_finished,
|
||||||
|
this,
|
||||||
|
&SWGInstanceApi::instanceAudioOutputCleanupPatchCallback);
|
||||||
|
|
||||||
|
worker->execute(&input);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioOutputCleanupPatchCallback(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);
|
||||||
|
SWGSuccessResponse* output = static_cast<SWGSuccessResponse*>(create(json, QString("SWGSuccessResponse")));
|
||||||
|
worker->deleteLater();
|
||||||
|
|
||||||
|
if (worker->error_type == QNetworkReply::NoError) {
|
||||||
|
emit instanceAudioOutputCleanupPatchSignal(output);
|
||||||
|
} else {
|
||||||
|
emit instanceAudioOutputCleanupPatchSignalE(output, error_type, error_str);
|
||||||
|
emit instanceAudioOutputCleanupPatchSignalEFull(worker, error_type, error_str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioOutputDelete(SWGAudioOutputDevice& body) {
|
||||||
|
QString fullPath;
|
||||||
|
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/output/parameters");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
|
||||||
|
SWGHttpRequestInput input(fullPath, "DELETE");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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,
|
||||||
|
&SWGInstanceApi::instanceAudioOutputDeleteCallback);
|
||||||
|
|
||||||
|
worker->execute(&input);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioOutputDeleteCallback(SWGHttpRequestWorker * worker) {
|
||||||
QString msg;
|
QString msg;
|
||||||
QString error_str = worker->error_str;
|
QString error_str = worker->error_str;
|
||||||
QNetworkReply::NetworkError error_type = worker->error_type;
|
QNetworkReply::NetworkError error_type = worker->error_type;
|
||||||
@ -183,10 +342,65 @@ SWGInstanceApi::instanceAudioOutputSetPatchCallback(SWGHttpRequestWorker * worke
|
|||||||
worker->deleteLater();
|
worker->deleteLater();
|
||||||
|
|
||||||
if (worker->error_type == QNetworkReply::NoError) {
|
if (worker->error_type == QNetworkReply::NoError) {
|
||||||
emit instanceAudioOutputSetPatchSignal(output);
|
emit instanceAudioOutputDeleteSignal(output);
|
||||||
} else {
|
} else {
|
||||||
emit instanceAudioOutputSetPatchSignalE(output, error_type, error_str);
|
emit instanceAudioOutputDeleteSignalE(output, error_type, error_str);
|
||||||
emit instanceAudioOutputSetPatchSignalEFull(worker, error_type, error_str);
|
emit instanceAudioOutputDeleteSignalEFull(worker, error_type, error_str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioOutputPatch(SWGAudioOutputDevice& body) {
|
||||||
|
QString fullPath;
|
||||||
|
fullPath.append(this->host).append(this->basePath).append("/sdrangel/audio/output/parameters");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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,
|
||||||
|
&SWGInstanceApi::instanceAudioOutputPatchCallback);
|
||||||
|
|
||||||
|
worker->execute(&input);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SWGInstanceApi::instanceAudioOutputPatchCallback(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);
|
||||||
|
SWGAudioOutputDevice* output = static_cast<SWGAudioOutputDevice*>(create(json, QString("SWGAudioOutputDevice")));
|
||||||
|
worker->deleteLater();
|
||||||
|
|
||||||
|
if (worker->error_type == QNetworkReply::NoError) {
|
||||||
|
emit instanceAudioOutputPatchSignal(output);
|
||||||
|
} else {
|
||||||
|
emit instanceAudioOutputPatchSignalE(output, error_type, error_str);
|
||||||
|
emit instanceAudioOutputPatchSignalEFull(worker, error_type, error_str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "SWGPresetImport.h"
|
#include "SWGPresetImport.h"
|
||||||
#include "SWGPresetTransfer.h"
|
#include "SWGPresetTransfer.h"
|
||||||
#include "SWGPresets.h"
|
#include "SWGPresets.h"
|
||||||
|
#include "SWGSuccessResponse.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
@ -49,8 +50,12 @@ public:
|
|||||||
QMap<QString, QString> defaultHeaders;
|
QMap<QString, QString> defaultHeaders;
|
||||||
|
|
||||||
void instanceAudioGet();
|
void instanceAudioGet();
|
||||||
void instanceAudioInputSetPatch(SWGAudioInputDevice& body);
|
void instanceAudioInputCleanupPatch();
|
||||||
void instanceAudioOutputSetPatch(SWGAudioOutputDevice& body);
|
void instanceAudioInputDelete(SWGAudioInputDevice& body);
|
||||||
|
void instanceAudioInputPatch(SWGAudioInputDevice& body);
|
||||||
|
void instanceAudioOutputCleanupPatch();
|
||||||
|
void instanceAudioOutputDelete(SWGAudioOutputDevice& body);
|
||||||
|
void instanceAudioOutputPatch(SWGAudioOutputDevice& body);
|
||||||
void instanceChannels(qint32 tx);
|
void instanceChannels(qint32 tx);
|
||||||
void instanceDVSerialPatch(qint32 dvserial);
|
void instanceDVSerialPatch(qint32 dvserial);
|
||||||
void instanceDelete();
|
void instanceDelete();
|
||||||
@ -71,8 +76,12 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void instanceAudioGetCallback (SWGHttpRequestWorker * worker);
|
void instanceAudioGetCallback (SWGHttpRequestWorker * worker);
|
||||||
void instanceAudioInputSetPatchCallback (SWGHttpRequestWorker * worker);
|
void instanceAudioInputCleanupPatchCallback (SWGHttpRequestWorker * worker);
|
||||||
void instanceAudioOutputSetPatchCallback (SWGHttpRequestWorker * worker);
|
void instanceAudioInputDeleteCallback (SWGHttpRequestWorker * worker);
|
||||||
|
void instanceAudioInputPatchCallback (SWGHttpRequestWorker * worker);
|
||||||
|
void instanceAudioOutputCleanupPatchCallback (SWGHttpRequestWorker * worker);
|
||||||
|
void instanceAudioOutputDeleteCallback (SWGHttpRequestWorker * worker);
|
||||||
|
void instanceAudioOutputPatchCallback (SWGHttpRequestWorker * worker);
|
||||||
void instanceChannelsCallback (SWGHttpRequestWorker * worker);
|
void instanceChannelsCallback (SWGHttpRequestWorker * worker);
|
||||||
void instanceDVSerialPatchCallback (SWGHttpRequestWorker * worker);
|
void instanceDVSerialPatchCallback (SWGHttpRequestWorker * worker);
|
||||||
void instanceDeleteCallback (SWGHttpRequestWorker * worker);
|
void instanceDeleteCallback (SWGHttpRequestWorker * worker);
|
||||||
@ -93,8 +102,12 @@ private:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void instanceAudioGetSignal(SWGAudioDevices* summary);
|
void instanceAudioGetSignal(SWGAudioDevices* summary);
|
||||||
void instanceAudioInputSetPatchSignal(SWGAudioInputDevice* summary);
|
void instanceAudioInputCleanupPatchSignal(SWGSuccessResponse* summary);
|
||||||
void instanceAudioOutputSetPatchSignal(SWGAudioOutputDevice* summary);
|
void instanceAudioInputDeleteSignal(SWGAudioInputDevice* summary);
|
||||||
|
void instanceAudioInputPatchSignal(SWGAudioInputDevice* summary);
|
||||||
|
void instanceAudioOutputCleanupPatchSignal(SWGSuccessResponse* summary);
|
||||||
|
void instanceAudioOutputDeleteSignal(SWGAudioOutputDevice* summary);
|
||||||
|
void instanceAudioOutputPatchSignal(SWGAudioOutputDevice* summary);
|
||||||
void instanceChannelsSignal(SWGInstanceChannelsResponse* summary);
|
void instanceChannelsSignal(SWGInstanceChannelsResponse* summary);
|
||||||
void instanceDVSerialPatchSignal(SWGDVSeralDevices* summary);
|
void instanceDVSerialPatchSignal(SWGDVSeralDevices* summary);
|
||||||
void instanceDeleteSignal(SWGInstanceSummaryResponse* summary);
|
void instanceDeleteSignal(SWGInstanceSummaryResponse* summary);
|
||||||
@ -114,8 +127,12 @@ signals:
|
|||||||
void instanceSummarySignal(SWGInstanceSummaryResponse* summary);
|
void instanceSummarySignal(SWGInstanceSummaryResponse* summary);
|
||||||
|
|
||||||
void instanceAudioGetSignalE(SWGAudioDevices* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceAudioGetSignalE(SWGAudioDevices* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceAudioInputSetPatchSignalE(SWGAudioInputDevice* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceAudioInputCleanupPatchSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceAudioOutputSetPatchSignalE(SWGAudioOutputDevice* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceAudioInputDeleteSignalE(SWGAudioInputDevice* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioInputPatchSignalE(SWGAudioInputDevice* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioOutputCleanupPatchSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioOutputDeleteSignalE(SWGAudioOutputDevice* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioOutputPatchSignalE(SWGAudioOutputDevice* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceChannelsSignalE(SWGInstanceChannelsResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceChannelsSignalE(SWGInstanceChannelsResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceDVSerialPatchSignalE(SWGDVSeralDevices* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceDVSerialPatchSignalE(SWGDVSeralDevices* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceDeleteSignalE(SWGInstanceSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceDeleteSignalE(SWGInstanceSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
@ -135,8 +152,12 @@ signals:
|
|||||||
void instanceSummarySignalE(SWGInstanceSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceSummarySignalE(SWGInstanceSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
|
||||||
void instanceAudioGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceAudioGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceAudioInputSetPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceAudioInputCleanupPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceAudioOutputSetPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceAudioInputDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioInputPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioOutputCleanupPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioOutputDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
void instanceAudioOutputPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceChannelsSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceChannelsSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceDVSerialPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceDVSerialPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
void instanceDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
void instanceDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user