1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-15 21:01:45 -05:00

REST API: updates for MIMO (4)

This commit is contained in:
f4exb 2019-12-24 19:08:11 +01:00
parent 6855602a7f
commit d11f56adb9
16 changed files with 799 additions and 41 deletions

View File

@ -531,21 +531,31 @@ bool TestMI::applySettings(const TestMISettings& settings, bool force)
} }
int TestMI::webapiRunGet( int TestMI::webapiRunGet(
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
QString& errorMessage) QString& errorMessage)
{ {
(void) errorMessage; if (subsystemIndex == 0)
m_deviceAPI->getDeviceEngineStateStr(*response.getState()); {
m_deviceAPI->getDeviceEngineStateStr(*response.getState()); // Rx only
return 200; return 200;
} }
else
{
errorMessage = QString("Subsystem index invalid: expect 0 (Rx) only");
return 404;
}
}
int TestMI::webapiRun( int TestMI::webapiRun(
bool run, bool run,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
QString& errorMessage) QString& errorMessage)
{ {
(void) errorMessage; if (subsystemIndex == 0)
m_deviceAPI->getDeviceEngineStateStr(*response.getState()); {
m_deviceAPI->getDeviceEngineStateStr(*response.getState()); // Rx only
MsgStartStop *message = MsgStartStop::create(run); MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message); m_inputMessageQueue.push(message);
@ -557,6 +567,13 @@ int TestMI::webapiRun(
return 200; return 200;
} }
else
{
errorMessage = QString("Subsystem index invalid: expect 0 (Rx) only");
return 404;
}
}
int TestMI::webapiSettingsGet( int TestMI::webapiSettingsGet(
SWGSDRangel::SWGDeviceSettings& response, SWGSDRangel::SWGDeviceSettings& response,

View File

@ -141,11 +141,13 @@ public:
QString& errorMessage); QString& errorMessage);
virtual int webapiRunGet( virtual int webapiRunGet(
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
QString& errorMessage); QString& errorMessage);
virtual int webapiRun( virtual int webapiRun(
bool run, bool run,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
QString& errorMessage); QString& errorMessage);

View File

@ -170,6 +170,7 @@ void DeviceAPI::removeChannelSourceAPI(ChannelAPI* channelAPI)
void DeviceAPI::addMIMOChannelAPI(ChannelAPI* channelAPI) void DeviceAPI::addMIMOChannelAPI(ChannelAPI* channelAPI)
{ {
m_mimoChannelAPIs.append(channelAPI); m_mimoChannelAPIs.append(channelAPI);
renumerateChannels();
} }
void DeviceAPI::removeMIMOChannelAPI(ChannelAPI *channelAPI) void DeviceAPI::removeMIMOChannelAPI(ChannelAPI *channelAPI)
@ -177,6 +178,8 @@ void DeviceAPI::removeMIMOChannelAPI(ChannelAPI *channelAPI)
if (m_mimoChannelAPIs.removeOne(channelAPI)) { if (m_mimoChannelAPIs.removeOne(channelAPI)) {
renumerateChannels(); renumerateChannels();
} }
channelAPI->setIndexInDeviceSet(-1);
} }
void DeviceAPI::setSampleSource(DeviceSampleSource* source) void DeviceAPI::setSampleSource(DeviceSampleSource* source)

View File

