mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-30 20:40:20 -04:00 
			
		
		
		
	REST API: updates for MIMO (4)
This commit is contained in:
		
							parent
							
								
									6855602a7f
								
							
						
					
					
						commit
						d11f56adb9
					
				| @ -531,31 +531,48 @@ 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()); |     { | ||||||
|     return 200; |         m_deviceAPI->getDeviceEngineStateStr(*response.getState()); // Rx only
 | ||||||
|  |         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()); |  | ||||||
|     MsgStartStop *message = MsgStartStop::create(run); |  | ||||||
|     m_inputMessageQueue.push(message); |  | ||||||
| 
 |  | ||||||
|     if (m_guiMessageQueue) // forward to GUI if any
 |  | ||||||
|     { |     { | ||||||
|         MsgStartStop *msgToGUI = MsgStartStop::create(run); |         m_deviceAPI->getDeviceEngineStateStr(*response.getState()); // Rx only
 | ||||||
|         m_guiMessageQueue->push(msgToGUI); |         MsgStartStop *message = MsgStartStop::create(run); | ||||||
|  |         m_inputMessageQueue.push(message); | ||||||
|  | 
 | ||||||
|  |         if (m_guiMessageQueue) // forward to GUI if any
 | ||||||
|  |         { | ||||||
|  |             MsgStartStop *msgToGUI = MsgStartStop::create(run); | ||||||
|  |             m_guiMessageQueue->push(msgToGUI); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         return 200; | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         errorMessage = QString("Subsystem index invalid: expect 0 (Rx) only"); | ||||||
|  |         return 404; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return 200; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int TestMI::webapiSettingsGet( | int TestMI::webapiSettingsGet( | ||||||
|  | |||||||
| @ -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); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -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) | ||||||
|  | |||||||
| @ -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; | ||||||
|  | |||||||
| @ -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: | ||||||
|  | |||||||
| @ -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$"); | ||||||
|  | |||||||
| @ -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; | ||||||
|  | |||||||
| @ -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; | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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, | ||||||
|  | |||||||
| @ -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, | ||||||
|  | |||||||
| @ -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 | ||||||
|         { |         { | ||||||
|  | |||||||
| @ -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, | ||||||
|  | |||||||
| @ -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: | ||||||
|  | |||||||
| @ -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; | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user