@ -104,19 +104,23 @@ public:
} }
virtual int webapiRunGet( virtual int webapiRunGet(
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
QString& errorMessage) QString& errorMessage)
{ {
(void) response; (void) response;
(void) subsystemIndex;
errorMessage = "Not implemented"; errorMessage = "Not implemented";
return 501; return 501;
} }
virtual int webapiRun(bool run, virtual int webapiRun(bool run,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
QString& errorMessage) QString& errorMessage)
{ {
(void) run; (void) run;
(void) subsystemIndex;
(void) response; (void) response;
errorMessage = "Not implemented"; errorMessage = "Not implemented";
return 501; return 501;

View File

@ -987,7 +987,7 @@ paths:
/sdrangel/deviceset/{deviceSetIndex}/device/run: /sdrangel/deviceset/{deviceSetIndex}/device/run:
x-swagger-router-controller: deviceset x-swagger-router-controller: deviceset
get: get:
description: get device rune status description: get device run status for a single subsystem device (Rx or Tx)
operationId: devicesetDeviceRunGet operationId: devicesetDeviceRunGet
tags: tags:
- DeviceSet - DeviceSet
@ -1015,7 +1015,7 @@ paths:
"501": "501":
$ref: "#/responses/Response_501" $ref: "#/responses/Response_501"
post: post:
description: start device description: start device for a single subsystem device (Rx or Tx)
operationId: devicesetDeviceRunPost operationId: devicesetDeviceRunPost
tags: tags:
- DeviceSet - DeviceSet
@ -1049,7 +1049,7 @@ paths:
"501": "501":
$ref: "#/responses/Response_501" $ref: "#/responses/Response_501"
delete: delete:
description: stop device description: stop device for a single subsystem device (Rx or Tx)
operationId: devicesetDeviceRunDelete operationId: devicesetDeviceRunDelete
tags: tags:
- DeviceSet - DeviceSet
@ -1083,6 +1083,120 @@ paths:
"501": "501":
$ref: "#/responses/Response_501" $ref: "#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/subdevice/{subsystemIndex}/run:
x-swagger-router-controller: deviceset
get:
description: get device run status for a multi-subsystem device (Rx/Tx combination i.e. MIMO)
operationId: devicesetDeviceSubsystemRunGet
tags:
- DeviceSet
parameters:
- in: path
name: deviceSetIndex
type: integer
required: true
description: Index of device set in the device set list
- in: path
name: subsystemIndex
type: integer
required: true
description: Index of subsystem (0 for Rx, 1 for Tx)
responses:
"200":
description: On success return current state
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or subsystem not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
post:
description: start device for a multi-subsystem device (Rx/Tx combination i.e. MIMO)
operationId: devicesetDeviceSubsystemRunPost
tags:
- DeviceSet
parameters:
- in: path
name: deviceSetIndex
type: integer
required: true
description: Index of device set in the device set list
- in: path
name: subsystemIndex
type: integer
required: true
description: Index of subsystem (0 for Rx, 1 for Tx)
- name: body
in: body
description: Originator information in the reverse API case
required: false
schema:
$ref: "/doc/swagger/include/DeviceSettings.yaml#/DeviceSettings"
responses:
"200":
description: On success return state before change
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or subsystem not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
delete:
description: stop device for a multi-subsystem device (Rx/Tx combination i.e. MIMO)
operationId: devicesetDeviceSubsystemRunDelete
tags:
- DeviceSet
parameters:
- in: path
name: deviceSetIndex
type: integer
required: true
description: Index of device set in the device set list
- in: path
name: subsystemIndex
type: integer
required: true
description: Index of subsystem (0 for Rx, 1 for Tx)
- name: body
in: body
description: Originator information in the reverse API case
required: false
schema:
$ref: "/doc/swagger/include/DeviceSettings.yaml#/DeviceSettings"
responses:
"200":
description: On success return state before change
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or subsystem not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/device/report: /sdrangel/deviceset/{deviceSetIndex}/device/report:
x-swagger-router-controller: deviceset x-swagger-router-controller: deviceset
get: get:
@ -1579,11 +1693,9 @@ definitions:
DeviceState: DeviceState:
description: "Device running state" description: "Device running state"
required:
- state
properties: properties:
state: state:
description: "State: notStarted, idle, ready, running, error" description: "Unique state: notStarted, idle, ready, running, error"
type: string type: string
SamplingDevice: SamplingDevice:

View File

@ -42,7 +42,8 @@ std::regex WebAPIAdapterInterface::devicesetURLRe("^/sdrangel/deviceset/([0-9]{1
std::regex WebAPIAdapterInterface::devicesetFocusURLRe("^/sdrangel/deviceset/([0-9]{1,2})/focus$"); std::regex WebAPIAdapterInterface::devicesetFocusURLRe("^/sdrangel/deviceset/([0-9]{1,2})/focus$");
std::regex WebAPIAdapterInterface::devicesetDeviceURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device$"); std::regex WebAPIAdapterInterface::devicesetDeviceURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device$");
std::regex WebAPIAdapterInterface::devicesetDeviceSettingsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/settings$"); std::regex WebAPIAdapterInterface::devicesetDeviceSettingsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/settings$");
std::regex WebAPIAdapterInterface::devicesetDeviceRunURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/run"); std::regex WebAPIAdapterInterface::devicesetDeviceRunURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/run$");
std::regex WebAPIAdapterInterface::devicesetDeviceSubsystemRunURLRe("^/sdrangel/deviceset/([0-9]{1,2})/subdevice/([0-9]{1,2})/run$");
std::regex WebAPIAdapterInterface::devicesetDeviceReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/report$"); std::regex WebAPIAdapterInterface::devicesetDeviceReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/report$");
std::regex WebAPIAdapterInterface::devicesetChannelsReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channels/report$"); std::regex WebAPIAdapterInterface::devicesetChannelsReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channels/report$");
std::regex WebAPIAdapterInterface::devicesetChannelURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel$"); std::regex WebAPIAdapterInterface::devicesetChannelURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel$");

View File

@ -677,6 +677,24 @@ public:
return 501; return 501;
} }
/**
* Handler of /sdrangel/deviceset/{devicesetIndex}/subdevice/{subsystemIndex}/run (GET) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
* returns the Http status code (default 501: not implemented)
*/
virtual int devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
(void) deviceSetIndex;
(void) subsystemIndex;
(void) response;
error.init();
*error.getMessage() = QString("Function not implemented");
return 501;
}
/** /**
* Handler of /sdrangel/deviceset/{devicesetIndex}/device/run (POST) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels * Handler of /sdrangel/deviceset/{devicesetIndex}/device/run (POST) 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)
@ -693,6 +711,24 @@ public:
return 501; return 501;
} }
/**
* Handler of /sdrangel/deviceset/{devicesetIndex}/subdevice/{subsystemIndex}/run (POST) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
* returns the Http status code (default 501: not implemented)
*/
virtual int devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
(void) deviceSetIndex;
(void) subsystemIndex;
(void) response;
error.init();
*error.getMessage() = QString("Function not implemented");
return 501;
}
/** /**
* Handler of /sdrangel/deviceset/{devicesetIndex}/device/run (DELETE) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels * Handler of /sdrangel/deviceset/{devicesetIndex}/device/run (DELETE) 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)
@ -709,6 +745,24 @@ public:
return 501; return 501;
} }
/**
* Handler of /sdrangel/deviceset/{devicesetIndex}/subdevice/{subsystemIndex}/run (DELETE) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
* returns the Http status code (default 501: not implemented)
*/
virtual int devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
(void) deviceSetIndex;
(void) subsystemIndex;
(void) response;
error.init();
*error.getMessage() = QString("Function not implemented");
return 501;
}
/** /**
* Handler of /sdrangel/deviceset/{devicesetIndex}/device/report (GET) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels * Handler of /sdrangel/deviceset/{devicesetIndex}/device/report (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)
@ -860,6 +914,7 @@ public:
static std::regex devicesetDeviceURLRe; static std::regex devicesetDeviceURLRe;
static std::regex devicesetDeviceSettingsURLRe; static std::regex devicesetDeviceSettingsURLRe;
static std::regex devicesetDeviceRunURLRe; static std::regex devicesetDeviceRunURLRe;
static std::regex devicesetDeviceSubsystemRunURLRe;
static std::regex devicesetDeviceReportURLRe; static std::regex devicesetDeviceReportURLRe;
static std::regex devicesetChannelURLRe; static std::regex devicesetChannelURLRe;
static std::regex devicesetChannelIndexURLRe; static std::regex devicesetChannelIndexURLRe;

View File

@ -287,6 +287,8 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
devicesetDeviceSettingsService(std::string(desc_match[1]), request, response); devicesetDeviceSettingsService(std::string(desc_match[1]), request, response);
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetDeviceRunURLRe)) { } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetDeviceRunURLRe)) {
devicesetDeviceRunService(std::string(desc_match[1]), request, response); devicesetDeviceRunService(std::string(desc_match[1]), request, response);
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetDeviceSubsystemRunURLRe)) {
devicesetDeviceSubsystemRunService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetDeviceReportURLRe)) { } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetDeviceReportURLRe)) {
devicesetDeviceReportService(std::string(desc_match[1]), request, response); devicesetDeviceReportService(std::string(desc_match[1]), request, response);
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelsReportURLRe)) { } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelsReportURLRe)) {
@ -1601,6 +1603,73 @@ void WebAPIRequestMapper::devicesetDeviceRunService(const std::string& indexStr,
} }
} }
void WebAPIRequestMapper::devicesetDeviceSubsystemRunService(const std::string& indexStr, const std::string& subsystemIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
{
SWGSDRangel::SWGErrorResponse errorResponse;
response.setHeader("Content-Type", "application/json");
response.setHeader("Access-Control-Allow-Origin", "*");
try
{
int deviceSetIndex = boost::lexical_cast<int>(indexStr);
int subsystemIndex = boost::lexical_cast<int>(subsystemIndexStr);
if (request.getMethod() == "GET")
{
SWGSDRangel::SWGDeviceState normalResponse;
int status = m_adapter->devicesetDeviceSubsystemRunGet(deviceSetIndex, subsystemIndex, normalResponse, errorResponse);
response.setStatus(status);
if (status/100 == 2) {
response.write(normalResponse.asJson().toUtf8());
} else {
response.write(errorResponse.asJson().toUtf8());
}
}
else if (request.getMethod() == "POST")
{
SWGSDRangel::SWGDeviceState normalResponse;
int status = m_adapter->devicesetDeviceSubsystemRunPost(deviceSetIndex, subsystemIndex, normalResponse, errorResponse);
response.setStatus(status);
if (status/100 == 2) {
response.write(normalResponse.asJson().toUtf8());
} else {
response.write(errorResponse.asJson().toUtf8());
}
}
else if (request.getMethod() == "DELETE")
{
SWGSDRangel::SWGDeviceState normalResponse;
int status = m_adapter->devicesetDeviceSubsystemRunDelete(deviceSetIndex, subsystemIndex, 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());
}
}
catch (const boost::bad_lexical_cast &e)
{
errorResponse.init();
*errorResponse.getMessage() = "Wrong integer conversion on device set index";
response.setStatus(400,"Invalid data");
response.write(errorResponse.asJson().toUtf8());
}
}
void WebAPIRequestMapper::devicesetDeviceReportService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response) void WebAPIRequestMapper::devicesetDeviceReportService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
{ {
SWGSDRangel::SWGErrorResponse errorResponse; SWGSDRangel::SWGErrorResponse errorResponse;

View File

@ -76,6 +76,7 @@ private:
void devicesetDeviceService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response); void devicesetDeviceService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetDeviceSettingsService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response); void devicesetDeviceSettingsService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetDeviceRunService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response); void devicesetDeviceRunService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetDeviceSubsystemRunService(const std::string& indexStr, const std::string& subsystemIndexStr,qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetDeviceReportService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response); void devicesetDeviceReportService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetChannelsReportService(const std::string& deviceSetIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response); void devicesetChannelsReportService(const std::string& deviceSetIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetChannelService(const std::string& deviceSetIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response); void devicesetChannelService(const std::string& deviceSetIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);

View File

@ -214,6 +214,8 @@ int WebAPIAdapterGUI::instanceDevices(
nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices(); nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices();
} else if (direction == 1) { // Single Tx stream device } else if (direction == 1) { // Single Tx stream device
nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices(); nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices();
} else if (direction == 2) { // MIMO device
nbSamplingDevices = DeviceEnumerator::instance()->getNbMIMOSamplingDevices();
} else { // not supported } else { // not supported
nbSamplingDevices = 0; nbSamplingDevices = 0;
} }
@ -229,6 +231,8 @@ int WebAPIAdapterGUI::instanceDevices(
samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i); samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i);
} else if (direction == 1) { } else if (direction == 1) {
samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i); samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i);
} else if (direction == 2) {
samplingDevice = DeviceEnumerator::instance()->getMIMOSamplingDevice(i);
} else { } else {
continue; continue;
} }
@ -1458,11 +1462,36 @@ int WebAPIAdapterGUI::devicesetDeviceRunGet(
response.init(); response.init();
return sink->webapiRunGet(response, *error.getMessage()); return sink->webapiRunGet(response, *error.getMessage());
} }
else if (deviceSet->m_deviceMIMOEngine) // MIMO else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterGUI::devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainWindow.m_deviceUIs.size()))
{
DeviceUISet *deviceSet = m_mainWindow.m_deviceUIs[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{ {
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO(); DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init(); response.init();
return mimo->webapiRunGet(response, *error.getMessage()); return mimo->webapiRunGet(subsystemIndex, response, *error.getMessage());
} }
else else
{ {
@ -1500,11 +1529,36 @@ int WebAPIAdapterGUI::devicesetDeviceRunPost(
response.init(); response.init();
return sink->webapiRun(true, response, *error.getMessage()); return sink->webapiRun(true, response, *error.getMessage());
} }
else if (deviceSet->m_deviceMIMOEngine) // MIMO else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterGUI::devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainWindow.m_deviceUIs.size()))
{
DeviceUISet *deviceSet = m_mainWindow.m_deviceUIs[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{ {
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO(); DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init(); response.init();
return mimo->webapiRun(true, response, *error.getMessage()); return mimo->webapiRun(true, subsystemIndex, response, *error.getMessage());
} }
else else
{ {
@ -1542,12 +1596,6 @@ int WebAPIAdapterGUI::devicesetDeviceRunDelete(
response.init(); response.init();
return sink->webapiRun(false, response, *error.getMessage()); return sink->webapiRun(false, response, *error.getMessage());
} }
else if (deviceSet->m_deviceMIMOEngine) // MIMO
{
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init();
return mimo->webapiRun(false, response, *error.getMessage());
}
else else
{ {
*error.getMessage() = QString("DeviceSet error"); *error.getMessage() = QString("DeviceSet error");
@ -1561,6 +1609,36 @@ int WebAPIAdapterGUI::devicesetDeviceRunDelete(
} }
} }
int WebAPIAdapterGUI::devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainWindow.m_deviceUIs.size()))
{
DeviceUISet *deviceSet = m_mainWindow.m_deviceUIs[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init();
return mimo->webapiRun(false, subsystemIndex, response, *error.getMessage());
}
else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterGUI::devicesetDeviceReportGet( int WebAPIAdapterGUI::devicesetDeviceReportGet(
int deviceSetIndex, int deviceSetIndex,

View File

@ -219,6 +219,24 @@ public:
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error); SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceReportGet( virtual int devicesetDeviceReportGet(
int deviceSetIndex, int deviceSetIndex,
SWGSDRangel::SWGDeviceReport& response, SWGSDRangel::SWGDeviceReport& response,

View File

@ -212,6 +212,8 @@ int WebAPIAdapterSrv::instanceDevices(
nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices(); nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices();
} else if (direction == 1) { // Single Tx stream device } else if (direction == 1) { // Single Tx stream device
nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices(); nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices();
} else if (direction == 2) { // MIMO device
nbSamplingDevices = DeviceEnumerator::instance()->getNbMIMOSamplingDevices();
} else { // not supported } else { // not supported
nbSamplingDevices = 0; nbSamplingDevices = 0;
} }
@ -228,6 +230,8 @@ int WebAPIAdapterSrv::instanceDevices(
samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i); samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i);
} else if (direction == 1) { } else if (direction == 1) {
samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i); samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i);
} else if (direction == 2) {
samplingDevice = DeviceEnumerator::instance()->getMIMOSamplingDevice(i);
} else { } else {
continue; continue;
} }
@ -1545,11 +1549,36 @@ int WebAPIAdapterSrv::devicesetDeviceRunGet(
response.init(); response.init();
return sink->webapiRunGet(response, *error.getMessage()); return sink->webapiRunGet(response, *error.getMessage());
} }
else if (deviceSet->m_deviceMIMOEngine) // MIMO else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterSrv::devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
{
DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{ {
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO(); DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init(); response.init();
return mimo->webapiRunGet(response, *error.getMessage()); return mimo->webapiRunGet(subsystemIndex, response, *error.getMessage());
} }
else else
{ {
@ -1587,11 +1616,36 @@ int WebAPIAdapterSrv::devicesetDeviceRunPost(
response.init(); response.init();
return sink->webapiRun(true, response, *error.getMessage()); return sink->webapiRun(true, response, *error.getMessage());
} }
else if (deviceSet->m_deviceMIMOEngine) // MIMO else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterSrv::devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
{
DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{ {
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO(); DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init(); response.init();
return mimo->webapiRun(true, response, *error.getMessage()); return mimo->webapiRun(true, subsystemIndex, response, *error.getMessage());
} }
else else
{ {
@ -1629,11 +1683,36 @@ int WebAPIAdapterSrv::devicesetDeviceRunDelete(
response.init(); response.init();
return sink->webapiRun(false, response, *error.getMessage()); return sink->webapiRun(false, response, *error.getMessage());
} }
else if (deviceSet->m_deviceMIMOEngine) // MIMO else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterSrv::devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
{
DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{ {
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO(); DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init(); response.init();
return mimo->webapiRun(false, response, *error.getMessage()); return mimo->webapiRun(false, subsystemIndex, response, *error.getMessage());
} }
else else
{ {

View File

@ -229,6 +229,24 @@ public:
SWGSDRangel::SWGDeviceState& response, SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error); SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error);
virtual int devicesetDeviceReportGet( virtual int devicesetDeviceReportGet(
int deviceSetIndex, int deviceSetIndex,
SWGSDRangel::SWGDeviceReport& response, SWGSDRangel::SWGDeviceReport& response,

View File

@ -987,7 +987,7 @@ paths:
/sdrangel/deviceset/{deviceSetIndex}/device/run: /sdrangel/deviceset/{deviceSetIndex}/device/run:
x-swagger-router-controller: deviceset x-swagger-router-controller: deviceset
get: get:
description: get device rune status description: get device run status for a single subsystem device (Rx or Tx)
operationId: devicesetDeviceRunGet operationId: devicesetDeviceRunGet
tags: tags:
- DeviceSet - DeviceSet
@ -1015,7 +1015,7 @@ paths:
"501": "501":
$ref: "#/responses/Response_501" $ref: "#/responses/Response_501"
post: post:
description: start device description: start device for a single subsystem device (Rx or Tx)
operationId: devicesetDeviceRunPost operationId: devicesetDeviceRunPost
tags: tags:
- DeviceSet - DeviceSet
@ -1049,7 +1049,7 @@ paths:
"501": "501":
$ref: "#/responses/Response_501" $ref: "#/responses/Response_501"
delete: delete:
description: stop device description: stop device for a single subsystem device (Rx or Tx)
operationId: devicesetDeviceRunDelete operationId: devicesetDeviceRunDelete
tags: tags:
- DeviceSet - DeviceSet
@ -1083,6 +1083,120 @@ paths:
"501": "501":
$ref: "#/responses/Response_501" $ref: "#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/subdevice/{subsystemIndex}/run:
x-swagger-router-controller: deviceset
get:
description: get device run status for a multi-subsystem device (Rx/Tx combination i.e. MIMO)
operationId: devicesetDeviceSubsystemRunGet
tags:
- DeviceSet
parameters:
- in: path
name: deviceSetIndex
type: integer
required: true
description: Index of device set in the device set list
- in: path
name: subsystemIndex
type: integer
required: true
description: Index of subsystem (0 for Rx, 1 for Tx)
responses:
"200":
description: On success return current state
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or subsystem not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
post:
description: start device for a multi-subsystem device (Rx/Tx combination i.e. MIMO)
operationId: devicesetDeviceSubsystemRunPost
tags:
- DeviceSet
parameters:
- in: path
name: deviceSetIndex
type: integer
required: true
description: Index of device set in the device set list
- in: path
name: subsystemIndex
type: integer
required: true
description: Index of subsystem (0 for Rx, 1 for Tx)
- name: body
in: body
description: Originator information in the reverse API case
required: false
schema:
$ref: "http://localhost:8081/api/swagger/include/DeviceSettings.yaml#/DeviceSettings"
responses:
"200":
description: On success return state before change
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or subsystem not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
delete:
description: stop device for a multi-subsystem device (Rx/Tx combination i.e. MIMO)
operationId: devicesetDeviceSubsystemRunDelete
tags:
- DeviceSet
parameters:
- in: path
name: deviceSetIndex
type: integer
required: true
description: Index of device set in the device set list
- in: path
name: subsystemIndex
type: integer
required: true
description: Index of subsystem (0 for Rx, 1 for Tx)
- name: body
in: body
description: Originator information in the reverse API case
required: false
schema:
$ref: "http://localhost:8081/api/swagger/include/DeviceSettings.yaml#/DeviceSettings"
responses:
"200":
description: On success return state before change
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or subsystem not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/device/report: /sdrangel/deviceset/{deviceSetIndex}/device/report:
x-swagger-router-controller: deviceset x-swagger-router-controller: deviceset
get: get:
@ -1579,11 +1693,9 @@ definitions:
DeviceState: DeviceState:
description: "Device running state" description: "Device running state"
required:
- state
properties: properties:
state: state:
description: "State: notStarted, idle, ready, running, error" description: "Unique state: notStarted, idle, ready, running, error"
type: string type: string
SamplingDevice: SamplingDevice:

View File

@ -872,6 +872,180 @@ SWGDeviceSetApi::devicesetDeviceSettingsPutCallback(SWGHttpRequestWorker * worke
} }
} }
void
SWGDeviceSetApi::devicesetDeviceSubsystemRunDelete(qint32 device_set_index, qint32 subsystem_index, SWGDeviceSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/subdevice/{subsystemIndex}/run");
QString device_set_indexPathParam("{"); device_set_indexPathParam.append("deviceSetIndex").append("}");
fullPath.replace(device_set_indexPathParam, stringValue(device_set_index));
QString subsystem_indexPathParam("{"); subsystem_indexPathParam.append("subsystemIndex").append("}");
fullPath.replace(subsystem_indexPathParam, stringValue(subsystem_index));
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,
&SWGDeviceSetApi::devicesetDeviceSubsystemRunDeleteCallback);
worker->execute(&input);
}
void
SWGDeviceSetApi::devicesetDeviceSubsystemRunDeleteCallback(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);
SWGDeviceState* output = static_cast<SWGDeviceState*>(create(json, QString("SWGDeviceState")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit devicesetDeviceSubsystemRunDeleteSignal(output);
} else {
emit devicesetDeviceSubsystemRunDeleteSignalE(output, error_type, error_str);
emit devicesetDeviceSubsystemRunDeleteSignalEFull(worker, error_type, error_str);
}
}
void
SWGDeviceSetApi::devicesetDeviceSubsystemRunGet(qint32 device_set_index, qint32 subsystem_index) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/subdevice/{subsystemIndex}/run");
QString device_set_indexPathParam("{"); device_set_indexPathParam.append("deviceSetIndex").append("}");
fullPath.replace(device_set_indexPathParam, stringValue(device_set_index));
QString subsystem_indexPathParam("{"); subsystem_indexPathParam.append("subsystemIndex").append("}");
fullPath.replace(subsystem_indexPathParam, stringValue(subsystem_index));
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,
&SWGDeviceSetApi::devicesetDeviceSubsystemRunGetCallback);
worker->execute(&input);
}
void
SWGDeviceSetApi::devicesetDeviceSubsystemRunGetCallback(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);
SWGDeviceState* output = static_cast<SWGDeviceState*>(create(json, QString("SWGDeviceState")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit devicesetDeviceSubsystemRunGetSignal(output);
} else {
emit devicesetDeviceSubsystemRunGetSignalE(output, error_type, error_str);
emit devicesetDeviceSubsystemRunGetSignalEFull(worker, error_type, error_str);
}
}
void
SWGDeviceSetApi::devicesetDeviceSubsystemRunPost(qint32 device_set_index, qint32 subsystem_index, SWGDeviceSettings& body) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/sdrangel/deviceset/{deviceSetIndex}/subdevice/{subsystemIndex}/run");
QString device_set_indexPathParam("{"); device_set_indexPathParam.append("deviceSetIndex").append("}");
fullPath.replace(device_set_indexPathParam, stringValue(device_set_index));
QString subsystem_indexPathParam("{"); subsystem_indexPathParam.append("subsystemIndex").append("}");
fullPath.replace(subsystem_indexPathParam, stringValue(subsystem_index));
SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
SWGHttpRequestInput input(fullPath, "POST");
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,
&SWGDeviceSetApi::devicesetDeviceSubsystemRunPostCallback);
worker->execute(&input);
}
void
SWGDeviceSetApi::devicesetDeviceSubsystemRunPostCallback(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);
SWGDeviceState* output = static_cast<SWGDeviceState*>(create(json, QString("SWGDeviceState")));
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit devicesetDeviceSubsystemRunPostSignal(output);
} else {
emit devicesetDeviceSubsystemRunPostSignalE(output, error_type, error_str);
emit devicesetDeviceSubsystemRunPostSignalEFull(worker, error_type, error_str);
}
}
void void
SWGDeviceSetApi::devicesetFocusPatch(qint32 device_set_index) { SWGDeviceSetApi::devicesetFocusPatch(qint32 device_set_index) {
QString fullPath; QString fullPath;

View File

@ -57,6 +57,9 @@ public:
void devicesetDeviceSettingsGet(qint32 device_set_index); void devicesetDeviceSettingsGet(qint32 device_set_index);
void devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDeviceSettings& body); void devicesetDeviceSettingsPatch(qint32 device_set_index, SWGDeviceSettings& body);
void devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSettings& body); void devicesetDeviceSettingsPut(qint32 device_set_index, SWGDeviceSettings& body);
void devicesetDeviceSubsystemRunDelete(qint32 device_set_index, qint32 subsystem_index, SWGDeviceSettings& body);
void devicesetDeviceSubsystemRunGet(qint32 device_set_index, qint32 subsystem_index);
void devicesetDeviceSubsystemRunPost(qint32 device_set_index, qint32 subsystem_index, SWGDeviceSettings& body);
void devicesetFocusPatch(qint32 device_set_index); void devicesetFocusPatch(qint32 device_set_index);
void devicesetGet(qint32 device_set_index); void devicesetGet(qint32 device_set_index);
void instanceDeviceSetDelete(); void instanceDeviceSetDelete();
@ -78,6 +81,9 @@ private:
void devicesetDeviceSettingsGetCallback (SWGHttpRequestWorker * worker); void devicesetDeviceSettingsGetCallback (SWGHttpRequestWorker * worker);
void devicesetDeviceSettingsPatchCallback (SWGHttpRequestWorker * worker); void devicesetDeviceSettingsPatchCallback (SWGHttpRequestWorker * worker);
void devicesetDeviceSettingsPutCallback (SWGHttpRequestWorker * worker); void devicesetDeviceSettingsPutCallback (SWGHttpRequestWorker * worker);
void devicesetDeviceSubsystemRunDeleteCallback (SWGHttpRequestWorker * worker);
void devicesetDeviceSubsystemRunGetCallback (SWGHttpRequestWorker * worker);
void devicesetDeviceSubsystemRunPostCallback (SWGHttpRequestWorker * worker);
void devicesetFocusPatchCallback (SWGHttpRequestWorker * worker); void devicesetFocusPatchCallback (SWGHttpRequestWorker * worker);
void devicesetGetCallback (SWGHttpRequestWorker * worker); void devicesetGetCallback (SWGHttpRequestWorker * worker);
void instanceDeviceSetDeleteCallback (SWGHttpRequestWorker * worker); void instanceDeviceSetDeleteCallback (SWGHttpRequestWorker * worker);
@ -99,6 +105,9 @@ signals:
void devicesetDeviceSettingsGetSignal(SWGDeviceSettings* summary); void devicesetDeviceSettingsGetSignal(SWGDeviceSettings* summary);
void devicesetDeviceSettingsPatchSignal(SWGDeviceSettings* summary); void devicesetDeviceSettingsPatchSignal(SWGDeviceSettings* summary);
void devicesetDeviceSettingsPutSignal(SWGDeviceSettings* summary); void devicesetDeviceSettingsPutSignal(SWGDeviceSettings* summary);
void devicesetDeviceSubsystemRunDeleteSignal(SWGDeviceState* summary);
void devicesetDeviceSubsystemRunGetSignal(SWGDeviceState* summary);
void devicesetDeviceSubsystemRunPostSignal(SWGDeviceState* summary);
void devicesetFocusPatchSignal(SWGSuccessResponse* summary); void devicesetFocusPatchSignal(SWGSuccessResponse* summary);
void devicesetGetSignal(SWGDeviceSet* summary); void devicesetGetSignal(SWGDeviceSet* summary);
void instanceDeviceSetDeleteSignal(SWGSuccessResponse* summary); void instanceDeviceSetDeleteSignal(SWGSuccessResponse* summary);
@ -119,6 +128,9 @@ signals:
void devicesetDeviceSettingsGetSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetDeviceSettingsGetSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSettingsPatchSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetDeviceSettingsPatchSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSettingsPutSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetDeviceSettingsPutSignalE(SWGDeviceSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSubsystemRunDeleteSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSubsystemRunGetSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSubsystemRunPostSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetFocusPatchSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetFocusPatchSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetGetSignalE(SWGDeviceSet* summary, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetGetSignalE(SWGDeviceSet* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceDeviceSetDeleteSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str); void instanceDeviceSetDeleteSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
@ -139,6 +151,9 @@ signals:
void devicesetDeviceSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetDeviceSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetDeviceSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetDeviceSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSubsystemRunDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSubsystemRunGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetDeviceSubsystemRunPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetFocusPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetFocusPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void devicesetGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); void devicesetGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceDeviceSetDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str); void instanceDeviceSetDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);