diff --git a/sdrbase/resources/webapi.qrc b/sdrbase/resources/webapi.qrc
index 2af764b7d..f8dbbfa78 100644
--- a/sdrbase/resources/webapi.qrc
+++ b/sdrbase/resources/webapi.qrc
@@ -15,6 +15,7 @@
webapi/doc/swagger/include/BladeRF2.yaml
webapi/doc/swagger/include/ChannelActions.yaml
webapi/doc/swagger/include/ChannelAnalyzer.yaml
+ webapi/doc/swagger/include/ChannelReport.yaml
webapi/doc/swagger/include/ChannelSettings.yaml
webapi/doc/swagger/include/ChirpChatDemod.yaml
webapi/doc/swagger/include/ChirpChatMod.yaml
@@ -27,6 +28,9 @@
webapi/doc/swagger/include/DeviceReports.yaml
webapi/doc/swagger/include/FCDPro.yaml
webapi/doc/swagger/include/FCDProPlus.yaml
+ webapi/doc/swagger/include/FeatureActions.yaml
+ webapi/doc/swagger/include/FeatureReport.yaml
+ webapi/doc/swagger/include/FeatureSettings.yaml
webapi/doc/swagger/include/FileSink.yaml
webapi/doc/swagger/include/FileSource.yaml
webapi/doc/swagger/include/FileInput.yaml
@@ -59,6 +63,7 @@
webapi/doc/swagger/include/SDRPlay.yaml
webapi/doc/swagger/include/SigMFFileInput.yaml
webapi/doc/swagger/include/SigMFFileSink.yaml
+ webapi/doc/swagger/include/SimplePTT.yaml
webapi/doc/swagger/include/SoapySDR.yaml
webapi/doc/swagger/include/SSBDemod.yaml
webapi/doc/swagger/include/SSBMod.yaml
diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html
index 5dc2a8822..0500fa7f2 100644
--- a/sdrbase/resources/webapi/doc/html2/index.html
+++ b/sdrbase/resources/webapi/doc/html2/index.html
@@ -2250,6 +2250,7 @@ margin-bottom: 20px;
"description" : "Summarized information about channel plugin"
};
defs.ChannelReport = {
+ "required" : [ "direction" ],
"discriminator" : "channelType",
"properties" : {
"channelType" : {
@@ -3650,6 +3651,120 @@ margin-bottom: 20px;
}
},
"description" : "FCDPro"
+};
+ defs.Feature = {
+ "required" : [ "id", "index", "title", "uid" ],
+ "properties" : {
+ "index" : {
+ "type" : "integer",
+ "description" : "Index in the list of features"
+ },
+ "id" : {
+ "type" : "string",
+ "description" : "Key to identify the type of feature"
+ },
+ "uid" : {
+ "type" : "integer",
+ "format" : "int64",
+ "description" : "Feature instance unique id"
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "Freeform title of the feature"
+ }
+ },
+ "description" : "Feature summarized information"
+};
+ defs.FeatureActions = {
+ "required" : [ "featureType" ],
+ "discriminator" : "featureType",
+ "properties" : {
+ "featureType" : {
+ "type" : "string",
+ "description" : "Feature type code"
+ },
+ "originatorFeatureSetIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature set index from where the message comes from."
+ },
+ "originatorFeatureIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature index from where the message comes from."
+ },
+ "SimplePTTActions" : {
+ "$ref" : "#/definitions/SimplePTTActions"
+ }
+ },
+ "description" : "Base feature actions. Only the feature actions corresponding to the feature specified in the featureType field is or should be present."
+};
+ defs.FeatureReport = {
+ "required" : [ "featureType" ],
+ "discriminator" : "featureType",
+ "properties" : {
+ "featureType" : {
+ "type" : "string",
+ "description" : "Feature type code"
+ },
+ "SimplePTTReport" : {
+ "$ref" : "#/definitions/SimplePTTReport"
+ }
+ },
+ "description" : "Base feature report. Only the feature report corresponding to the feature specified in the featureType field is or should be present."
+};
+ defs.FeatureSet = {
+ "required" : [ "featurecount" ],
+ "properties" : {
+ "featurecount" : {
+ "type" : "integer",
+ "description" : "Number of features in the set"
+ },
+ "features" : {
+ "type" : "array",
+ "description" : "Features list",
+ "items" : {
+ "$ref" : "#/definitions/Feature"
+ }
+ }
+ },
+ "description" : "Grouping of features"
+};
+ defs.FeatureSetList = {
+ "required" : [ "featuresetcount" ],
+ "properties" : {
+ "featuresetcount" : {
+ "type" : "integer",
+ "description" : "Number of feature sets opened in this instance"
+ },
+ "featureSets" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/FeatureSet"
+ }
+ }
+ },
+ "description" : "List of feature sets opened in this instance"
+};
+ defs.FeatureSettings = {
+ "required" : [ "featureType" ],
+ "discriminator" : "featureType",
+ "properties" : {
+ "featureType" : {
+ "type" : "string",
+ "description" : "Feature type code"
+ },
+ "originatorFeatureSetIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature set index from where the message comes from."
+ },
+ "originatorFeatureIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature index from where the message comes from."
+ },
+ "SimplePTTSettings" : {
+ "$ref" : "#/definitions/SimplePTTSettings"
+ }
+ },
+ "description" : "Base feature settings. Only the feature settings corresponding to the feature specified in the featureType field is or should be present."
};
defs.FileInputReport = {
"properties" : {
@@ -7458,6 +7573,67 @@ margin-bottom: 20px;
}
},
"description" : "SigMFFileSink"
+};
+ defs.SimplePTTActions = {
+ "properties" : {
+ "ptt" : {
+ "type" : "integer",
+ "description" : "PTT action\n * 0 - release\n * 1 - engage\n"
+ }
+ },
+ "description" : "Simple PTT actions"
+};
+ defs.SimplePTTReport = {
+ "properties" : {
+ "ptt" : {
+ "type" : "integer",
+ "description" : "PTT status\n * 0 - released\n * 1 - engaged\n"
+ }
+ },
+ "description" : "Simple PTT report"
+};
+ defs.SimplePTTSettings = {
+ "properties" : {
+ "title" : {
+ "type" : "string"
+ },
+ "rgbColor" : {
+ "type" : "integer"
+ },
+ "rxDeviceSetIndex" : {
+ "type" : "integer",
+ "description" : "index of the Rx device set to connect the Rx side to"
+ },
+ "txDeviceSetIndex" : {
+ "type" : "integer",
+ "description" : "index of the Tx device set to connect the Tx side to"
+ },
+ "rx2TxDelayMs" : {
+ "type" : "integer",
+ "description" : "Delay in milliseconds from Rx off to Tx on"
+ },
+ "tx2RxDelayMs" : {
+ "type" : "integer",
+ "description" : "Delay in milliseconds from Tx off to Rx on"
+ },
+ "useReverseAPI" : {
+ "type" : "integer",
+ "description" : "Synchronize with reverse API (1 for yes, 0 for no)"
+ },
+ "reverseAPIAddress" : {
+ "type" : "string"
+ },
+ "reverseAPIPort" : {
+ "type" : "integer"
+ },
+ "reverseAPIDeviceIndex" : {
+ "type" : "integer"
+ },
+ "reverseAPIChannelIndex" : {
+ "type" : "integer"
+ }
+ },
+ "description" : "Simple PTT settings"
};
defs.SoapySDRFrequencySetting = {
"properties" : {
@@ -9059,6 +9235,40 @@ margin-bottom: 20px;
instanceDeviceSetPost
+
+
+ featuresetFEatureSettingsPut
+
+
+ featuresetFeatureActionsPost
+
+
+ featuresetFeatureDelete
+
+
+ featuresetFeaturePost
+
+
+ featuresetFeatureReportGet
+
+
+ featuresetFeatureRunDelete
+
+
+ featuresetFeatureRunGet
+
+
+ featuresetFeatureRunPost
+
+
+ featuresetFeatureSettingsGet
+
+
+ featuresetFeatureSettingsPatch
+
+
+ featuresetGet
+
instanceAMBEDevicesDelete
@@ -9117,6 +9327,9 @@ margin-bottom: 20px;
instanceDevices
+
+ instanceFeatureSetsGet
+
instanceLimeRFEConfigGet
@@ -9756,7 +9969,7 @@ $(document).ready(function() {
- delete channel (server only)
+ delete a channel
/sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}
@@ -10109,7 +10322,7 @@ except ApiException as e:
- Status: 404 - Device or channel not found
+ Status: 404 - Device set or channel not found
-
@@ -10124,7 +10337,7 @@ except ApiException as e:
+
+
+
+
+
+
+
+
+
Responses
+ Status: 200 - On success return feature new settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureActionsPost
+
+
+
+
+
+ post an action or actions on a channel
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X POST "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureActions body = ; // FeatureActions | Action(s) to apply to the feature
+ try {
+ SuccessResponse result = apiInstance.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureActionsPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureActions body = ; // FeatureActions | Action(s) to apply to the feature
+ try {
+ SuccessResponse result = apiInstance.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureActionsPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+FeatureActions *body = ; // Action(s) to apply to the feature
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureActionsPostWith:featureSetIndex
+ featureIndex:featureIndex
+ body:body
+ completionHandler: ^(SuccessResponse output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+var body = ; // {FeatureActions} Action(s) to apply to the feature
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureActionsPostExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ var body = new FeatureActions(); // FeatureActions | Action(s) to apply to the feature
+
+ try
+ {
+ SuccessResponse result = apiInstance.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureActionsPost: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+$body = ; // FeatureActions | Action(s) to apply to the feature
+
+try {
+ $result = $api_instance->featuresetFeatureActionsPost($featureSetIndex, $featureIndex, $body);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureActionsPost: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+my $body = SWGSDRangel::Object::FeatureActions->new(); # FeatureActions | Action(s) to apply to the feature
+
+eval {
+ my $result = $api_instance->featuresetFeatureActionsPost(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex, body => $body);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureActionsPost: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+body = # FeatureActions | Action(s) to apply to the feature
+
+try:
+ api_response = api_instance.featureset_feature_actions_post(featureSetIndex, featureIndex, body)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureActionsPost: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+ Body parameters
+
+
+ | Name |
+ Description |
+
+ | body * |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ Responses
+ Status: 202 - Message to perform action was sent successfully
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureDelete
+
+
+
+
+
+ delete a feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X DELETE "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureDeleteWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(FeatureSettings output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureDelete(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureDeleteExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ FeatureSettings result = apiInstance.featuresetFeatureDelete(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureDelete: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureDelete($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureDelete: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureDelete(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureDelete: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_delete(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureDelete: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return deleted feature settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeaturePost
+
+
+
+
+
+ add a feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X POST "http://localhost/sdrangel/featureset/{featureSetIndex}/feature"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ FeatureSettings body = ; // FeatureSettings | Feature identification (no settings data)
+ try {
+ SuccessResponse result = apiInstance.featuresetFeaturePost(featureSetIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeaturePost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ FeatureSettings body = ; // FeatureSettings | Feature identification (no settings data)
+ try {
+ SuccessResponse result = apiInstance.featuresetFeaturePost(featureSetIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeaturePost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+FeatureSettings *body = ; // Feature identification (no settings data)
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeaturePostWith:featureSetIndex
+ body:body
+ completionHandler: ^(SuccessResponse output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var body = ; // {FeatureSettings} Feature identification (no settings data)
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeaturePost(featureSetIndex, body, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeaturePostExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var body = new FeatureSettings(); // FeatureSettings | Feature identification (no settings data)
+
+ try
+ {
+ SuccessResponse result = apiInstance.featuresetFeaturePost(featureSetIndex, body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeaturePost: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$body = ; // FeatureSettings | Feature identification (no settings data)
+
+try {
+ $result = $api_instance->featuresetFeaturePost($featureSetIndex, $body);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeaturePost: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $body = SWGSDRangel::Object::FeatureSettings->new(); # FeatureSettings | Feature identification (no settings data)
+
+eval {
+ my $result = $api_instance->featuresetFeaturePost(featureSetIndex => $featureSetIndex, body => $body);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeaturePost: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+body = # FeatureSettings | Feature identification (no settings data)
+
+try:
+ api_response = api_instance.featureset_feature_post(featureSetIndex, body)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeaturePost: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+ Body parameters
+
+
+ | Name |
+ Description |
+
+ | body * |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ Responses
+ Status: 202 - Message to add a feature was sent successfully
+
+
+
+
+
+ Status: 400 - Invalid feature set index
+
+
+
+
+
+ Status: 404 - Feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureReportGet
+
+
+
+
+
+ get a feature report
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureReport result = apiInstance.featuresetFeatureReportGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureReportGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureReport result = apiInstance.featuresetFeatureReportGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureReportGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureReportGetWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(FeatureReport output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureReportGet(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureReportGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+ try
+ {
+ FeatureReport result = apiInstance.featuresetFeatureReportGet(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureReportGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+try {
+ $result = $api_instance->featuresetFeatureReportGet($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureReportGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+
+eval {
+ my $result = $api_instance->featuresetFeatureReportGet(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureReportGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+
+try:
+ api_response = api_instance.featureset_feature_report_get(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureReportGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature report
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureRunDelete
+
+
+
+
+
+ stop feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X DELETE "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureRunDeleteWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(DeviceState output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureRunDelete(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureRunDeleteExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ DeviceState result = apiInstance.featuresetFeatureRunDelete(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureRunDelete: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureRunDelete($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureRunDelete: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureRunDelete(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureRunDelete: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_run_delete(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureRunDelete: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return state before change
+
+
+
+
+
+ Status: 400 - Invalid device set index
+
+
+
+
+
+ Status: 404 - Device not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureRunGet
+
+
+
+
+
+ get feature run status
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureRunGetWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(DeviceState output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureRunGet(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureRunGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ DeviceState result = apiInstance.featuresetFeatureRunGet(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureRunGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureRunGet($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureRunGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureRunGet(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureRunGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_run_get(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureRunGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return current feature run state
+
+
+
+
+
+ Status: 400 - Invalid feature set index
+
+
+
+
+
+ Status: 404 - Feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureRunPost
+
+
+
+
+
+ start feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X POST "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunPost(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunPost(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureRunPostWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(DeviceState output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureRunPost(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureRunPostExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ DeviceState result = apiInstance.featuresetFeatureRunPost(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureRunPost: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureRunPost($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureRunPost: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureRunPost(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureRunPost: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_run_post(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureRunPost: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return state before change
+
+
+
+
+
+ Status: 400 - Invalid feature set index
+
+
+
+
+
+ Status: 404 - Feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureSettingsGet
+
+
+
+
+
+ get a feature settings
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureSettingsGetWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(FeatureSettings output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureSettingsGet(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureSettingsGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+ try
+ {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsGet(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureSettingsGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+try {
+ $result = $api_instance->featuresetFeatureSettingsGet($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureSettingsGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+
+eval {
+ my $result = $api_instance->featuresetFeatureSettingsGet(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureSettingsGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+
+try:
+ api_response = api_instance.featureset_feature_settings_get(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureSettingsGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureSettingsPatch
+
+
+
+
+
+ apply settings differentially (no force)
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X PATCH "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureSettings body = ; // FeatureSettings | Feature settings to apply
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsPatch");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureSettings body = ; // FeatureSettings | Feature settings to apply
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsPatch");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+FeatureSettings *body = ; // Feature settings to apply
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureSettingsPatchWith:featureSetIndex
+ featureIndex:featureIndex
+ body:body
+ completionHandler: ^(FeatureSettings output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+var body = ; // {FeatureSettings} Feature settings to apply
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureSettingsPatchExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ var body = new FeatureSettings(); // FeatureSettings | Feature settings to apply
+
+ try
+ {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureSettingsPatch: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+$body = ; // FeatureSettings | Feature settings to apply
+
+try {
+ $result = $api_instance->featuresetFeatureSettingsPatch($featureSetIndex, $featureIndex, $body);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureSettingsPatch: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+my $body = SWGSDRangel::Object::FeatureSettings->new(); # FeatureSettings | Feature settings to apply
+
+eval {
+ my $result = $api_instance->featuresetFeatureSettingsPatch(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex, body => $body);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureSettingsPatch: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+body = # FeatureSettings | Feature settings to apply
+
+try:
+ api_response = api_instance.featureset_feature_settings_patch(featureSetIndex, featureIndex, body)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureSettingsPatch: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+ Body parameters
+
+
+ | Name |
+ Description |
+
+ | body * |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature new settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get feature set information
+
+
+ /sdrangel/featureset/{featureSetIndex}
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the device set list
+ try {
+ FeatureSet result = apiInstance.featuresetGet(featureSetIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the device set list
+ try {
+ FeatureSet result = apiInstance.featuresetGet(featureSetIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the device set list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetGetWith:featureSetIndex
+ completionHandler: ^(FeatureSet output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the device set list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetGet(featureSetIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the device set list
+
+ try
+ {
+ FeatureSet result = apiInstance.featuresetGet(featureSetIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the device set list
+
+try {
+ $result = $api_instance->featuresetGet($featureSetIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the device set list
+
+eval {
+ my $result = $api_instance->featuresetGet(featureSetIndex => $featureSetIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the device set list
+
+try:
+ api_response = api_instance.featureset_get(featureSetIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the device set list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return details on the feature set
+
+
+
+
+
+ Status: 404 - Invalid index
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
Instance
@@ -30620,6 +36369,341 @@ except ApiException as e:
+
+
+
+
instanceFeatureSetsGet
+
+
+
+
+
+ Get summary information about feature sets opened in the instance
+
+
+ /sdrangel/featuresets
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featuresets"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.InstanceApi;
+
+import java.io.File;
+import java.util.*;
+
+public class InstanceApiExample {
+
+ public static void main(String[] args) {
+
+ InstanceApi apiInstance = new InstanceApi();
+ try {
+ FeatureSetList result = apiInstance.instanceFeatureSetsGet();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling InstanceApi#instanceFeatureSetsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.InstanceApi;
+
+public class InstanceApiExample {
+
+ public static void main(String[] args) {
+ InstanceApi apiInstance = new InstanceApi();
+ try {
+ FeatureSetList result = apiInstance.instanceFeatureSetsGet();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling InstanceApi#instanceFeatureSetsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
+InstanceApi *apiInstance = [[InstanceApi alloc] init];
+
+[apiInstance instanceFeatureSetsGetWithCompletionHandler:
+ ^(FeatureSetList output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.InstanceApi()
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.instanceFeatureSetsGet(callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class instanceFeatureSetsGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new InstanceApi();
+
+ try
+ {
+ FeatureSetList result = apiInstance.instanceFeatureSetsGet();
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling InstanceApi.instanceFeatureSetsGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\InstanceApi();
+
+try {
+ $result = $api_instance->instanceFeatureSetsGet();
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling InstanceApi->instanceFeatureSetsGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::InstanceApi;
+
+my $api_instance = SWGSDRangel::InstanceApi->new();
+
+eval {
+ my $result = $api_instance->instanceFeatureSetsGet();
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling InstanceApi->instanceFeatureSetsGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.InstanceApi()
+
+try:
+ api_response = api_instance.instance_feature_sets_get()
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling InstanceApi->instanceFeatureSetsGet: %s\n" % e)
+
+
+
+ Parameters
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature set list
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
@@ -37668,7 +43752,7 @@ except ApiException as e:
- Generated 2020-09-15T13:30:17.634+02:00
+ Generated 2020-09-21T03:05:59.930+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml b/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml
new file mode 100644
index 000000000..436d40f38
--- /dev/null
+++ b/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml
@@ -0,0 +1,57 @@
+ChannelReport:
+ description: Base channel report. Only the channel report corresponding to the channel specified in the channelType field is or should be present.
+ discriminator: channelType
+ required:
+ - deviceHwType
+ - direction
+ properties:
+ channelType:
+ description: Channel type code
+ type: string
+ direction:
+ description: 0 for Rx only, 1 for Tx only or 2 for any number and direction (default 0)
+ type: integer
+ AMDemodReport:
+ $ref: "/doc/swagger/include/AMDemod.yaml#/AMDemodReport"
+ AMModReport:
+ $ref: "/doc/swagger/include/AMMod.yaml#/AMModReport"
+ ATVModReport:
+ $ref: "/doc/swagger/include/ATVMod.yaml#/ATVModReport"
+ BFMDemodReport:
+ $ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodReport"
+ ChirpChatDemodReport:
+ $ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
+ ChirpChatModReport:
+ $ref: "/doc/swagger/include/ChirpChatMod.yaml#/ChirpChatModReport"
+ DSDDemodReport:
+ $ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodReport"
+ FileSinkReport:
+ $ref: "/doc/swagger/include/FileSink.yaml#/FileSinkReport"
+ FileSourceReport:
+ $ref: "/doc/swagger/include/FileSource.yaml#/FileSourceReport"
+ FreeDVDemodReport:
+ $ref: "/doc/swagger/include/FreeDVDemod.yaml#/FreeDVDemodReport"
+ FreeDVModReport:
+ $ref: "/doc/swagger/include/FreeDVMod.yaml#/FreeDVModReport"
+ FreqTrackerReport:
+ $ref: "/doc/swagger/include/FreqTracker.yaml#/FreqTrackerReport"
+ NFMDemodReport:
+ $ref: "/doc/swagger/include/NFMDemod.yaml#/NFMDemodReport"
+ NFMModReport:
+ $ref: "/doc/swagger/include/NFMMod.yaml#/NFMModReport"
+ SSBDemodReport:
+ $ref: "/doc/swagger/include/SSBDemod.yaml#/SSBDemodReport"
+ RemoteSourceReport:
+ $ref: "/doc/swagger/include/RemoteSource.yaml#/RemoteSourceReport"
+ SigMFFileSinkReport:
+ $ref: "/doc/swagger/include/SigMFFileSink.yaml#/SigMFFileSinkReport"
+ SSBModReport:
+ $ref: "/doc/swagger/include/SSBMod.yaml#/SSBModReport"
+ UDPSourceReport:
+ $ref: "/doc/swagger/include/UDPSource.yaml#/UDPSourceReport"
+ UDPSinkReport:
+ $ref: "/doc/swagger/include/UDPSink.yaml#/UDPSinkReport"
+ WFMDemodReport:
+ $ref: "/doc/swagger/include/WFMDemod.yaml#/WFMDemodReport"
+ WFMModReport:
+ $ref: "/doc/swagger/include/WFMMod.yaml#/WFMModReport"
diff --git a/sdrbase/resources/webapi/doc/swagger/include/FeatureActions.yaml b/sdrbase/resources/webapi/doc/swagger/include/FeatureActions.yaml
new file mode 100644
index 000000000..dbdea0da6
--- /dev/null
+++ b/sdrbase/resources/webapi/doc/swagger/include/FeatureActions.yaml
@@ -0,0 +1,17 @@
+FeatureActions:
+ description: Base feature actions. Only the feature actions corresponding to the feature specified in the featureType field is or should be present.
+ discriminator: featureType
+ required:
+ - featureType
+ properties:
+ featureType:
+ description: Feature type code
+ type: string
+ originatorFeatureSetIndex:
+ description: Optional for reverse API. This is the feature set index from where the message comes from.
+ type: integer
+ originatorFeatureIndex:
+ description: Optional for reverse API. This is the feature index from where the message comes from.
+ type: integer
+ SimplePTTActions:
+ $ref: "/doc/swagger/include/SimplePTT.yaml#/SimplePTTActions"
diff --git a/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml b/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml
new file mode 100644
index 000000000..52ad07b14
--- /dev/null
+++ b/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml
@@ -0,0 +1,11 @@
+FeatureReport:
+ description: Base feature report. Only the feature report corresponding to the feature specified in the featureType field is or should be present.
+ discriminator: featureType
+ required:
+ - featureType
+ properties:
+ featureType:
+ description: Feature type code
+ type: string
+ SimplePTTReport:
+ $ref: "/doc/swagger/include/SimplePTT.yaml#/SimplePTTReport"
diff --git a/sdrbase/resources/webapi/doc/swagger/include/FeatureSettings.yaml b/sdrbase/resources/webapi/doc/swagger/include/FeatureSettings.yaml
new file mode 100644
index 000000000..743e82b1a
--- /dev/null
+++ b/sdrbase/resources/webapi/doc/swagger/include/FeatureSettings.yaml
@@ -0,0 +1,17 @@
+FeatureSettings:
+ description: Base feature settings. Only the feature settings corresponding to the feature specified in the featureType field is or should be present.
+ discriminator: featureType
+ required:
+ - featureType
+ properties:
+ featureType:
+ description: Feature type code
+ type: string
+ originatorFeatureSetIndex:
+ description: Optional for reverse API. This is the feature set index from where the message comes from.
+ type: integer
+ originatorFeatureIndex:
+ description: Optional for reverse API. This is the feature index from where the message comes from.
+ type: integer
+ SimplePTTSettings:
+ $ref: "/doc/swagger/include/SimplePTT.yaml#/SimplePTTSettings"
diff --git a/sdrbase/resources/webapi/doc/swagger/include/SimplePTT.yaml b/sdrbase/resources/webapi/doc/swagger/include/SimplePTT.yaml
new file mode 100644
index 000000000..f8b520ffb
--- /dev/null
+++ b/sdrbase/resources/webapi/doc/swagger/include/SimplePTT.yaml
@@ -0,0 +1,50 @@
+SimplePTTSettings:
+ description: "Simple PTT settings"
+ properties:
+ title:
+ type: string
+ rgbColor:
+ type: integer
+ rxDeviceSetIndex:
+ description: index of the Rx device set to connect the Rx side to
+ type: integer
+ txDeviceSetIndex:
+ description: index of the Tx device set to connect the Tx side to
+ type: integer
+ rx2TxDelayMs:
+ description: Delay in milliseconds from Rx off to Tx on
+ type: integer
+ tx2RxDelayMs:
+ description: Delay in milliseconds from Tx off to Rx on
+ type: integer
+ useReverseAPI:
+ description: Synchronize with reverse API (1 for yes, 0 for no)
+ type: integer
+ reverseAPIAddress:
+ type: string
+ reverseAPIPort:
+ type: integer
+ reverseAPIDeviceIndex:
+ type: integer
+ reverseAPIChannelIndex:
+ type: integer
+
+SimplePTTReport:
+ description: "Simple PTT report"
+ properties:
+ ptt:
+ type: integer
+ description: >
+ PTT status
+ * 0 - released
+ * 1 - engaged
+
+SimplePTTActions:
+ description: "Simple PTT actions"
+ properties:
+ ptt:
+ type: integer
+ description: >
+ PTT action
+ * 0 - release
+ * 1 - engage
diff --git a/sdrbase/resources/webapi/doc/swagger/swagger.yaml b/sdrbase/resources/webapi/doc/swagger/swagger.yaml
index 657841b3d..3865cabcd 100644
--- a/sdrbase/resources/webapi/doc/swagger/swagger.yaml
+++ b/sdrbase/resources/webapi/doc/swagger/swagger.yaml
@@ -883,6 +883,23 @@ paths:
"501":
$ref: "#/responses/Response_501"
+ /sdrangel/featuresets:
+ x-swagger-router-controller: instance
+ get:
+ description: Get summary information about feature sets opened in the instance
+ operationId: instanceFeatureSetsGet
+ tags:
+ - Instance
+ responses:
+ "200":
+ description: On success return feature set list
+ schema:
+ $ref: "#/definitions/FeatureSetList"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
/sdrangel/deviceset:
x-swagger-router-controller: instance
post:
@@ -1629,8 +1646,9 @@ paths:
$ref: "#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}:
+ x-swagger-router-controller: deviceset
delete:
- description: delete channel (server only)
+ description: delete a channel
operationId: devicesetChannelDelete
tags:
- DeviceSet
@@ -1655,7 +1673,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
- description: Device or channel not found
+ description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@@ -1691,7 +1709,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
- description: Device or channel not found
+ description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@@ -1730,7 +1748,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
- description: Device or channel not found
+ description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@@ -1769,7 +1787,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
- description: Device or channel not found
+ description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@@ -1799,13 +1817,13 @@ paths:
"200":
description: On success return channel report
schema:
- $ref: "#/definitions/ChannelReport"
+ $ref: "/doc/swagger/include/ChannelReport.yaml#/ChannelReport"
"400":
description: Invalid device set or channel index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
- description: Device or channel not found
+ description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@@ -1855,6 +1873,400 @@ paths:
"501":
$ref: "#/responses/Response_501"
+ /sdrangel/featureset/{featureSetIndex}:
+ x-swagger-router-controller: featureset
+ get:
+ description: Get feature set information
+ operationId: featuresetGet
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the device set list
+ responses:
+ "200":
+ description: On success return details on the feature set
+ schema:
+ $ref: "#/definitions/FeatureSet"
+ "404":
+ description: Invalid index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
+ /sdrangel/featureset/{featureSetIndex}/feature:
+ x-swagger-router-controller: featureset
+ post:
+ description: add a feature
+ operationId: featuresetFeaturePost
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - name: body
+ in: body
+ description: Feature identification (no settings data)
+ required: true
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ responses:
+ "202":
+ description: Message to add a feature was sent successfully
+ schema:
+ $ref: "#/definitions/SuccessResponse"
+ "400":
+ description: Invalid feature set index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}:
+ x-swagger-router-controller: featureset
+ delete:
+ description: delete a feature
+ operationId: featuresetFeatureDelete
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of feature in the features list
+ responses:
+ "200":
+ description: On success return deleted feature settings
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ "400":
+ description: Invalid feature set or feature index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature set or feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run:
+ x-swagger-router-controller: featureset
+ get:
+ description: get feature run status
+ operationId: featuresetFeatureRunGet
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of feature in the features list
+ responses:
+ "200":
+ description: On success return current feature run state
+ schema:
+ $ref: "#/definitions/DeviceState"
+ "400":
+ description: Invalid feature set index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+ post:
+ description: start feature
+ operationId: featuresetFeatureRunPost
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of feature in the features list
+ responses:
+ "200":
+ description: On success return state before change
+ schema:
+ $ref: "#/definitions/DeviceState"
+ "400":
+ description: Invalid feature set index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+ delete:
+ description: stop feature
+ operationId: featuresetFeatureRunDelete
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of feature in the features list
+ 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 not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings:
+ x-swagger-router-controller: featureset
+ get:
+ description: get a feature settings
+ operationId: featuresetFeatureSettingsGet
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of the feature in the features list for this feature set
+ responses:
+ "200":
+ description: On success return feature settings
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ "400":
+ description: Invalid feature set or feature index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature set or feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+ put:
+ description: apply all settings unconditionally (force)
+ operationId: featuresetFEatureSettingsPut
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of the feature in the features list for this feature set
+ - name: body
+ in: body
+ description: Feature settings to apply
+ required: true
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ responses:
+ "200":
+ description: On success return feature new settings
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ "400":
+ description: Invalid feature set or feature index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature set or feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+ patch:
+ description: apply settings differentially (no force)
+ operationId: featuresetFeatureSettingsPatch
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of the feature in the features list for this feature set
+ - name: body
+ in: body
+ description: Feature settings to apply
+ required: true
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ responses:
+ "200":
+ description: On success return feature new settings
+ schema:
+ $ref: "/doc/swagger/include/FeatureSettings.yaml#/FeatureSettings"
+ "400":
+ description: Invalid feature set or feature index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature set or feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report:
+ x-swagger-router-controller: featureset
+ get:
+ description: get a feature report
+ operationId: featuresetFeatureReportGet
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of the feature in the features list for this feature set
+ responses:
+ "200":
+ description: On success return feature report
+ schema:
+ $ref: "/doc/swagger/include/FeatureReport.yaml#/FeatureReport"
+ "400":
+ description: Invalid feature set or feature index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature set or feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions:
+ x-swagger-router-controller: featureset
+ post:
+ description: post an action or actions on a channel
+ operationId: featuresetFeatureActionsPost
+ tags:
+ - FeatureSet
+ parameters:
+ - in: path
+ name: featureSetIndex
+ type: integer
+ required: true
+ description: Index of feature set in the feature set list
+ - in: path
+ name: featureIndex
+ type: integer
+ required: true
+ description: Index of the feature in the features list for this feature set
+ - name: body
+ in: body
+ description: Action(s) to apply to the feature
+ required: true
+ schema:
+ $ref: "/doc/swagger/include/FeatureActions.yaml#/FeatureActions"
+ responses:
+ "202":
+ description: Message to perform action was sent successfully
+ schema:
+ $ref: "#/definitions/SuccessResponse"
+ "400":
+ description: Invalid feature set or feature index
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "404":
+ description: Feature set or feature not found
+ schema:
+ $ref: "#/definitions/ErrorResponse"
+ "500":
+ $ref: "#/responses/Response_500"
+ "501":
+ $ref: "#/responses/Response_501"
+
/swagger:
x-swagger-pipe: swagger_raw
@@ -2063,6 +2475,53 @@ definitions:
items:
$ref: "#/definitions/DeviceSet"
+ Feature:
+ description: "Feature summarized information"
+ required:
+ - index
+ - id
+ - uid
+ - title
+ properties:
+ index:
+ description: "Index in the list of features"
+ type: integer
+ id:
+ description: "Key to identify the type of feature"
+ type: string
+ uid:
+ description: "Feature instance unique id"
+ type: integer
+ format: int64
+ title:
+ description: "Freeform title of the feature"
+ type: string
+ FeatureSet:
+ description: "Grouping of features"
+ required:
+ - featurecount
+ properties:
+ featurecount:
+ description: "Number of features in the set"
+ type: integer
+ features:
+ description: "Features list"
+ type: array
+ items:
+ $ref: "#/definitions/Feature"
+ FeatureSetList:
+ description: "List of feature sets opened in this instance"
+ required:
+ - featuresetcount
+ properties:
+ featuresetcount:
+ description: "Number of feature sets opened in this instance"
+ type: integer
+ featureSets:
+ type: array
+ items:
+ $ref: "#/definitions/FeatureSet"
+
SpectrumServer:
description: "Spectrum server state"
properties:
@@ -2169,7 +2628,7 @@ definitions:
description: "Channel shift frequency in Hz from the center of baseband"
type: integer
report:
- $ref: "#/definitions/ChannelReport"
+ $ref: "/doc/swagger/include/ChannelReport.yaml#/ChannelReport"
ChannelsDetail:
description: "All channels detailed information"
@@ -2459,61 +2918,6 @@ definitions:
preset:
$ref: "#/definitions/PresetIdentifier"
- ChannelReport:
- description: Base channel report. Only the channel report corresponding to the channel specified in the channelType field is or should be present.
- discriminator: channelType
- properties:
- channelType:
- description: Channel type code
- type: string
- direction:
- description: 0 for Rx only, 1 for Tx only or 2 for any number and direction (default 0)
- type: integer
- AMDemodReport:
- $ref: "/doc/swagger/include/AMDemod.yaml#/AMDemodReport"
- AMModReport:
- $ref: "/doc/swagger/include/AMMod.yaml#/AMModReport"
- ATVModReport:
- $ref: "/doc/swagger/include/ATVMod.yaml#/ATVModReport"
- BFMDemodReport:
- $ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodReport"
- ChirpChatDemodReport:
- $ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
- ChirpChatModReport:
- $ref: "/doc/swagger/include/ChirpChatMod.yaml#/ChirpChatModReport"
- DSDDemodReport:
- $ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodReport"
- FileSinkReport:
- $ref: "/doc/swagger/include/FileSink.yaml#/FileSinkReport"
- FileSourceReport:
- $ref: "/doc/swagger/include/FileSource.yaml#/FileSourceReport"
- FreeDVDemodReport:
- $ref: "/doc/swagger/include/FreeDVDemod.yaml#/FreeDVDemodReport"
- FreeDVModReport:
- $ref: "/doc/swagger/include/FreeDVMod.yaml#/FreeDVModReport"
- FreqTrackerReport:
- $ref: "/doc/swagger/include/FreqTracker.yaml#/FreqTrackerReport"
- NFMDemodReport:
- $ref: "/doc/swagger/include/NFMDemod.yaml#/NFMDemodReport"
- NFMModReport:
- $ref: "/doc/swagger/include/NFMMod.yaml#/NFMModReport"
- SSBDemodReport:
- $ref: "/doc/swagger/include/SSBDemod.yaml#/SSBDemodReport"
- RemoteSourceReport:
- $ref: "/doc/swagger/include/RemoteSource.yaml#/RemoteSourceReport"
- SigMFFileSinkReport:
- $ref: "/doc/swagger/include/SigMFFileSink.yaml#/SigMFFileSinkReport"
- SSBModReport:
- $ref: "/doc/swagger/include/SSBMod.yaml#/SSBModReport"
- UDPSourceReport:
- $ref: "/doc/swagger/include/UDPSource.yaml#/UDPSourceReport"
- UDPSinkReport:
- $ref: "/doc/swagger/include/UDPSink.yaml#/UDPSinkReport"
- WFMDemodReport:
- $ref: "/doc/swagger/include/WFMDemod.yaml#/WFMDemodReport"
- WFMModReport:
- $ref: "/doc/swagger/include/WFMMod.yaml#/WFMModReport"
-
responses:
Response_500:
diff --git a/sdrbase/webapi/webapiadapterinterface.cpp b/sdrbase/webapi/webapiadapterinterface.cpp
index 213092712..22d10d48b 100644
--- a/sdrbase/webapi/webapiadapterinterface.cpp
+++ b/sdrbase/webapi/webapiadapterinterface.cpp
@@ -41,6 +41,7 @@ QString WebAPIAdapterInterface::instancePresetURL = "/sdrangel/preset";
QString WebAPIAdapterInterface::instancePresetFileURL = "/sdrangel/preset/file";
QString WebAPIAdapterInterface::instanceDeviceSetsURL = "/sdrangel/devicesets";
QString WebAPIAdapterInterface::instanceDeviceSetURL = "/sdrangel/deviceset";
+QString WebAPIAdapterInterface::instanceFeatureSetsURL = "/sdrangel/featuresets";
std::regex WebAPIAdapterInterface::devicesetURLRe("^/sdrangel/deviceset/([0-9]{1,2})$");
std::regex WebAPIAdapterInterface::devicesetFocusURLRe("^/sdrangel/deviceset/([0-9]{1,2})/focus$");
@@ -59,6 +60,14 @@ std::regex WebAPIAdapterInterface::devicesetChannelSettingsURLRe("^/sdrangel/dev
std::regex WebAPIAdapterInterface::devicesetChannelReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/report");
std::regex WebAPIAdapterInterface::devicesetChannelActionsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/actions");
+std::regex WebAPIAdapterInterface::featuresetURLRe("^/sdrangel/featureset/([0-9]{1,2})$");
+std::regex WebAPIAdapterInterface::featuresetFeatureURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature$");
+std::regex WebAPIAdapterInterface::featuresetFeatureIndexURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})$");
+std::regex WebAPIAdapterInterface::featuresetFeatureRunURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/run$");
+std::regex WebAPIAdapterInterface::featuresetFeatureSettingsURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/settings$");
+std::regex WebAPIAdapterInterface::featuresetFeatureReportURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/report");
+std::regex WebAPIAdapterInterface::featuresetFeatureActionsURLRe("^/sdrangel/featureset/([0-9]{1,2})/feature/([0-9]{1,2})/actions");
+
void WebAPIAdapterInterface::ConfigKeys::debug() const
{
qDebug("WebAPIAdapterInterface::ConfigKeys::debug");
@@ -140,4 +149,4 @@ void WebAPIAdapterInterface::ConfigKeys::debug() const
}
qDebug(" }");
}
-}
\ No newline at end of file
+}
diff --git a/sdrbase/webapi/webapiadapterinterface.h b/sdrbase/webapi/webapiadapterinterface.h
index 0d2e85b11..8e455b43c 100644
--- a/sdrbase/webapi/webapiadapterinterface.h
+++ b/sdrbase/webapi/webapiadapterinterface.h
@@ -64,6 +64,11 @@ namespace SWGSDRangel
class SWGSuccessResponse;
class SWGGLSpectrum;
class SWGSpectrumServer;
+ class SWGFeatureSetList;
+ class SWGFeatureSet;
+ class SWGFeatureSettings;
+ class SWGFeatureReport;
+ class SWGFeatureActions;
}
class SDRBASE_API WebAPIAdapterInterface
@@ -630,6 +635,20 @@ public:
return 501;
}
+ /**
+ * Handler of /sdrangel/featuresets (GET)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int instanceFeatureSetsGet(
+ SWGSDRangel::SWGFeatureSetList& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
/**
* Handler of /sdrangel/deviceset (POST) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
* returns the Http status code (default 501: not implemented)
@@ -1062,7 +1081,6 @@ public:
return 501;
}
-
/**
* Handler of /sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}/settings (GET) swagger/sdrangel/code/html2/index.html#api-Default-instanceChannels
* returns the Http status code (default 501: not implemented)
@@ -1103,6 +1121,196 @@ public:
return 501;
}
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex} (GET)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetGet(
+ int deviceSetIndex,
+ SWGSDRangel::SWGFeatureSet& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) deviceSetIndex;
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature (POST)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeaturePost(
+ int featureSetIndex,
+ SWGSDRangel::SWGFeatureSettings& query,
+ SWGSDRangel::SWGSuccessResponse& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) query;
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/run (GET)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureDelete(
+ int featureSetIndex,
+ int featureIndex,
+ SWGSDRangel::SWGSuccessResponse& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) response;
+ (void) error;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/run (GET)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureRunGet(
+ int featureSetIndex,
+ int featureIndex,
+ SWGSDRangel::SWGDeviceState& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) response;
+ (void) error;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/run (POST)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureRunPost(
+ int featureSetIndex,
+ int featureIndex,
+ SWGSDRangel::SWGDeviceState& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) response;
+ (void) error;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/run (DELETE)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureRunDelete(
+ int featureSetIndex,
+ int featureIndex,
+ SWGSDRangel::SWGDeviceState& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) response;
+ (void) error;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/settings (GET)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureSettingsGet(
+ int featureSetIndex,
+ int featureIndex,
+ SWGSDRangel::SWGFeatureSettings& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/settings (PUT, PATCH)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureSettingsPutPatch(
+ int featureSetIndex,
+ int featureIndex,
+ bool force,
+ const QStringList& featureSettingsKeys,
+ SWGSDRangel::SWGFeatureSettings& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) force;
+ (void) featureSettingsKeys;
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/report (GET)
+ * returns the Http status code (default 501: not implemented)
+ */
+ virtual int featuresetFeatureReportGet(
+ int featureSetIndex,
+ int featureIndex,
+ SWGSDRangel::SWGFeatureReport& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
+ /**
+ * Handler of /sdrangel/featureset/{featuresetIndex}/feature/{featureIndex}/actions (POST)
+ * posts an action on the channel (default 501: not implemented)
+ */
+ virtual int featuresetFeatureActionsPost(
+ int featureSetIndex,
+ int featureIndex,
+ const QStringList& featureActionsKeys,
+ SWGSDRangel::SWGFeatureActions& query,
+ SWGSDRangel::SWGSuccessResponse& response,
+ SWGSDRangel::SWGErrorResponse& error)
+ {
+ (void) featureSetIndex;
+ (void) featureIndex;
+ (void) featureActionsKeys;
+ (void) query;
+ (void) response;
+ error.init();
+ *error.getMessage() = QString("Function not implemented");
+ return 501;
+ }
+
static QString instanceSummaryURL;
static QString instanceConfigURL;
static QString instanceDevicesURL;
@@ -1125,6 +1333,7 @@ public:
static QString instancePresetFileURL;
static QString instanceDeviceSetsURL;
static QString instanceDeviceSetURL;
+ static QString instanceFeatureSetsURL;
static std::regex devicesetURLRe;
static std::regex devicesetFocusURLRe;
static std::regex devicesetSpectrumSettingsURLRe;
@@ -1141,6 +1350,13 @@ public:
static std::regex devicesetChannelReportURLRe;
static std::regex devicesetChannelActionsURLRe;
static std::regex devicesetChannelsReportURLRe;
+ static std::regex featuresetURLRe;
+ static std::regex featuresetFeatureURLRe;
+ static std::regex featuresetFeatureIndexURLRe;
+ static std::regex featuresetFeatureRunURLRe;
+ static std::regex featuresetFeatureSettingsURLRe;
+ static std::regex featuresetFeatureReportURLRe;
+ static std::regex featuresetFeatureActionsURLRe;
};
diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp
index 05414d7ed..87716caab 100644
--- a/sdrbase/webapi/webapirequestmapper.cpp
+++ b/sdrbase/webapi/webapirequestmapper.cpp
@@ -53,6 +53,10 @@
#include "SWGErrorResponse.h"
#include "SWGGLSpectrum.h"
#include "SWGSpectrumServer.h"
+#include "SWGFeatureSetList.h"
+#include "SWGFeatureSettings.h"
+#include "SWGFeatureReport.h"
+#include "SWGFeatureActions.h"
const QMap WebAPIRequestMapper::m_channelURIToSettingsKey = {
{"sdrangel.channel.amdemod", "AMDemodSettings"},
@@ -237,14 +241,22 @@ const QMap WebAPIRequestMapper::m_sinkDeviceHwIdToSettingsKey
const QMap WebAPIRequestMapper::m_sinkDeviceHwIdToActionsKey = {
};
-const QMap WebAPIRequestMapper::m_mimoDeviceHwIdToSettingsKey= {
+const QMap WebAPIRequestMapper::m_mimoDeviceHwIdToSettingsKey = {
{"BladeRF2", "bladeRF2MIMOSettings"},
{"MetisMISO", "metisMISOSettings"},
{"TestMI", "testMISettings"},
{"TestMOSync", "testMOSyncSettings"}
};
-const QMap WebAPIRequestMapper::m_mimoDeviceHwIdToActionsKey= {
+const QMap WebAPIRequestMapper::m_mimoDeviceHwIdToActionsKey = {
+};
+
+const QMap WebAPIRequestMapper::m_featureTypeToSettingsKey = {
+ {"SimplePTT", "SimplePTTSettings"}
+};
+
+const QMap WebAPIRequestMapper::m_featureTypeToActionsKey = {
+ {"SimplePTT", "SimplePTTActions"}
};
WebAPIRequestMapper::WebAPIRequestMapper(QObject* parent) :
@@ -339,6 +351,8 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
instanceDeviceSetsService(request, response);
} else if (path == WebAPIAdapterInterface::instanceDeviceSetURL) {
instanceDeviceSetService(request, response);
+ } else if (path == WebAPIAdapterInterface::instanceFeatureSetsURL) {
+ instanceFeatureSetsService(request, response);
}
else
{
@@ -377,6 +391,20 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
devicesetChannelReportService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelActionsURLRe)) {
devicesetChannelActionsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetURLRe)) {
+ featuresetService(std::string(desc_match[1]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureURLRe)) {
+ featuresetFeatureService(std::string(desc_match[1]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureIndexURLRe)) {
+ featuresetFeatureIndexService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureRunURLRe)) {
+ featuresetFeatureRunService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureSettingsURLRe)) {
+ featuresetFeatureSettingsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureReportURLRe)) {
+ featuresetFeatureReportService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
+ } else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::featuresetFeatureActionsURLRe)) {
+ featuresetFeatureActionsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
}
else // serve static documentation pages
{
@@ -1585,6 +1613,33 @@ void WebAPIRequestMapper::instanceDeviceSetService(qtwebapp::HttpRequest& reques
}
}
+void WebAPIRequestMapper::instanceFeatureSetsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ if (request.getMethod() == "GET")
+ {
+ SWGSDRangel::SWGFeatureSetList normalResponse;
+ int status = m_adapter->instanceFeatureSetsGet(normalResponse, errorResponse);
+ response.setStatus(status);
+
+ if (status/100 == 2) {
+ response.write(normalResponse.asJson().toUtf8());
+ } else {
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(405,"Invalid HTTP method");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid HTTP method";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
void WebAPIRequestMapper::devicesetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
{
SWGSDRangel::SWGErrorResponse errorResponse;
@@ -2573,6 +2628,443 @@ void WebAPIRequestMapper::devicesetChannelActionsService(
}
}
+void WebAPIRequestMapper::featuresetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ if (request.getMethod() == "GET")
+ {
+ try
+ {
+ SWGSDRangel::SWGFeatureSet normalResponse;
+ int deviceSetIndex = boost::lexical_cast(indexStr);
+ int status = m_adapter->featuresetGet(deviceSetIndex, normalResponse, errorResponse);
+ response.setStatus(status);
+
+ if (status/100 == 2) {
+ response.write(normalResponse.asJson().toUtf8());
+ } else {
+ 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());
+ }
+ }
+ else
+ {
+ response.setStatus(405,"Invalid HTTP method");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid HTTP method";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
+void WebAPIRequestMapper::featuresetFeatureService(
+ const std::string& featureSetIndexStr,
+ qtwebapp::HttpRequest& request,
+ qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ try
+ {
+ int featureSetIndex = boost::lexical_cast(featureSetIndexStr);
+
+ if (request.getMethod() == "POST")
+ {
+ QString jsonStr = request.getBody();
+ QJsonObject jsonObject;
+
+ if (parseJsonBody(jsonStr, jsonObject, response))
+ {
+ SWGSDRangel::SWGFeatureSettings query;
+ SWGSDRangel::SWGSuccessResponse normalResponse;
+ resetFeatureSettings(query);
+
+ if (jsonObject.contains("featureType") && jsonObject["featureType"].isString())
+ {
+ query.setFeatureType(new QString(jsonObject["featureType"].toString()));
+
+ int status = m_adapter->featuresetFeaturePost(featureSetIndex, query, normalResponse, errorResponse);
+
+ response.setStatus(status);
+
+ if (status/100 == 2) {
+ response.write(normalResponse.asJson().toUtf8());
+ } else {
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(400,"Invalid JSON request");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid JSON request";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(400,"Invalid JSON format");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid JSON format";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ 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 index";
+ response.setStatus(400,"Invalid data");
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
+void WebAPIRequestMapper::featuresetFeatureIndexService(
+ const std::string& featureSetIndexStr,
+ const std::string& featureIndexStr,
+ qtwebapp::HttpRequest& request,
+ qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ try
+ {
+ int featureSetIndex = boost::lexical_cast(featureSetIndexStr);
+ int featureIndex = boost::lexical_cast(featureIndexStr);
+
+ if (request.getMethod() == "DELETE")
+ {
+ SWGSDRangel::SWGSuccessResponse normalResponse;
+ int status = m_adapter->featuresetFeatureDelete(featureSetIndex, featureIndex, 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 index";
+ response.setStatus(400,"Invalid data");
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
+void WebAPIRequestMapper::featuresetFeatureRunService(
+ const std::string& featureSetIndexStr,
+ const std::string& featureIndexStr,
+ qtwebapp::HttpRequest& request,
+ qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ try
+ {
+ int featureSetIndex = boost::lexical_cast(featureSetIndexStr);
+ int featureIndex = boost::lexical_cast(featureIndexStr);
+
+ if (request.getMethod() == "GET")
+ {
+ SWGSDRangel::SWGDeviceState normalResponse;
+ int status = m_adapter->featuresetFeatureRunGet(featureSetIndex, featureIndex, 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->featuresetFeatureRunPost(featureSetIndex, featureIndex, 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->featuresetFeatureRunDelete(featureSetIndex, featureIndex, 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 index";
+ response.setStatus(400,"Invalid data");
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
+void WebAPIRequestMapper::featuresetFeatureSettingsService(
+ const std::string& featureSetIndexStr,
+ const std::string& featureIndexStr,
+ qtwebapp::HttpRequest& request,
+ qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ try
+ {
+ int featureSetIndex = boost::lexical_cast(featureSetIndexStr);
+ int featureIndex = boost::lexical_cast(featureIndexStr);
+
+ if (request.getMethod() == "GET")
+ {
+ SWGSDRangel::SWGFeatureSettings normalResponse;
+ resetFeatureSettings(normalResponse);
+ int status = m_adapter->featuresetFeatureSettingsGet(featureSetIndex, featureIndex, normalResponse, errorResponse);
+ response.setStatus(status);
+
+ if (status/100 == 2) {
+ response.write(normalResponse.asJson().toUtf8());
+ } else {
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else if ((request.getMethod() == "PUT") || (request.getMethod() == "PATCH"))
+ {
+ QString jsonStr = request.getBody();
+ QJsonObject jsonObject;
+
+ if (parseJsonBody(jsonStr, jsonObject, response))
+ {
+ SWGSDRangel::SWGFeatureSettings normalResponse;
+ resetFeatureSettings(normalResponse);
+ QStringList featureSettingsKeys;
+
+ if (validateFeatureSettings(normalResponse, jsonObject, featureSettingsKeys))
+ {
+ int status = m_adapter->featuresetFeatureSettingsPutPatch(
+ featureSetIndex,
+ featureIndex,
+ (request.getMethod() == "PUT"), // force settings on PUT
+ featureSettingsKeys,
+ normalResponse,
+ errorResponse);
+ response.setStatus(status);
+
+ if (status/100 == 2) {
+ response.write(normalResponse.asJson().toUtf8());
+ } else {
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(400,"Invalid JSON request");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid JSON request";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(400,"Invalid JSON format");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid JSON format";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ 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 index";
+ response.setStatus(400,"Invalid data");
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
+void WebAPIRequestMapper::featuresetFeatureReportService(
+ const std::string& featureSetIndexStr,
+ const std::string& featureIndexStr,
+ qtwebapp::HttpRequest& request,
+ qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ try
+ {
+ int featureSetIndex = boost::lexical_cast(featureSetIndexStr);
+ int featureIndex = boost::lexical_cast(featureIndexStr);
+
+ if (request.getMethod() == "GET")
+ {
+ SWGSDRangel::SWGFeatureReport normalResponse;
+ resetFeatureReport(normalResponse);
+ int status = m_adapter->featuresetFeatureReportGet(featureSetIndex, featureIndex, 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 index";
+ response.setStatus(400,"Invalid data");
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
+void WebAPIRequestMapper::featuresetFeatureActionsService(
+ const std::string& featureSetIndexStr,
+ const std::string& featureIndexStr,
+ qtwebapp::HttpRequest& request,
+ qtwebapp::HttpResponse& response)
+{
+ SWGSDRangel::SWGErrorResponse errorResponse;
+ response.setHeader("Content-Type", "application/json");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+
+ try
+ {
+ int featureSetIndex = boost::lexical_cast(featureSetIndexStr);
+ int featureIndex = boost::lexical_cast(featureIndexStr);
+
+ if (request.getMethod() == "POST")
+ {
+ QString jsonStr = request.getBody();
+ QJsonObject jsonObject;
+
+ if (parseJsonBody(jsonStr, jsonObject, response))
+ {
+ SWGSDRangel::SWGFeatureActions query;
+ SWGSDRangel::SWGSuccessResponse normalResponse;
+ resetFeatureActions(query);
+ QStringList featureActionsKeys;
+
+ if (validateFeatureActions(query, jsonObject, featureActionsKeys))
+ {
+ int status = m_adapter->featuresetFeatureActionsPost(
+ featureSetIndex,
+ featureIndex,
+ featureActionsKeys,
+ query,
+ normalResponse,
+ errorResponse);
+ response.setStatus(status);
+
+ if (status/100 == 2) {
+ response.write(normalResponse.asJson().toUtf8());
+ } else {
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(400,"Invalid JSON request");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid JSON request";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ response.setStatus(400,"Invalid JSON format");
+ errorResponse.init();
+ *errorResponse.getMessage() = "Invalid JSON format";
+ response.write(errorResponse.asJson().toUtf8());
+ }
+ }
+ else
+ {
+ 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 index";
+ response.setStatus(400,"Invalid data");
+ response.write(errorResponse.asJson().toUtf8());
+ }
+}
+
bool WebAPIRequestMapper::parseJsonBody(QString& jsonStr, QJsonObject& jsonObject, qtwebapp::HttpResponse& response)
{
SWGSDRangel::SWGErrorResponse errorResponse;
@@ -2974,6 +3466,46 @@ bool WebAPIRequestMapper::validateChannelActions(
}
}
+bool WebAPIRequestMapper::validateFeatureSettings(
+ SWGSDRangel::SWGFeatureSettings& featureSettings,
+ QJsonObject& jsonObject,
+ QStringList& featureSettingsKeys)
+{
+ if (jsonObject.contains("featureType") && jsonObject["featureType"].isString()) {
+ featureSettings.setFeatureType(new QString(jsonObject["featureType"].toString()));
+ } else {
+ return false;
+ }
+
+ QString *featureType = featureSettings.getFeatureType();
+
+ if (m_featureTypeToSettingsKey.contains(*featureType)) {
+ return getFeatureSettings(m_featureTypeToSettingsKey[*featureType], &featureSettings, jsonObject, featureSettingsKeys);
+ } else {
+ return false;
+ }
+}
+
+bool WebAPIRequestMapper::validateFeatureActions(
+ SWGSDRangel::SWGFeatureActions& featureActions,
+ QJsonObject& jsonObject,
+ QStringList& featureActionsKeys)
+{
+ if (jsonObject.contains("featureType") && jsonObject["featureType"].isString()) {
+ featureActions.setFeatureType(new QString(jsonObject["featureType"].toString()));
+ } else {
+ return false;
+ }
+
+ QString *featureType = featureActions.getFeatureType();
+
+ if (m_featureTypeToActionsKey.contains(*featureType)) {
+ return getFeatureActions(m_featureTypeToActionsKey[*featureType], &featureActions, jsonObject, featureActionsKeys);
+ } else {
+ return false;
+ }
+}
+
bool WebAPIRequestMapper::validateAudioInputDevice(
SWGSDRangel::SWGAudioInputDevice& audioInputDevice,
QJsonObject& jsonObject,
@@ -3875,6 +4407,70 @@ bool WebAPIRequestMapper::getDeviceActions(
}
+bool WebAPIRequestMapper::getFeatureSettings(
+ const QString& featureSettingsKey,
+ SWGSDRangel::SWGFeatureSettings *featureSettings,
+ const QJsonObject& featureSettingsJson,
+ QStringList& featureSettingsKeys
+)
+{
+ QStringList featureKeys = featureSettingsJson.keys();
+
+ if (featureKeys.contains(featureSettingsKey) && featureSettingsJson[featureSettingsKey].isObject())
+ {
+ QJsonObject settingsJsonObject = featureSettingsJson[featureSettingsKey].toObject();
+ featureSettingsKeys = settingsJsonObject.keys();
+
+ if (featureSettingsKey == "SimplePTTSettings")
+ {
+ featureSettings->setSimplePttSettings(new SWGSDRangel::SWGSimplePTTSettings());
+ featureSettings->getSimplePttSettings()->fromJsonObject(settingsJsonObject);
+ }
+ else
+ {
+ return false;
+ }
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+bool WebAPIRequestMapper::getFeatureActions(
+ const QString& featureActionsKey,
+ SWGSDRangel::SWGFeatureActions *featureActions,
+ const QJsonObject& featureActionsJson,
+ QStringList& featureActionsKeys
+)
+{
+ QStringList featureKeys = featureActionsJson.keys();
+
+ if (featureKeys.contains(featureActionsKey) && featureActionsJson[featureActionsKey].isObject())
+ {
+ QJsonObject actionsJsonObject = featureActionsJson[featureActionsKey].toObject();
+ featureActionsKeys = actionsJsonObject.keys();
+
+ if (featureActionsKey == "SimplePTTActions")
+ {
+ featureActions->setSimplePttActions(new SWGSDRangel::SWGSimplePTTActions());
+ featureActions->getSimplePttActions()->fromJsonObject(actionsJsonObject);
+ }
+ else
+ {
+ return false;
+ }
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
void WebAPIRequestMapper::appendSettingsSubKeys(
const QJsonObject& parentSettingsJsonObject,
QJsonObject& childSettingsJsonObject,
@@ -4032,6 +4628,27 @@ void WebAPIRequestMapper::resetAudioOutputDevice(SWGSDRangel::SWGAudioOutputDevi
audioOutputDevice.setUdpAddress(nullptr);
}
+void WebAPIRequestMapper::resetFeatureSettings(SWGSDRangel::SWGFeatureSettings& featureSettings)
+{
+ featureSettings.cleanup();
+ featureSettings.setFeatureType(nullptr);
+ featureSettings.setSimplePttSettings(nullptr);
+}
+
+void WebAPIRequestMapper::resetFeatureReport(SWGSDRangel::SWGFeatureReport& featureReport)
+{
+ featureReport.cleanup();
+ featureReport.setFeatureType(nullptr);
+ featureReport.setSimplePttReport(nullptr);
+}
+
+void WebAPIRequestMapper::resetFeatureActions(SWGSDRangel::SWGFeatureActions& featureActions)
+{
+ featureActions.cleanup();
+ featureActions.setFeatureType(nullptr);
+ featureActions.setSimplePttActions(nullptr);
+}
+
void WebAPIRequestMapper::processChannelAnalyzerSettings(
SWGSDRangel::SWGChannelSettings *channelSettings,
const QJsonObject& channelSettingsJson,
@@ -4419,4 +5036,4 @@ void WebAPIRequestMapper::processSoapySDRSettings(
appendSettingsArrayKeys(deviceSettingsJson, "tunableElements", deviceSettingsKeys);
}
-}
\ No newline at end of file
+}
diff --git a/sdrbase/webapi/webapirequestmapper.h b/sdrbase/webapi/webapirequestmapper.h
index f23df4736..846ee8d05 100644
--- a/sdrbase/webapi/webapirequestmapper.h
+++ b/sdrbase/webapi/webapirequestmapper.h
@@ -37,6 +37,7 @@ namespace SWGSDRangel
class SWGPreset;
class SWGChannelConfig;
class SWGDeviceConfig;
+ class SWGFeatureActions;
}
class SDRBASE_API WebAPIRequestMapper : public qtwebapp::HttpRequestHandler {
@@ -74,6 +75,7 @@ private:
void instancePresetFileService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void instanceDeviceSetsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void instanceDeviceSetService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void instanceFeatureSetsService(qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetFocusService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
@@ -92,6 +94,14 @@ private:
void devicesetChannelReportService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
void devicesetChannelActionsService(const std::string& deviceSetIndexStr, const std::string& channelIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetFeatureService(const std::string& indexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetFeatureIndexService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetFeatureRunService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetFeatureSettingsService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetFeatureReportService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+ void featuresetFeatureActionsService(const std::string& featureSetIndexStr, const std::string& featureIndexStr, qtwebapp::HttpRequest& request, qtwebapp::HttpResponse& response);
+
bool validatePresetTransfer(SWGSDRangel::SWGPresetTransfer& presetTransfer);
bool validatePresetIdentifer(SWGSDRangel::SWGPresetIdentifier& presetIdentifier);
bool validatePresetExport(SWGSDRangel::SWGPresetExport& presetExport);
@@ -101,6 +111,8 @@ private:
bool validateDeviceActions(SWGSDRangel::SWGDeviceActions& deviceActions, QJsonObject& jsonObject, QStringList& deviceActionsKeys);
bool validateChannelSettings(SWGSDRangel::SWGChannelSettings& channelSettings, QJsonObject& jsonObject, QStringList& channelSettingsKeys);
bool validateChannelActions(SWGSDRangel::SWGChannelActions& channelActions, QJsonObject& jsonObject, QStringList& channelActionsKeys);
+ bool validateFeatureSettings(SWGSDRangel::SWGFeatureSettings& featureSettings, QJsonObject& jsonObject, QStringList& featureSettingsKeys);
+ bool validateFeatureActions(SWGSDRangel::SWGFeatureActions& featureActions, QJsonObject& jsonObject, QStringList& featureActionsKeys);
bool validateAudioInputDevice(SWGSDRangel::SWGAudioInputDevice& audioInputDevice, QJsonObject& jsonObject, QStringList& audioInputDeviceKeys);
bool validateAudioOutputDevice(SWGSDRangel::SWGAudioOutputDevice& audioOutputDevice, QJsonObject& jsonObject, QStringList& audioOutputDeviceKeys);
bool validateAMBEDevices(SWGSDRangel::SWGAMBEDevices& ambeDevices, QJsonObject& jsonObject);
@@ -108,14 +120,15 @@ private:
bool validateConfig(SWGSDRangel::SWGInstanceConfigResponse& config, QJsonObject& jsonObject, WebAPIAdapterInterface::ConfigKeys& configKeys);
bool appendPresetKeys(
- SWGSDRangel::SWGPreset *preset,
- const QJsonObject& presetJson,
- WebAPIAdapterInterface::PresetKeys& presetKeys);
+ SWGSDRangel::SWGPreset *preset,
+ const QJsonObject& presetJson,
+ WebAPIAdapterInterface::PresetKeys& presetKeys
+ );
bool appendPresetChannelKeys(
- SWGSDRangel::SWGChannelConfig *channel,
- const QJsonObject& channelSettngsJson,
- WebAPIAdapterInterface::ChannelKeys& channelKeys
+ SWGSDRangel::SWGChannelConfig *channel,
+ const QJsonObject& channelSettngsJson,
+ WebAPIAdapterInterface::ChannelKeys& channelKeys
);
bool getChannelSettings(
@@ -133,9 +146,9 @@ private:
);
bool appendPresetDeviceKeys(
- SWGSDRangel::SWGDeviceConfig *device,
- const QJsonObject& deviceSettngsJson,
- WebAPIAdapterInterface::DeviceKeys& devicelKeys
+ SWGSDRangel::SWGDeviceConfig *device,
+ const QJsonObject& deviceSettngsJson,
+ WebAPIAdapterInterface::DeviceKeys& devicelKeys
);
bool getDeviceSettings(
@@ -153,15 +166,31 @@ private:
);
void appendSettingsSubKeys(
- const QJsonObject& parentSettingsJsonObject,
- QJsonObject& childSettingsJsonObject,
- const QString& parentKey,
- QStringList& keyList);
+ const QJsonObject& parentSettingsJsonObject,
+ QJsonObject& childSettingsJsonObject,
+ const QString& parentKey,
+ QStringList& keyList
+ );
void appendSettingsArrayKeys(
- const QJsonObject& parentSettingsJsonObject,
- const QString& parentKey,
- QStringList& keyList);
+ const QJsonObject& parentSettingsJsonObject,
+ const QString& parentKey,
+ QStringList& keyList
+ );
+
+ bool getFeatureSettings(
+ const QString& featureSettingsKey,
+ SWGSDRangel::SWGFeatureSettings *featureSettings,
+ const QJsonObject& featureSettingsJson,
+ QStringList& featureSettingsKeys
+ );
+
+ bool getFeatureActions(
+ const QString& featureActionsKey,
+ SWGSDRangel::SWGFeatureActions *featureActions,
+ const QJsonObject& featureActionsJson,
+ QStringList& featureSettingsKeys
+ );
bool parseJsonBody(QString& jsonStr, QJsonObject& jsonObject, qtwebapp::HttpResponse& response);
@@ -174,6 +203,9 @@ private:
void resetChannelActions(SWGSDRangel::SWGChannelActions& channelActions);
void resetAudioInputDevice(SWGSDRangel::SWGAudioInputDevice& audioInputDevice);
void resetAudioOutputDevice(SWGSDRangel::SWGAudioOutputDevice& audioOutputDevice);
+ void resetFeatureSettings(SWGSDRangel::SWGFeatureSettings& deviceSettings);
+ void resetFeatureReport(SWGSDRangel::SWGFeatureReport& featureReport);
+ void resetFeatureActions(SWGSDRangel::SWGFeatureActions& featureActions);
void processChannelAnalyzerSettings(
SWGSDRangel::SWGChannelSettings *channelSettings,
@@ -198,6 +230,8 @@ private:
static const QMap m_sourceDeviceHwIdToActionsKey;
static const QMap m_sinkDeviceHwIdToActionsKey;
static const QMap m_mimoDeviceHwIdToActionsKey;
+ static const QMap m_featureTypeToSettingsKey;
+ static const QMap m_featureTypeToActionsKey;
};
#endif /* SDRBASE_WEBAPI_WEBAPIREQUESTMAPPER_H_ */
diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html
index 5dc2a8822..0500fa7f2 100644
--- a/swagger/sdrangel/code/html2/index.html
+++ b/swagger/sdrangel/code/html2/index.html
@@ -2250,6 +2250,7 @@ margin-bottom: 20px;
"description" : "Summarized information about channel plugin"
};
defs.ChannelReport = {
+ "required" : [ "direction" ],
"discriminator" : "channelType",
"properties" : {
"channelType" : {
@@ -3650,6 +3651,120 @@ margin-bottom: 20px;
}
},
"description" : "FCDPro"
+};
+ defs.Feature = {
+ "required" : [ "id", "index", "title", "uid" ],
+ "properties" : {
+ "index" : {
+ "type" : "integer",
+ "description" : "Index in the list of features"
+ },
+ "id" : {
+ "type" : "string",
+ "description" : "Key to identify the type of feature"
+ },
+ "uid" : {
+ "type" : "integer",
+ "format" : "int64",
+ "description" : "Feature instance unique id"
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "Freeform title of the feature"
+ }
+ },
+ "description" : "Feature summarized information"
+};
+ defs.FeatureActions = {
+ "required" : [ "featureType" ],
+ "discriminator" : "featureType",
+ "properties" : {
+ "featureType" : {
+ "type" : "string",
+ "description" : "Feature type code"
+ },
+ "originatorFeatureSetIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature set index from where the message comes from."
+ },
+ "originatorFeatureIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature index from where the message comes from."
+ },
+ "SimplePTTActions" : {
+ "$ref" : "#/definitions/SimplePTTActions"
+ }
+ },
+ "description" : "Base feature actions. Only the feature actions corresponding to the feature specified in the featureType field is or should be present."
+};
+ defs.FeatureReport = {
+ "required" : [ "featureType" ],
+ "discriminator" : "featureType",
+ "properties" : {
+ "featureType" : {
+ "type" : "string",
+ "description" : "Feature type code"
+ },
+ "SimplePTTReport" : {
+ "$ref" : "#/definitions/SimplePTTReport"
+ }
+ },
+ "description" : "Base feature report. Only the feature report corresponding to the feature specified in the featureType field is or should be present."
+};
+ defs.FeatureSet = {
+ "required" : [ "featurecount" ],
+ "properties" : {
+ "featurecount" : {
+ "type" : "integer",
+ "description" : "Number of features in the set"
+ },
+ "features" : {
+ "type" : "array",
+ "description" : "Features list",
+ "items" : {
+ "$ref" : "#/definitions/Feature"
+ }
+ }
+ },
+ "description" : "Grouping of features"
+};
+ defs.FeatureSetList = {
+ "required" : [ "featuresetcount" ],
+ "properties" : {
+ "featuresetcount" : {
+ "type" : "integer",
+ "description" : "Number of feature sets opened in this instance"
+ },
+ "featureSets" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/FeatureSet"
+ }
+ }
+ },
+ "description" : "List of feature sets opened in this instance"
+};
+ defs.FeatureSettings = {
+ "required" : [ "featureType" ],
+ "discriminator" : "featureType",
+ "properties" : {
+ "featureType" : {
+ "type" : "string",
+ "description" : "Feature type code"
+ },
+ "originatorFeatureSetIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature set index from where the message comes from."
+ },
+ "originatorFeatureIndex" : {
+ "type" : "integer",
+ "description" : "Optional for reverse API. This is the feature index from where the message comes from."
+ },
+ "SimplePTTSettings" : {
+ "$ref" : "#/definitions/SimplePTTSettings"
+ }
+ },
+ "description" : "Base feature settings. Only the feature settings corresponding to the feature specified in the featureType field is or should be present."
};
defs.FileInputReport = {
"properties" : {
@@ -7458,6 +7573,67 @@ margin-bottom: 20px;
}
},
"description" : "SigMFFileSink"
+};
+ defs.SimplePTTActions = {
+ "properties" : {
+ "ptt" : {
+ "type" : "integer",
+ "description" : "PTT action\n * 0 - release\n * 1 - engage\n"
+ }
+ },
+ "description" : "Simple PTT actions"
+};
+ defs.SimplePTTReport = {
+ "properties" : {
+ "ptt" : {
+ "type" : "integer",
+ "description" : "PTT status\n * 0 - released\n * 1 - engaged\n"
+ }
+ },
+ "description" : "Simple PTT report"
+};
+ defs.SimplePTTSettings = {
+ "properties" : {
+ "title" : {
+ "type" : "string"
+ },
+ "rgbColor" : {
+ "type" : "integer"
+ },
+ "rxDeviceSetIndex" : {
+ "type" : "integer",
+ "description" : "index of the Rx device set to connect the Rx side to"
+ },
+ "txDeviceSetIndex" : {
+ "type" : "integer",
+ "description" : "index of the Tx device set to connect the Tx side to"
+ },
+ "rx2TxDelayMs" : {
+ "type" : "integer",
+ "description" : "Delay in milliseconds from Rx off to Tx on"
+ },
+ "tx2RxDelayMs" : {
+ "type" : "integer",
+ "description" : "Delay in milliseconds from Tx off to Rx on"
+ },
+ "useReverseAPI" : {
+ "type" : "integer",
+ "description" : "Synchronize with reverse API (1 for yes, 0 for no)"
+ },
+ "reverseAPIAddress" : {
+ "type" : "string"
+ },
+ "reverseAPIPort" : {
+ "type" : "integer"
+ },
+ "reverseAPIDeviceIndex" : {
+ "type" : "integer"
+ },
+ "reverseAPIChannelIndex" : {
+ "type" : "integer"
+ }
+ },
+ "description" : "Simple PTT settings"
};
defs.SoapySDRFrequencySetting = {
"properties" : {
@@ -9059,6 +9235,40 @@ margin-bottom: 20px;
-
instanceDeviceSetPost
+
+ -
+ featuresetFEatureSettingsPut
+
+ -
+ featuresetFeatureActionsPost
+
+ -
+ featuresetFeatureDelete
+
+ -
+ featuresetFeaturePost
+
+ -
+ featuresetFeatureReportGet
+
+ -
+ featuresetFeatureRunDelete
+
+ -
+ featuresetFeatureRunGet
+
+ -
+ featuresetFeatureRunPost
+
+ -
+ featuresetFeatureSettingsGet
+
+ -
+ featuresetFeatureSettingsPatch
+
+ -
+ featuresetGet
+
-
instanceAMBEDevicesDelete
@@ -9117,6 +9327,9 @@ margin-bottom: 20px;
-
instanceDevices
+ -
+ instanceFeatureSetsGet
+
-
instanceLimeRFEConfigGet
@@ -9756,7 +9969,7 @@ $(document).ready(function() {
- delete channel (server only)
+ delete a channel
/sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}
@@ -10109,7 +10322,7 @@ except ApiException as e:
- Status: 404 - Device or channel not found
+ Status: 404 - Device set or channel not found
-
@@ -10124,7 +10337,7 @@ except ApiException as e:
+
+
+
+
+
+
+
+
+
Responses
+ Status: 200 - On success return feature new settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureActionsPost
+
+
+
+
+
+ post an action or actions on a channel
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X POST "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureActions body = ; // FeatureActions | Action(s) to apply to the feature
+ try {
+ SuccessResponse result = apiInstance.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureActionsPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureActions body = ; // FeatureActions | Action(s) to apply to the feature
+ try {
+ SuccessResponse result = apiInstance.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureActionsPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+FeatureActions *body = ; // Action(s) to apply to the feature
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureActionsPostWith:featureSetIndex
+ featureIndex:featureIndex
+ body:body
+ completionHandler: ^(SuccessResponse output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+var body = ; // {FeatureActions} Action(s) to apply to the feature
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureActionsPostExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ var body = new FeatureActions(); // FeatureActions | Action(s) to apply to the feature
+
+ try
+ {
+ SuccessResponse result = apiInstance.featuresetFeatureActionsPost(featureSetIndex, featureIndex, body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureActionsPost: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+$body = ; // FeatureActions | Action(s) to apply to the feature
+
+try {
+ $result = $api_instance->featuresetFeatureActionsPost($featureSetIndex, $featureIndex, $body);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureActionsPost: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+my $body = SWGSDRangel::Object::FeatureActions->new(); # FeatureActions | Action(s) to apply to the feature
+
+eval {
+ my $result = $api_instance->featuresetFeatureActionsPost(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex, body => $body);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureActionsPost: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+body = # FeatureActions | Action(s) to apply to the feature
+
+try:
+ api_response = api_instance.featureset_feature_actions_post(featureSetIndex, featureIndex, body)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureActionsPost: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+ Body parameters
+
+
+ | Name |
+ Description |
+
+ | body * |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ Responses
+ Status: 202 - Message to perform action was sent successfully
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureDelete
+
+
+
+
+
+ delete a feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X DELETE "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureDeleteWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(FeatureSettings output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureDelete(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureDeleteExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ FeatureSettings result = apiInstance.featuresetFeatureDelete(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureDelete: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureDelete($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureDelete: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureDelete(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureDelete: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_delete(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureDelete: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return deleted feature settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeaturePost
+
+
+
+
+
+ add a feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X POST "http://localhost/sdrangel/featureset/{featureSetIndex}/feature"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ FeatureSettings body = ; // FeatureSettings | Feature identification (no settings data)
+ try {
+ SuccessResponse result = apiInstance.featuresetFeaturePost(featureSetIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeaturePost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ FeatureSettings body = ; // FeatureSettings | Feature identification (no settings data)
+ try {
+ SuccessResponse result = apiInstance.featuresetFeaturePost(featureSetIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeaturePost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+FeatureSettings *body = ; // Feature identification (no settings data)
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeaturePostWith:featureSetIndex
+ body:body
+ completionHandler: ^(SuccessResponse output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var body = ; // {FeatureSettings} Feature identification (no settings data)
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeaturePost(featureSetIndex, body, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeaturePostExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var body = new FeatureSettings(); // FeatureSettings | Feature identification (no settings data)
+
+ try
+ {
+ SuccessResponse result = apiInstance.featuresetFeaturePost(featureSetIndex, body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeaturePost: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$body = ; // FeatureSettings | Feature identification (no settings data)
+
+try {
+ $result = $api_instance->featuresetFeaturePost($featureSetIndex, $body);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeaturePost: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $body = SWGSDRangel::Object::FeatureSettings->new(); # FeatureSettings | Feature identification (no settings data)
+
+eval {
+ my $result = $api_instance->featuresetFeaturePost(featureSetIndex => $featureSetIndex, body => $body);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeaturePost: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+body = # FeatureSettings | Feature identification (no settings data)
+
+try:
+ api_response = api_instance.featureset_feature_post(featureSetIndex, body)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeaturePost: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+ Body parameters
+
+
+ | Name |
+ Description |
+
+ | body * |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ Responses
+ Status: 202 - Message to add a feature was sent successfully
+
+
+
+
+
+ Status: 400 - Invalid feature set index
+
+
+
+
+
+ Status: 404 - Feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureReportGet
+
+
+
+
+
+ get a feature report
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureReport result = apiInstance.featuresetFeatureReportGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureReportGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureReport result = apiInstance.featuresetFeatureReportGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureReportGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureReportGetWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(FeatureReport output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureReportGet(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureReportGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+ try
+ {
+ FeatureReport result = apiInstance.featuresetFeatureReportGet(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureReportGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+try {
+ $result = $api_instance->featuresetFeatureReportGet($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureReportGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+
+eval {
+ my $result = $api_instance->featuresetFeatureReportGet(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureReportGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+
+try:
+ api_response = api_instance.featureset_feature_report_get(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureReportGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature report
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureRunDelete
+
+
+
+
+
+ stop feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X DELETE "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunDelete(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunDelete");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureRunDeleteWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(DeviceState output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureRunDelete(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureRunDeleteExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ DeviceState result = apiInstance.featuresetFeatureRunDelete(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureRunDelete: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureRunDelete($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureRunDelete: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureRunDelete(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureRunDelete: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_run_delete(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureRunDelete: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return state before change
+
+
+
+
+
+ Status: 400 - Invalid device set index
+
+
+
+
+
+ Status: 404 - Device not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureRunGet
+
+
+
+
+
+ get feature run status
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureRunGetWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(DeviceState output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureRunGet(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureRunGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ DeviceState result = apiInstance.featuresetFeatureRunGet(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureRunGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureRunGet($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureRunGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureRunGet(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureRunGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_run_get(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureRunGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return current feature run state
+
+
+
+
+
+ Status: 400 - Invalid feature set index
+
+
+
+
+
+ Status: 404 - Feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureRunPost
+
+
+
+
+
+ start feature
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X POST "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunPost(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of feature in the features list
+ try {
+ DeviceState result = apiInstance.featuresetFeatureRunPost(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureRunPost");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of feature in the features list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureRunPostWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(DeviceState output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of feature in the features list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureRunPost(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureRunPostExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of feature in the features list
+
+ try
+ {
+ DeviceState result = apiInstance.featuresetFeatureRunPost(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureRunPost: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of feature in the features list
+
+try {
+ $result = $api_instance->featuresetFeatureRunPost($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureRunPost: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of feature in the features list
+
+eval {
+ my $result = $api_instance->featuresetFeatureRunPost(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureRunPost: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of feature in the features list
+
+try:
+ api_response = api_instance.featureset_feature_run_post(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureRunPost: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature in the features list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return state before change
+
+
+
+
+
+ Status: 400 - Invalid feature set index
+
+
+
+
+
+ Status: 404 - Feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureSettingsGet
+
+
+
+
+
+ get a feature settings
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsGet(featureSetIndex, featureIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureSettingsGetWith:featureSetIndex
+ featureIndex:featureIndex
+ completionHandler: ^(FeatureSettings output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureSettingsGet(featureSetIndex, featureIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureSettingsGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+ try
+ {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsGet(featureSetIndex, featureIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureSettingsGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+
+try {
+ $result = $api_instance->featuresetFeatureSettingsGet($featureSetIndex, $featureIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureSettingsGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+
+eval {
+ my $result = $api_instance->featuresetFeatureSettingsGet(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureSettingsGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+
+try:
+ api_response = api_instance.featureset_feature_settings_get(featureSetIndex, featureIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureSettingsGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
featuresetFeatureSettingsPatch
+
+
+
+
+
+ apply settings differentially (no force)
+
+
+ /sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X PATCH "http://localhost/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureSettings body = ; // FeatureSettings | Feature settings to apply
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsPatch");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ Integer featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ FeatureSettings body = ; // FeatureSettings | Feature settings to apply
+ try {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetFeatureSettingsPatch");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the feature set list
+Integer *featureIndex = 56; // Index of the feature in the features list for this feature set
+FeatureSettings *body = ; // Feature settings to apply
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetFeatureSettingsPatchWith:featureSetIndex
+ featureIndex:featureIndex
+ body:body
+ completionHandler: ^(FeatureSettings output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the feature set list
+
+var featureIndex = 56; // {Integer} Index of the feature in the features list for this feature set
+
+var body = ; // {FeatureSettings} Feature settings to apply
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetFeatureSettingsPatchExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+ var featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+ var body = new FeatureSettings(); // FeatureSettings | Feature settings to apply
+
+ try
+ {
+ FeatureSettings result = apiInstance.featuresetFeatureSettingsPatch(featureSetIndex, featureIndex, body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetFeatureSettingsPatch: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the feature set list
+$featureIndex = 56; // Integer | Index of the feature in the features list for this feature set
+$body = ; // FeatureSettings | Feature settings to apply
+
+try {
+ $result = $api_instance->featuresetFeatureSettingsPatch($featureSetIndex, $featureIndex, $body);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetFeatureSettingsPatch: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the feature set list
+my $featureIndex = 56; # Integer | Index of the feature in the features list for this feature set
+my $body = SWGSDRangel::Object::FeatureSettings->new(); # FeatureSettings | Feature settings to apply
+
+eval {
+ my $result = $api_instance->featuresetFeatureSettingsPatch(featureSetIndex => $featureSetIndex, featureIndex => $featureIndex, body => $body);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetFeatureSettingsPatch: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the feature set list
+featureIndex = 56 # Integer | Index of the feature in the features list for this feature set
+body = # FeatureSettings | Feature settings to apply
+
+try:
+ api_response = api_instance.featureset_feature_settings_patch(featureSetIndex, featureIndex, body)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetFeatureSettingsPatch: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the feature set list
+
+
+
+ Required
+
+
+
+ |
+
+
+ | featureIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of the feature in the features list for this feature set
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+ Body parameters
+
+
+ | Name |
+ Description |
+
+ | body * |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature new settings
+
+
+
+
+
+ Status: 400 - Invalid feature set or feature index
+
+
+
+
+
+ Status: 404 - Feature set or feature not found
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get feature set information
+
+
+ /sdrangel/featureset/{featureSetIndex}
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featureset/{featureSetIndex}"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.FeatureSetApi;
+
+import java.io.File;
+import java.util.*;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the device set list
+ try {
+ FeatureSet result = apiInstance.featuresetGet(featureSetIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.FeatureSetApi;
+
+public class FeatureSetApiExample {
+
+ public static void main(String[] args) {
+ FeatureSetApi apiInstance = new FeatureSetApi();
+ Integer featureSetIndex = 56; // Integer | Index of feature set in the device set list
+ try {
+ FeatureSet result = apiInstance.featuresetGet(featureSetIndex);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FeatureSetApi#featuresetGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
Integer *featureSetIndex = 56; // Index of feature set in the device set list
+
+FeatureSetApi *apiInstance = [[FeatureSetApi alloc] init];
+
+[apiInstance featuresetGetWith:featureSetIndex
+ completionHandler: ^(FeatureSet output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.FeatureSetApi()
+
+var featureSetIndex = 56; // {Integer} Index of feature set in the device set list
+
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.featuresetGet(featureSetIndex, callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class featuresetGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FeatureSetApi();
+ var featureSetIndex = 56; // Integer | Index of feature set in the device set list
+
+ try
+ {
+ FeatureSet result = apiInstance.featuresetGet(featureSetIndex);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FeatureSetApi.featuresetGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\FeatureSetApi();
+$featureSetIndex = 56; // Integer | Index of feature set in the device set list
+
+try {
+ $result = $api_instance->featuresetGet($featureSetIndex);
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling FeatureSetApi->featuresetGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::FeatureSetApi;
+
+my $api_instance = SWGSDRangel::FeatureSetApi->new();
+my $featureSetIndex = 56; # Integer | Index of feature set in the device set list
+
+eval {
+ my $result = $api_instance->featuresetGet(featureSetIndex => $featureSetIndex);
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling FeatureSetApi->featuresetGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.FeatureSetApi()
+featureSetIndex = 56 # Integer | Index of feature set in the device set list
+
+try:
+ api_response = api_instance.featureset_get(featureSetIndex)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling FeatureSetApi->featuresetGet: %s\n" % e)
+
+
+
+ Parameters
+
+ Path parameters
+
+
+ | Name |
+ Description |
+
+ | featureSetIndex* |
+
+
+
+
+
+
+
+ Integer
+
+
+
+ Index of feature set in the device set list
+
+
+
+ Required
+
+
+
+ |
+
+
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return details on the feature set
+
+
+
+
+
+ Status: 404 - Invalid index
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
+
Instance
@@ -30620,6 +36369,341 @@ except ApiException as e:
+
+
+
+
instanceFeatureSetsGet
+
+
+
+
+
+ Get summary information about feature sets opened in the instance
+
+
+ /sdrangel/featuresets
+
+
Usage and SDK Samples
+
+
+
+
+
+
curl -X GET "http://localhost/sdrangel/featuresets"
+
+
+
import SWGSDRangel.*;
+import SWGSDRangel.auth.*;
+import SWGSDRangel.model.*;
+import SWGSDRangel.api.InstanceApi;
+
+import java.io.File;
+import java.util.*;
+
+public class InstanceApiExample {
+
+ public static void main(String[] args) {
+
+ InstanceApi apiInstance = new InstanceApi();
+ try {
+ FeatureSetList result = apiInstance.instanceFeatureSetsGet();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling InstanceApi#instanceFeatureSetsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
import SWGSDRangel.api.InstanceApi;
+
+public class InstanceApiExample {
+
+ public static void main(String[] args) {
+ InstanceApi apiInstance = new InstanceApi();
+ try {
+ FeatureSetList result = apiInstance.instanceFeatureSetsGet();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling InstanceApi#instanceFeatureSetsGet");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+
+
+InstanceApi *apiInstance = [[InstanceApi alloc] init];
+
+[apiInstance instanceFeatureSetsGetWithCompletionHandler:
+ ^(FeatureSetList output, NSError* error) {
+ if (output) {
+ NSLog(@"%@", output);
+ }
+ if (error) {
+ NSLog(@"Error: %@", error);
+ }
+ }];
+
+
+
+
+
var SdRangel = require('sd_rangel');
+
+var api = new SdRangel.InstanceApi()
+
+var callback = function(error, data, response) {
+ if (error) {
+ console.error(error);
+ } else {
+ console.log('API called successfully. Returned data: ' + data);
+ }
+};
+api.instanceFeatureSetsGet(callback);
+
+
+
+
+
+
using System;
+using System.Diagnostics;
+using SWGSDRangel.Api;
+using SWGSDRangel.Client;
+using SWGSDRangel.Model;
+
+namespace Example
+{
+ public class instanceFeatureSetsGetExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new InstanceApi();
+
+ try
+ {
+ FeatureSetList result = apiInstance.instanceFeatureSetsGet();
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling InstanceApi.instanceFeatureSetsGet: " + e.Message );
+ }
+ }
+ }
+}
+
+
+
+
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+$api_instance = new Swagger\Client\Api\InstanceApi();
+
+try {
+ $result = $api_instance->instanceFeatureSetsGet();
+ print_r($result);
+} catch (Exception $e) {
+ echo 'Exception when calling InstanceApi->instanceFeatureSetsGet: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+
+
+
use Data::Dumper;
+use SWGSDRangel::Configuration;
+use SWGSDRangel::InstanceApi;
+
+my $api_instance = SWGSDRangel::InstanceApi->new();
+
+eval {
+ my $result = $api_instance->instanceFeatureSetsGet();
+ print Dumper($result);
+};
+if ($@) {
+ warn "Exception when calling InstanceApi->instanceFeatureSetsGet: $@\n";
+}
+
+
+
+
from __future__ import print_statement
+import time
+import swagger_sdrangel
+from swagger_sdrangel.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = swagger_sdrangel.InstanceApi()
+
+try:
+ api_response = api_instance.instance_feature_sets_get()
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling InstanceApi->instanceFeatureSetsGet: %s\n" % e)
+
+
+
+ Parameters
+
+
+
+
+
+
+ Responses
+ Status: 200 - On success return feature set list
+
+
+
+
+
+ Status: 500 - Error
+
+
+
+
+
+ Status: 501 - Function not implemented
+
+
+
+
+
+
+
+
@@ -37668,7 +43752,7 @@ except ApiException as e:
- Generated 2020-09-15T13:30:17.634+02:00
+ Generated 2020-09-21T03:05:59.930+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeature.cpp b/swagger/sdrangel/code/qt5/client/SWGFeature.cpp
new file mode 100644
index 000000000..47a3149f2
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeature.cpp
@@ -0,0 +1,181 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGFeature.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeature::SWGFeature(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGFeature::SWGFeature() {
+ index = 0;
+ m_index_isSet = false;
+ id = nullptr;
+ m_id_isSet = false;
+ uid = 0L;
+ m_uid_isSet = false;
+ title = nullptr;
+ m_title_isSet = false;
+}
+
+SWGFeature::~SWGFeature() {
+ this->cleanup();
+}
+
+void
+SWGFeature::init() {
+ index = 0;
+ m_index_isSet = false;
+ id = new QString("");
+ m_id_isSet = false;
+ uid = 0L;
+ m_uid_isSet = false;
+ title = new QString("");
+ m_title_isSet = false;
+}
+
+void
+SWGFeature::cleanup() {
+
+ if(id != nullptr) {
+ delete id;
+ }
+
+ if(title != nullptr) {
+ delete title;
+ }
+}
+
+SWGFeature*
+SWGFeature::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGFeature::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&index, pJson["index"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&id, pJson["id"], "QString", "QString");
+
+ ::SWGSDRangel::setValue(&uid, pJson["uid"], "qint64", "");
+
+ ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
+
+}
+
+QString
+SWGFeature::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGFeature::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(m_index_isSet){
+ obj->insert("index", QJsonValue(index));
+ }
+ if(id != nullptr && *id != QString("")){
+ toJsonValue(QString("id"), id, obj, QString("QString"));
+ }
+ if(m_uid_isSet){
+ obj->insert("uid", QJsonValue(uid));
+ }
+ if(title != nullptr && *title != QString("")){
+ toJsonValue(QString("title"), title, obj, QString("QString"));
+ }
+
+ return obj;
+}
+
+qint32
+SWGFeature::getIndex() {
+ return index;
+}
+void
+SWGFeature::setIndex(qint32 index) {
+ this->index = index;
+ this->m_index_isSet = true;
+}
+
+QString*
+SWGFeature::getId() {
+ return id;
+}
+void
+SWGFeature::setId(QString* id) {
+ this->id = id;
+ this->m_id_isSet = true;
+}
+
+qint64
+SWGFeature::getUid() {
+ return uid;
+}
+void
+SWGFeature::setUid(qint64 uid) {
+ this->uid = uid;
+ this->m_uid_isSet = true;
+}
+
+QString*
+SWGFeature::getTitle() {
+ return title;
+}
+void
+SWGFeature::setTitle(QString* title) {
+ this->title = title;
+ this->m_title_isSet = true;
+}
+
+
+bool
+SWGFeature::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(m_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(id && *id != QString("")){
+ isObjectUpdated = true; break;
+ }
+ if(m_uid_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(title && *title != QString("")){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeature.h b/swagger/sdrangel/code/qt5/client/SWGFeature.h
new file mode 100644
index 000000000..4feceb166
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeature.h
@@ -0,0 +1,77 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGFeature.h
+ *
+ * Feature summarized information
+ */
+
+#ifndef SWGFeature_H_
+#define SWGFeature_H_
+
+#include
+
+
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGFeature: public SWGObject {
+public:
+ SWGFeature();
+ SWGFeature(QString* json);
+ virtual ~SWGFeature();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGFeature* fromJson(QString &jsonString) override;
+
+ qint32 getIndex();
+ void setIndex(qint32 index);
+
+ QString* getId();
+ void setId(QString* id);
+
+ qint64 getUid();
+ void setUid(qint64 uid);
+
+ QString* getTitle();
+ void setTitle(QString* title);
+
+
+ virtual bool isSet() override;
+
+private:
+ qint32 index;
+ bool m_index_isSet;
+
+ QString* id;
+ bool m_id_isSet;
+
+ qint64 uid;
+ bool m_uid_isSet;
+
+ QString* title;
+ bool m_title_isSet;
+
+};
+
+}
+
+#endif /* SWGFeature_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureActions.cpp b/swagger/sdrangel/code/qt5/client/SWGFeatureActions.cpp
new file mode 100644
index 000000000..2a501c46b
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureActions.cpp
@@ -0,0 +1,181 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGFeatureActions.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeatureActions::SWGFeatureActions(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGFeatureActions::SWGFeatureActions() {
+ feature_type = nullptr;
+ m_feature_type_isSet = false;
+ originator_feature_set_index = 0;
+ m_originator_feature_set_index_isSet = false;
+ originator_feature_index = 0;
+ m_originator_feature_index_isSet = false;
+ simple_ptt_actions = nullptr;
+ m_simple_ptt_actions_isSet = false;
+}
+
+SWGFeatureActions::~SWGFeatureActions() {
+ this->cleanup();
+}
+
+void
+SWGFeatureActions::init() {
+ feature_type = new QString("");
+ m_feature_type_isSet = false;
+ originator_feature_set_index = 0;
+ m_originator_feature_set_index_isSet = false;
+ originator_feature_index = 0;
+ m_originator_feature_index_isSet = false;
+ simple_ptt_actions = new SWGSimplePTTActions();
+ m_simple_ptt_actions_isSet = false;
+}
+
+void
+SWGFeatureActions::cleanup() {
+ if(feature_type != nullptr) {
+ delete feature_type;
+ }
+
+
+ if(simple_ptt_actions != nullptr) {
+ delete simple_ptt_actions;
+ }
+}
+
+SWGFeatureActions*
+SWGFeatureActions::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGFeatureActions::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&feature_type, pJson["featureType"], "QString", "QString");
+
+ ::SWGSDRangel::setValue(&originator_feature_set_index, pJson["originatorFeatureSetIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&originator_feature_index, pJson["originatorFeatureIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&simple_ptt_actions, pJson["SimplePTTActions"], "SWGSimplePTTActions", "SWGSimplePTTActions");
+
+}
+
+QString
+SWGFeatureActions::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGFeatureActions::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(feature_type != nullptr && *feature_type != QString("")){
+ toJsonValue(QString("featureType"), feature_type, obj, QString("QString"));
+ }
+ if(m_originator_feature_set_index_isSet){
+ obj->insert("originatorFeatureSetIndex", QJsonValue(originator_feature_set_index));
+ }
+ if(m_originator_feature_index_isSet){
+ obj->insert("originatorFeatureIndex", QJsonValue(originator_feature_index));
+ }
+ if((simple_ptt_actions != nullptr) && (simple_ptt_actions->isSet())){
+ toJsonValue(QString("SimplePTTActions"), simple_ptt_actions, obj, QString("SWGSimplePTTActions"));
+ }
+
+ return obj;
+}
+
+QString*
+SWGFeatureActions::getFeatureType() {
+ return feature_type;
+}
+void
+SWGFeatureActions::setFeatureType(QString* feature_type) {
+ this->feature_type = feature_type;
+ this->m_feature_type_isSet = true;
+}
+
+qint32
+SWGFeatureActions::getOriginatorFeatureSetIndex() {
+ return originator_feature_set_index;
+}
+void
+SWGFeatureActions::setOriginatorFeatureSetIndex(qint32 originator_feature_set_index) {
+ this->originator_feature_set_index = originator_feature_set_index;
+ this->m_originator_feature_set_index_isSet = true;
+}
+
+qint32
+SWGFeatureActions::getOriginatorFeatureIndex() {
+ return originator_feature_index;
+}
+void
+SWGFeatureActions::setOriginatorFeatureIndex(qint32 originator_feature_index) {
+ this->originator_feature_index = originator_feature_index;
+ this->m_originator_feature_index_isSet = true;
+}
+
+SWGSimplePTTActions*
+SWGFeatureActions::getSimplePttActions() {
+ return simple_ptt_actions;
+}
+void
+SWGFeatureActions::setSimplePttActions(SWGSimplePTTActions* simple_ptt_actions) {
+ this->simple_ptt_actions = simple_ptt_actions;
+ this->m_simple_ptt_actions_isSet = true;
+}
+
+
+bool
+SWGFeatureActions::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(feature_type && *feature_type != QString("")){
+ isObjectUpdated = true; break;
+ }
+ if(m_originator_feature_set_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_originator_feature_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(simple_ptt_actions && simple_ptt_actions->isSet()){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureActions.h b/swagger/sdrangel/code/qt5/client/SWGFeatureActions.h
new file mode 100644
index 000000000..efe87880d
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureActions.h
@@ -0,0 +1,78 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGFeatureActions.h
+ *
+ * Base feature actions. Only the feature actions corresponding to the feature specified in the featureType field is or should be present.
+ */
+
+#ifndef SWGFeatureActions_H_
+#define SWGFeatureActions_H_
+
+#include
+
+
+#include "SWGSimplePTTActions.h"
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGFeatureActions: public SWGObject {
+public:
+ SWGFeatureActions();
+ SWGFeatureActions(QString* json);
+ virtual ~SWGFeatureActions();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGFeatureActions* fromJson(QString &jsonString) override;
+
+ QString* getFeatureType();
+ void setFeatureType(QString* feature_type);
+
+ qint32 getOriginatorFeatureSetIndex();
+ void setOriginatorFeatureSetIndex(qint32 originator_feature_set_index);
+
+ qint32 getOriginatorFeatureIndex();
+ void setOriginatorFeatureIndex(qint32 originator_feature_index);
+
+ SWGSimplePTTActions* getSimplePttActions();
+ void setSimplePttActions(SWGSimplePTTActions* simple_ptt_actions);
+
+
+ virtual bool isSet() override;
+
+private:
+ QString* feature_type;
+ bool m_feature_type_isSet;
+
+ qint32 originator_feature_set_index;
+ bool m_originator_feature_set_index_isSet;
+
+ qint32 originator_feature_index;
+ bool m_originator_feature_index_isSet;
+
+ SWGSimplePTTActions* simple_ptt_actions;
+ bool m_simple_ptt_actions_isSet;
+
+};
+
+}
+
+#endif /* SWGFeatureActions_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureReport.cpp b/swagger/sdrangel/code/qt5/client/SWGFeatureReport.cpp
new file mode 100644
index 000000000..dd880230b
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureReport.cpp
@@ -0,0 +1,135 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGFeatureReport.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeatureReport::SWGFeatureReport(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGFeatureReport::SWGFeatureReport() {
+ feature_type = nullptr;
+ m_feature_type_isSet = false;
+ simple_ptt_report = nullptr;
+ m_simple_ptt_report_isSet = false;
+}
+
+SWGFeatureReport::~SWGFeatureReport() {
+ this->cleanup();
+}
+
+void
+SWGFeatureReport::init() {
+ feature_type = new QString("");
+ m_feature_type_isSet = false;
+ simple_ptt_report = new SWGSimplePTTReport();
+ m_simple_ptt_report_isSet = false;
+}
+
+void
+SWGFeatureReport::cleanup() {
+ if(feature_type != nullptr) {
+ delete feature_type;
+ }
+ if(simple_ptt_report != nullptr) {
+ delete simple_ptt_report;
+ }
+}
+
+SWGFeatureReport*
+SWGFeatureReport::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGFeatureReport::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&feature_type, pJson["featureType"], "QString", "QString");
+
+ ::SWGSDRangel::setValue(&simple_ptt_report, pJson["SimplePTTReport"], "SWGSimplePTTReport", "SWGSimplePTTReport");
+
+}
+
+QString
+SWGFeatureReport::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGFeatureReport::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(feature_type != nullptr && *feature_type != QString("")){
+ toJsonValue(QString("featureType"), feature_type, obj, QString("QString"));
+ }
+ if((simple_ptt_report != nullptr) && (simple_ptt_report->isSet())){
+ toJsonValue(QString("SimplePTTReport"), simple_ptt_report, obj, QString("SWGSimplePTTReport"));
+ }
+
+ return obj;
+}
+
+QString*
+SWGFeatureReport::getFeatureType() {
+ return feature_type;
+}
+void
+SWGFeatureReport::setFeatureType(QString* feature_type) {
+ this->feature_type = feature_type;
+ this->m_feature_type_isSet = true;
+}
+
+SWGSimplePTTReport*
+SWGFeatureReport::getSimplePttReport() {
+ return simple_ptt_report;
+}
+void
+SWGFeatureReport::setSimplePttReport(SWGSimplePTTReport* simple_ptt_report) {
+ this->simple_ptt_report = simple_ptt_report;
+ this->m_simple_ptt_report_isSet = true;
+}
+
+
+bool
+SWGFeatureReport::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(feature_type && *feature_type != QString("")){
+ isObjectUpdated = true; break;
+ }
+ if(simple_ptt_report && simple_ptt_report->isSet()){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureReport.h b/swagger/sdrangel/code/qt5/client/SWGFeatureReport.h
new file mode 100644
index 000000000..8de9d2ef4
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureReport.h
@@ -0,0 +1,66 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGFeatureReport.h
+ *
+ * Base feature report. Only the feature report corresponding to the feature specified in the featureType field is or should be present.
+ */
+
+#ifndef SWGFeatureReport_H_
+#define SWGFeatureReport_H_
+
+#include
+
+
+#include "SWGSimplePTTReport.h"
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGFeatureReport: public SWGObject {
+public:
+ SWGFeatureReport();
+ SWGFeatureReport(QString* json);
+ virtual ~SWGFeatureReport();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGFeatureReport* fromJson(QString &jsonString) override;
+
+ QString* getFeatureType();
+ void setFeatureType(QString* feature_type);
+
+ SWGSimplePTTReport* getSimplePttReport();
+ void setSimplePttReport(SWGSimplePTTReport* simple_ptt_report);
+
+
+ virtual bool isSet() override;
+
+private:
+ QString* feature_type;
+ bool m_feature_type_isSet;
+
+ SWGSimplePTTReport* simple_ptt_report;
+ bool m_simple_ptt_report_isSet;
+
+};
+
+}
+
+#endif /* SWGFeatureReport_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSet.cpp b/swagger/sdrangel/code/qt5/client/SWGFeatureSet.cpp
new file mode 100644
index 000000000..eec41fd1e
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSet.cpp
@@ -0,0 +1,137 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGFeatureSet.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeatureSet::SWGFeatureSet(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGFeatureSet::SWGFeatureSet() {
+ featurecount = 0;
+ m_featurecount_isSet = false;
+ features = nullptr;
+ m_features_isSet = false;
+}
+
+SWGFeatureSet::~SWGFeatureSet() {
+ this->cleanup();
+}
+
+void
+SWGFeatureSet::init() {
+ featurecount = 0;
+ m_featurecount_isSet = false;
+ features = new QList();
+ m_features_isSet = false;
+}
+
+void
+SWGFeatureSet::cleanup() {
+
+ if(features != nullptr) {
+ auto arr = features;
+ for(auto o: *arr) {
+ delete o;
+ }
+ delete features;
+ }
+}
+
+SWGFeatureSet*
+SWGFeatureSet::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGFeatureSet::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&featurecount, pJson["featurecount"], "qint32", "");
+
+
+ ::SWGSDRangel::setValue(&features, pJson["features"], "QList", "SWGFeature");
+}
+
+QString
+SWGFeatureSet::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGFeatureSet::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(m_featurecount_isSet){
+ obj->insert("featurecount", QJsonValue(featurecount));
+ }
+ if(features && features->size() > 0){
+ toJsonArray((QList*)features, obj, "features", "SWGFeature");
+ }
+
+ return obj;
+}
+
+qint32
+SWGFeatureSet::getFeaturecount() {
+ return featurecount;
+}
+void
+SWGFeatureSet::setFeaturecount(qint32 featurecount) {
+ this->featurecount = featurecount;
+ this->m_featurecount_isSet = true;
+}
+
+QList*
+SWGFeatureSet::getFeatures() {
+ return features;
+}
+void
+SWGFeatureSet::setFeatures(QList* features) {
+ this->features = features;
+ this->m_features_isSet = true;
+}
+
+
+bool
+SWGFeatureSet::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(m_featurecount_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(features && (features->size() > 0)){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSet.h b/swagger/sdrangel/code/qt5/client/SWGFeatureSet.h
new file mode 100644
index 000000000..ebc9b7800
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSet.h
@@ -0,0 +1,66 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGFeatureSet.h
+ *
+ * Grouping of features
+ */
+
+#ifndef SWGFeatureSet_H_
+#define SWGFeatureSet_H_
+
+#include
+
+
+#include "SWGFeature.h"
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGFeatureSet: public SWGObject {
+public:
+ SWGFeatureSet();
+ SWGFeatureSet(QString* json);
+ virtual ~SWGFeatureSet();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGFeatureSet* fromJson(QString &jsonString) override;
+
+ qint32 getFeaturecount();
+ void setFeaturecount(qint32 featurecount);
+
+ QList* getFeatures();
+ void setFeatures(QList* features);
+
+
+ virtual bool isSet() override;
+
+private:
+ qint32 featurecount;
+ bool m_featurecount_isSet;
+
+ QList* features;
+ bool m_features_isSet;
+
+};
+
+}
+
+#endif /* SWGFeatureSet_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSetApi.cpp b/swagger/sdrangel/code/qt5/client/SWGFeatureSetApi.cpp
new file mode 100644
index 000000000..11c748dd4
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSetApi.cpp
@@ -0,0 +1,656 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+#include "SWGFeatureSetApi.h"
+#include "SWGHelpers.h"
+#include "SWGModelFactory.h"
+
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeatureSetApi::SWGFeatureSetApi() {}
+
+SWGFeatureSetApi::~SWGFeatureSetApi() {}
+
+SWGFeatureSetApi::SWGFeatureSetApi(QString host, QString basePath) {
+ this->host = host;
+ this->basePath = basePath;
+}
+
+void
+SWGFeatureSetApi::featuresetFEatureSettingsPut(qint32 feature_set_index, qint32 feature_index, SWGFeatureSettings& body) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_index));
+
+
+ SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
+ SWGHttpRequestInput input(fullPath, "PUT");
+
+
+
+ QString output = body.asJson();
+ input.request_body.append(output);
+
+
+
+ foreach(QString key, this->defaultHeaders.keys()) {
+ input.headers.insert(key, this->defaultHeaders.value(key));
+ }
+
+ connect(worker,
+ &SWGHttpRequestWorker::on_execution_finished,
+ this,
+ &SWGFeatureSetApi::featuresetFEatureSettingsPutCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFEatureSettingsPutCallback(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);
+ SWGFeatureSettings* output = static_cast(create(json, QString("SWGFeatureSettings")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFEatureSettingsPutSignal(output);
+ } else {
+ emit featuresetFEatureSettingsPutSignalE(output, error_type, error_str);
+ emit featuresetFEatureSettingsPutSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureActionsPost(qint32 feature_set_index, qint32 feature_index, SWGFeatureActions& body) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_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,
+ &SWGFeatureSetApi::featuresetFeatureActionsPostCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureActionsPostCallback(SWGHttpRequestWorker * worker) {
+ QString msg;
+ QString error_str = worker->error_str;
+ QNetworkReply::NetworkError error_type = worker->error_type;
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ msg = QString("Success! %1 bytes").arg(worker->response.length());
+ }
+ else {
+ msg = "Error: " + worker->error_str;
+ }
+
+
+ QString json(worker->response);
+ SWGSuccessResponse* output = static_cast(create(json, QString("SWGSuccessResponse")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureActionsPostSignal(output);
+ } else {
+ emit featuresetFeatureActionsPostSignalE(output, error_type, error_str);
+ emit featuresetFeatureActionsPostSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureDelete(qint32 feature_set_index, qint32 feature_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_index));
+
+
+ SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
+ SWGHttpRequestInput input(fullPath, "DELETE");
+
+
+
+
+
+ foreach(QString key, this->defaultHeaders.keys()) {
+ input.headers.insert(key, this->defaultHeaders.value(key));
+ }
+
+ connect(worker,
+ &SWGHttpRequestWorker::on_execution_finished,
+ this,
+ &SWGFeatureSetApi::featuresetFeatureDeleteCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureDeleteCallback(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);
+ SWGFeatureSettings* output = static_cast(create(json, QString("SWGFeatureSettings")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureDeleteSignal(output);
+ } else {
+ emit featuresetFeatureDeleteSignalE(output, error_type, error_str);
+ emit featuresetFeatureDeleteSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeaturePost(qint32 feature_set_index, SWGFeatureSettings& body) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_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,
+ &SWGFeatureSetApi::featuresetFeaturePostCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeaturePostCallback(SWGHttpRequestWorker * worker) {
+ QString msg;
+ QString error_str = worker->error_str;
+ QNetworkReply::NetworkError error_type = worker->error_type;
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ msg = QString("Success! %1 bytes").arg(worker->response.length());
+ }
+ else {
+ msg = "Error: " + worker->error_str;
+ }
+
+
+ QString json(worker->response);
+ SWGSuccessResponse* output = static_cast(create(json, QString("SWGSuccessResponse")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeaturePostSignal(output);
+ } else {
+ emit featuresetFeaturePostSignalE(output, error_type, error_str);
+ emit featuresetFeaturePostSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureReportGet(qint32 feature_set_index, qint32 feature_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_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,
+ &SWGFeatureSetApi::featuresetFeatureReportGetCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureReportGetCallback(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);
+ SWGFeatureReport* output = static_cast(create(json, QString("SWGFeatureReport")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureReportGetSignal(output);
+ } else {
+ emit featuresetFeatureReportGetSignalE(output, error_type, error_str);
+ emit featuresetFeatureReportGetSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureRunDelete(qint32 feature_set_index, qint32 feature_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_index));
+
+
+ SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
+ SWGHttpRequestInput input(fullPath, "DELETE");
+
+
+
+
+
+ foreach(QString key, this->defaultHeaders.keys()) {
+ input.headers.insert(key, this->defaultHeaders.value(key));
+ }
+
+ connect(worker,
+ &SWGHttpRequestWorker::on_execution_finished,
+ this,
+ &SWGFeatureSetApi::featuresetFeatureRunDeleteCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureRunDeleteCallback(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(create(json, QString("SWGDeviceState")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureRunDeleteSignal(output);
+ } else {
+ emit featuresetFeatureRunDeleteSignalE(output, error_type, error_str);
+ emit featuresetFeatureRunDeleteSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureRunGet(qint32 feature_set_index, qint32 feature_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_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,
+ &SWGFeatureSetApi::featuresetFeatureRunGetCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureRunGetCallback(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(create(json, QString("SWGDeviceState")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureRunGetSignal(output);
+ } else {
+ emit featuresetFeatureRunGetSignalE(output, error_type, error_str);
+ emit featuresetFeatureRunGetSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureRunPost(qint32 feature_set_index, qint32 feature_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_index));
+
+
+ SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
+ SWGHttpRequestInput input(fullPath, "POST");
+
+
+
+
+
+ foreach(QString key, this->defaultHeaders.keys()) {
+ input.headers.insert(key, this->defaultHeaders.value(key));
+ }
+
+ connect(worker,
+ &SWGHttpRequestWorker::on_execution_finished,
+ this,
+ &SWGFeatureSetApi::featuresetFeatureRunPostCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureRunPostCallback(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(create(json, QString("SWGDeviceState")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureRunPostSignal(output);
+ } else {
+ emit featuresetFeatureRunPostSignalE(output, error_type, error_str);
+ emit featuresetFeatureRunPostSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureSettingsGet(qint32 feature_set_index, qint32 feature_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_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,
+ &SWGFeatureSetApi::featuresetFeatureSettingsGetCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureSettingsGetCallback(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);
+ SWGFeatureSettings* output = static_cast(create(json, QString("SWGFeatureSettings")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureSettingsGetSignal(output);
+ } else {
+ emit featuresetFeatureSettingsGetSignalE(output, error_type, error_str);
+ emit featuresetFeatureSettingsGetSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureSettingsPatch(qint32 feature_set_index, qint32 feature_index, SWGFeatureSettings& body) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_index));
+ QString feature_indexPathParam("{"); feature_indexPathParam.append("featureIndex").append("}");
+ fullPath.replace(feature_indexPathParam, stringValue(feature_index));
+
+
+ SWGHttpRequestWorker *worker = new SWGHttpRequestWorker();
+ SWGHttpRequestInput input(fullPath, "PATCH");
+
+
+
+ QString output = body.asJson();
+ input.request_body.append(output);
+
+
+
+ foreach(QString key, this->defaultHeaders.keys()) {
+ input.headers.insert(key, this->defaultHeaders.value(key));
+ }
+
+ connect(worker,
+ &SWGHttpRequestWorker::on_execution_finished,
+ this,
+ &SWGFeatureSetApi::featuresetFeatureSettingsPatchCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetFeatureSettingsPatchCallback(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);
+ SWGFeatureSettings* output = static_cast(create(json, QString("SWGFeatureSettings")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetFeatureSettingsPatchSignal(output);
+ } else {
+ emit featuresetFeatureSettingsPatchSignalE(output, error_type, error_str);
+ emit featuresetFeatureSettingsPatchSignalEFull(worker, error_type, error_str);
+ }
+}
+
+void
+SWGFeatureSetApi::featuresetGet(qint32 feature_set_index) {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featureset/{featureSetIndex}");
+
+ QString feature_set_indexPathParam("{"); feature_set_indexPathParam.append("featureSetIndex").append("}");
+ fullPath.replace(feature_set_indexPathParam, stringValue(feature_set_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,
+ &SWGFeatureSetApi::featuresetGetCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGFeatureSetApi::featuresetGetCallback(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);
+ SWGFeatureSet* output = static_cast(create(json, QString("SWGFeatureSet")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit featuresetGetSignal(output);
+ } else {
+ emit featuresetGetSignalE(output, error_type, error_str);
+ emit featuresetGetSignalEFull(worker, error_type, error_str);
+ }
+}
+
+
+}
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSetApi.h b/swagger/sdrangel/code/qt5/client/SWGFeatureSetApi.h
new file mode 100644
index 000000000..84d43d075
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSetApi.h
@@ -0,0 +1,107 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+#ifndef _SWG_SWGFeatureSetApi_H_
+#define _SWG_SWGFeatureSetApi_H_
+
+#include "SWGHttpRequest.h"
+
+#include "SWGDeviceState.h"
+#include "SWGErrorResponse.h"
+#include "SWGFeatureActions.h"
+#include "SWGFeatureReport.h"
+#include "SWGFeatureSet.h"
+#include "SWGFeatureSettings.h"
+#include "SWGSuccessResponse.h"
+
+#include
+
+namespace SWGSDRangel {
+
+class SWGFeatureSetApi: public QObject {
+ Q_OBJECT
+
+public:
+ SWGFeatureSetApi();
+ SWGFeatureSetApi(QString host, QString basePath);
+ ~SWGFeatureSetApi();
+
+ QString host;
+ QString basePath;
+ QMap defaultHeaders;
+
+ void featuresetFEatureSettingsPut(qint32 feature_set_index, qint32 feature_index, SWGFeatureSettings& body);
+ void featuresetFeatureActionsPost(qint32 feature_set_index, qint32 feature_index, SWGFeatureActions& body);
+ void featuresetFeatureDelete(qint32 feature_set_index, qint32 feature_index);
+ void featuresetFeaturePost(qint32 feature_set_index, SWGFeatureSettings& body);
+ void featuresetFeatureReportGet(qint32 feature_set_index, qint32 feature_index);
+ void featuresetFeatureRunDelete(qint32 feature_set_index, qint32 feature_index);
+ void featuresetFeatureRunGet(qint32 feature_set_index, qint32 feature_index);
+ void featuresetFeatureRunPost(qint32 feature_set_index, qint32 feature_index);
+ void featuresetFeatureSettingsGet(qint32 feature_set_index, qint32 feature_index);
+ void featuresetFeatureSettingsPatch(qint32 feature_set_index, qint32 feature_index, SWGFeatureSettings& body);
+ void featuresetGet(qint32 feature_set_index);
+
+private:
+ void featuresetFEatureSettingsPutCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureActionsPostCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureDeleteCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeaturePostCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureReportGetCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureRunDeleteCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureRunGetCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureRunPostCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureSettingsGetCallback (SWGHttpRequestWorker * worker);
+ void featuresetFeatureSettingsPatchCallback (SWGHttpRequestWorker * worker);
+ void featuresetGetCallback (SWGHttpRequestWorker * worker);
+
+signals:
+ void featuresetFEatureSettingsPutSignal(SWGFeatureSettings* summary);
+ void featuresetFeatureActionsPostSignal(SWGSuccessResponse* summary);
+ void featuresetFeatureDeleteSignal(SWGFeatureSettings* summary);
+ void featuresetFeaturePostSignal(SWGSuccessResponse* summary);
+ void featuresetFeatureReportGetSignal(SWGFeatureReport* summary);
+ void featuresetFeatureRunDeleteSignal(SWGDeviceState* summary);
+ void featuresetFeatureRunGetSignal(SWGDeviceState* summary);
+ void featuresetFeatureRunPostSignal(SWGDeviceState* summary);
+ void featuresetFeatureSettingsGetSignal(SWGFeatureSettings* summary);
+ void featuresetFeatureSettingsPatchSignal(SWGFeatureSettings* summary);
+ void featuresetGetSignal(SWGFeatureSet* summary);
+
+ void featuresetFEatureSettingsPutSignalE(SWGFeatureSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureActionsPostSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureDeleteSignalE(SWGFeatureSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeaturePostSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureReportGetSignalE(SWGFeatureReport* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureRunDeleteSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureRunGetSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureRunPostSignalE(SWGDeviceState* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureSettingsGetSignalE(SWGFeatureSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureSettingsPatchSignalE(SWGFeatureSettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetGetSignalE(SWGFeatureSet* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+
+ void featuresetFEatureSettingsPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureActionsPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeaturePostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureReportGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureRunDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureRunGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureRunPostSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureSettingsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetFeatureSettingsPatchSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void featuresetGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+
+};
+
+}
+#endif
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSetList.cpp b/swagger/sdrangel/code/qt5/client/SWGFeatureSetList.cpp
new file mode 100644
index 000000000..ca4ea86d0
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSetList.cpp
@@ -0,0 +1,137 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGFeatureSetList.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeatureSetList::SWGFeatureSetList(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGFeatureSetList::SWGFeatureSetList() {
+ featuresetcount = 0;
+ m_featuresetcount_isSet = false;
+ feature_sets = nullptr;
+ m_feature_sets_isSet = false;
+}
+
+SWGFeatureSetList::~SWGFeatureSetList() {
+ this->cleanup();
+}
+
+void
+SWGFeatureSetList::init() {
+ featuresetcount = 0;
+ m_featuresetcount_isSet = false;
+ feature_sets = new QList();
+ m_feature_sets_isSet = false;
+}
+
+void
+SWGFeatureSetList::cleanup() {
+
+ if(feature_sets != nullptr) {
+ auto arr = feature_sets;
+ for(auto o: *arr) {
+ delete o;
+ }
+ delete feature_sets;
+ }
+}
+
+SWGFeatureSetList*
+SWGFeatureSetList::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGFeatureSetList::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&featuresetcount, pJson["featuresetcount"], "qint32", "");
+
+
+ ::SWGSDRangel::setValue(&feature_sets, pJson["featureSets"], "QList", "SWGFeatureSet");
+}
+
+QString
+SWGFeatureSetList::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGFeatureSetList::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(m_featuresetcount_isSet){
+ obj->insert("featuresetcount", QJsonValue(featuresetcount));
+ }
+ if(feature_sets && feature_sets->size() > 0){
+ toJsonArray((QList*)feature_sets, obj, "featureSets", "SWGFeatureSet");
+ }
+
+ return obj;
+}
+
+qint32
+SWGFeatureSetList::getFeaturesetcount() {
+ return featuresetcount;
+}
+void
+SWGFeatureSetList::setFeaturesetcount(qint32 featuresetcount) {
+ this->featuresetcount = featuresetcount;
+ this->m_featuresetcount_isSet = true;
+}
+
+QList*
+SWGFeatureSetList::getFeatureSets() {
+ return feature_sets;
+}
+void
+SWGFeatureSetList::setFeatureSets(QList* feature_sets) {
+ this->feature_sets = feature_sets;
+ this->m_feature_sets_isSet = true;
+}
+
+
+bool
+SWGFeatureSetList::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(m_featuresetcount_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(feature_sets && (feature_sets->size() > 0)){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSetList.h b/swagger/sdrangel/code/qt5/client/SWGFeatureSetList.h
new file mode 100644
index 000000000..1a62bb349
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSetList.h
@@ -0,0 +1,66 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGFeatureSetList.h
+ *
+ * List of feature sets opened in this instance
+ */
+
+#ifndef SWGFeatureSetList_H_
+#define SWGFeatureSetList_H_
+
+#include
+
+
+#include "SWGFeatureSet.h"
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGFeatureSetList: public SWGObject {
+public:
+ SWGFeatureSetList();
+ SWGFeatureSetList(QString* json);
+ virtual ~SWGFeatureSetList();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGFeatureSetList* fromJson(QString &jsonString) override;
+
+ qint32 getFeaturesetcount();
+ void setFeaturesetcount(qint32 featuresetcount);
+
+ QList* getFeatureSets();
+ void setFeatureSets(QList* feature_sets);
+
+
+ virtual bool isSet() override;
+
+private:
+ qint32 featuresetcount;
+ bool m_featuresetcount_isSet;
+
+ QList* feature_sets;
+ bool m_feature_sets_isSet;
+
+};
+
+}
+
+#endif /* SWGFeatureSetList_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFeatureSettings.cpp
new file mode 100644
index 000000000..e89bcc3fa
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSettings.cpp
@@ -0,0 +1,181 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGFeatureSettings.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGFeatureSettings::SWGFeatureSettings(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGFeatureSettings::SWGFeatureSettings() {
+ feature_type = nullptr;
+ m_feature_type_isSet = false;
+ originator_feature_set_index = 0;
+ m_originator_feature_set_index_isSet = false;
+ originator_feature_index = 0;
+ m_originator_feature_index_isSet = false;
+ simple_ptt_settings = nullptr;
+ m_simple_ptt_settings_isSet = false;
+}
+
+SWGFeatureSettings::~SWGFeatureSettings() {
+ this->cleanup();
+}
+
+void
+SWGFeatureSettings::init() {
+ feature_type = new QString("");
+ m_feature_type_isSet = false;
+ originator_feature_set_index = 0;
+ m_originator_feature_set_index_isSet = false;
+ originator_feature_index = 0;
+ m_originator_feature_index_isSet = false;
+ simple_ptt_settings = new SWGSimplePTTSettings();
+ m_simple_ptt_settings_isSet = false;
+}
+
+void
+SWGFeatureSettings::cleanup() {
+ if(feature_type != nullptr) {
+ delete feature_type;
+ }
+
+
+ if(simple_ptt_settings != nullptr) {
+ delete simple_ptt_settings;
+ }
+}
+
+SWGFeatureSettings*
+SWGFeatureSettings::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGFeatureSettings::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&feature_type, pJson["featureType"], "QString", "QString");
+
+ ::SWGSDRangel::setValue(&originator_feature_set_index, pJson["originatorFeatureSetIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&originator_feature_index, pJson["originatorFeatureIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&simple_ptt_settings, pJson["SimplePTTSettings"], "SWGSimplePTTSettings", "SWGSimplePTTSettings");
+
+}
+
+QString
+SWGFeatureSettings::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGFeatureSettings::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(feature_type != nullptr && *feature_type != QString("")){
+ toJsonValue(QString("featureType"), feature_type, obj, QString("QString"));
+ }
+ if(m_originator_feature_set_index_isSet){
+ obj->insert("originatorFeatureSetIndex", QJsonValue(originator_feature_set_index));
+ }
+ if(m_originator_feature_index_isSet){
+ obj->insert("originatorFeatureIndex", QJsonValue(originator_feature_index));
+ }
+ if((simple_ptt_settings != nullptr) && (simple_ptt_settings->isSet())){
+ toJsonValue(QString("SimplePTTSettings"), simple_ptt_settings, obj, QString("SWGSimplePTTSettings"));
+ }
+
+ return obj;
+}
+
+QString*
+SWGFeatureSettings::getFeatureType() {
+ return feature_type;
+}
+void
+SWGFeatureSettings::setFeatureType(QString* feature_type) {
+ this->feature_type = feature_type;
+ this->m_feature_type_isSet = true;
+}
+
+qint32
+SWGFeatureSettings::getOriginatorFeatureSetIndex() {
+ return originator_feature_set_index;
+}
+void
+SWGFeatureSettings::setOriginatorFeatureSetIndex(qint32 originator_feature_set_index) {
+ this->originator_feature_set_index = originator_feature_set_index;
+ this->m_originator_feature_set_index_isSet = true;
+}
+
+qint32
+SWGFeatureSettings::getOriginatorFeatureIndex() {
+ return originator_feature_index;
+}
+void
+SWGFeatureSettings::setOriginatorFeatureIndex(qint32 originator_feature_index) {
+ this->originator_feature_index = originator_feature_index;
+ this->m_originator_feature_index_isSet = true;
+}
+
+SWGSimplePTTSettings*
+SWGFeatureSettings::getSimplePttSettings() {
+ return simple_ptt_settings;
+}
+void
+SWGFeatureSettings::setSimplePttSettings(SWGSimplePTTSettings* simple_ptt_settings) {
+ this->simple_ptt_settings = simple_ptt_settings;
+ this->m_simple_ptt_settings_isSet = true;
+}
+
+
+bool
+SWGFeatureSettings::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(feature_type && *feature_type != QString("")){
+ isObjectUpdated = true; break;
+ }
+ if(m_originator_feature_set_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_originator_feature_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(simple_ptt_settings && simple_ptt_settings->isSet()){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGFeatureSettings.h b/swagger/sdrangel/code/qt5/client/SWGFeatureSettings.h
new file mode 100644
index 000000000..c93724163
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGFeatureSettings.h
@@ -0,0 +1,78 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGFeatureSettings.h
+ *
+ * Base feature settings. Only the feature settings corresponding to the feature specified in the featureType field is or should be present.
+ */
+
+#ifndef SWGFeatureSettings_H_
+#define SWGFeatureSettings_H_
+
+#include
+
+
+#include "SWGSimplePTTSettings.h"
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGFeatureSettings: public SWGObject {
+public:
+ SWGFeatureSettings();
+ SWGFeatureSettings(QString* json);
+ virtual ~SWGFeatureSettings();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGFeatureSettings* fromJson(QString &jsonString) override;
+
+ QString* getFeatureType();
+ void setFeatureType(QString* feature_type);
+
+ qint32 getOriginatorFeatureSetIndex();
+ void setOriginatorFeatureSetIndex(qint32 originator_feature_set_index);
+
+ qint32 getOriginatorFeatureIndex();
+ void setOriginatorFeatureIndex(qint32 originator_feature_index);
+
+ SWGSimplePTTSettings* getSimplePttSettings();
+ void setSimplePttSettings(SWGSimplePTTSettings* simple_ptt_settings);
+
+
+ virtual bool isSet() override;
+
+private:
+ QString* feature_type;
+ bool m_feature_type_isSet;
+
+ qint32 originator_feature_set_index;
+ bool m_originator_feature_set_index_isSet;
+
+ qint32 originator_feature_index;
+ bool m_originator_feature_index_isSet;
+
+ SWGSimplePTTSettings* simple_ptt_settings;
+ bool m_simple_ptt_settings_isSet;
+
+};
+
+}
+
+#endif /* SWGFeatureSettings_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp
index 2f779c1b2..2487bf50f 100644
--- a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp
+++ b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.cpp
@@ -1056,6 +1056,58 @@ SWGInstanceApi::instanceDevicesCallback(SWGHttpRequestWorker * worker) {
}
}
+void
+SWGInstanceApi::instanceFeatureSetsGet() {
+ QString fullPath;
+ fullPath.append(this->host).append(this->basePath).append("/sdrangel/featuresets");
+
+
+
+ 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,
+ &SWGInstanceApi::instanceFeatureSetsGetCallback);
+
+ worker->execute(&input);
+}
+
+void
+SWGInstanceApi::instanceFeatureSetsGetCallback(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);
+ SWGFeatureSetList* output = static_cast(create(json, QString("SWGFeatureSetList")));
+ worker->deleteLater();
+
+ if (worker->error_type == QNetworkReply::NoError) {
+ emit instanceFeatureSetsGetSignal(output);
+ } else {
+ emit instanceFeatureSetsGetSignalE(output, error_type, error_str);
+ emit instanceFeatureSetsGetSignalEFull(worker, error_type, error_str);
+ }
+}
+
void
SWGInstanceApi::instanceLimeRFEConfigGet(QString* serial) {
QString fullPath;
diff --git a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h
index d47b9a7aa..b3751fba7 100644
--- a/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h
+++ b/swagger/sdrangel/code/qt5/client/SWGInstanceApi.h
@@ -23,6 +23,7 @@
#include "SWGDVSerialDevices.h"
#include "SWGDeviceSetList.h"
#include "SWGErrorResponse.h"
+#include "SWGFeatureSetList.h"
#include "SWGInstanceChannelsResponse.h"
#include "SWGInstanceConfigResponse.h"
#include "SWGInstanceDevicesResponse.h"
@@ -74,6 +75,7 @@ public:
void instanceDelete();
void instanceDeviceSetsGet();
void instanceDevices(qint32 direction);
+ void instanceFeatureSetsGet();
void instanceLimeRFEConfigGet(QString* serial);
void instanceLimeRFEConfigPut(SWGLimeRFESettings& body);
void instanceLimeRFEPowerGet(QString* serial);
@@ -112,6 +114,7 @@ private:
void instanceDeleteCallback (SWGHttpRequestWorker * worker);
void instanceDeviceSetsGetCallback (SWGHttpRequestWorker * worker);
void instanceDevicesCallback (SWGHttpRequestWorker * worker);
+ void instanceFeatureSetsGetCallback (SWGHttpRequestWorker * worker);
void instanceLimeRFEConfigGetCallback (SWGHttpRequestWorker * worker);
void instanceLimeRFEConfigPutCallback (SWGHttpRequestWorker * worker);
void instanceLimeRFEPowerGetCallback (SWGHttpRequestWorker * worker);
@@ -150,6 +153,7 @@ signals:
void instanceDeleteSignal(SWGInstanceSummaryResponse* summary);
void instanceDeviceSetsGetSignal(SWGDeviceSetList* summary);
void instanceDevicesSignal(SWGInstanceDevicesResponse* summary);
+ void instanceFeatureSetsGetSignal(SWGFeatureSetList* summary);
void instanceLimeRFEConfigGetSignal(SWGLimeRFESettings* summary);
void instanceLimeRFEConfigPutSignal(SWGSuccessResponse* summary);
void instanceLimeRFEPowerGetSignal(SWGLimeRFEPower* summary);
@@ -187,6 +191,7 @@ signals:
void instanceDeleteSignalE(SWGInstanceSummaryResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceDeviceSetsGetSignalE(SWGDeviceSetList* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceDevicesSignalE(SWGInstanceDevicesResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
+ void instanceFeatureSetsGetSignalE(SWGFeatureSetList* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceLimeRFEConfigGetSignalE(SWGLimeRFESettings* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceLimeRFEConfigPutSignalE(SWGSuccessResponse* summary, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceLimeRFEPowerGetSignalE(SWGLimeRFEPower* summary, QNetworkReply::NetworkError error_type, QString& error_str);
@@ -224,6 +229,7 @@ signals:
void instanceDeleteSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceDeviceSetsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceDevicesSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
+ void instanceFeatureSetsGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceLimeRFEConfigGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceLimeRFEConfigPutSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
void instanceLimeRFEPowerGetSignalEFull(SWGHttpRequestWorker* worker, QNetworkReply::NetworkError error_type, QString& error_str);
diff --git a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h
index 319e3c063..bec411e8d 100644
--- a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h
+++ b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h
@@ -76,6 +76,12 @@
#include "SWGErrorResponse.h"
#include "SWGFCDProPlusSettings.h"
#include "SWGFCDProSettings.h"
+#include "SWGFeature.h"
+#include "SWGFeatureActions.h"
+#include "SWGFeatureReport.h"
+#include "SWGFeatureSet.h"
+#include "SWGFeatureSetList.h"
+#include "SWGFeatureSettings.h"
#include "SWGFileInputReport.h"
#include "SWGFileInputSettings.h"
#include "SWGFileSinkActions.h"
@@ -171,6 +177,9 @@
#include "SWGSigMFFileSinkActions.h"
#include "SWGSigMFFileSinkReport.h"
#include "SWGSigMFFileSinkSettings.h"
+#include "SWGSimplePTTActions.h"
+#include "SWGSimplePTTReport.h"
+#include "SWGSimplePTTSettings.h"
#include "SWGSoapySDRFrequencySetting.h"
#include "SWGSoapySDRGainSetting.h"
#include "SWGSoapySDRInputSettings.h"
@@ -389,6 +398,24 @@ namespace SWGSDRangel {
if(QString("SWGFCDProSettings").compare(type) == 0) {
return new SWGFCDProSettings();
}
+ if(QString("SWGFeature").compare(type) == 0) {
+ return new SWGFeature();
+ }
+ if(QString("SWGFeatureActions").compare(type) == 0) {
+ return new SWGFeatureActions();
+ }
+ if(QString("SWGFeatureReport").compare(type) == 0) {
+ return new SWGFeatureReport();
+ }
+ if(QString("SWGFeatureSet").compare(type) == 0) {
+ return new SWGFeatureSet();
+ }
+ if(QString("SWGFeatureSetList").compare(type) == 0) {
+ return new SWGFeatureSetList();
+ }
+ if(QString("SWGFeatureSettings").compare(type) == 0) {
+ return new SWGFeatureSettings();
+ }
if(QString("SWGFileInputReport").compare(type) == 0) {
return new SWGFileInputReport();
}
@@ -674,6 +701,15 @@ namespace SWGSDRangel {
if(QString("SWGSigMFFileSinkSettings").compare(type) == 0) {
return new SWGSigMFFileSinkSettings();
}
+ if(QString("SWGSimplePTTActions").compare(type) == 0) {
+ return new SWGSimplePTTActions();
+ }
+ if(QString("SWGSimplePTTReport").compare(type) == 0) {
+ return new SWGSimplePTTReport();
+ }
+ if(QString("SWGSimplePTTSettings").compare(type) == 0) {
+ return new SWGSimplePTTSettings();
+ }
if(QString("SWGSoapySDRFrequencySetting").compare(type) == 0) {
return new SWGSoapySDRFrequencySetting();
}
diff --git a/swagger/sdrangel/code/qt5/client/SWGSimplePTTActions.cpp b/swagger/sdrangel/code/qt5/client/SWGSimplePTTActions.cpp
new file mode 100644
index 000000000..7e24f39bf
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGSimplePTTActions.cpp
@@ -0,0 +1,108 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGSimplePTTActions.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGSimplePTTActions::SWGSimplePTTActions(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGSimplePTTActions::SWGSimplePTTActions() {
+ ptt = 0;
+ m_ptt_isSet = false;
+}
+
+SWGSimplePTTActions::~SWGSimplePTTActions() {
+ this->cleanup();
+}
+
+void
+SWGSimplePTTActions::init() {
+ ptt = 0;
+ m_ptt_isSet = false;
+}
+
+void
+SWGSimplePTTActions::cleanup() {
+
+}
+
+SWGSimplePTTActions*
+SWGSimplePTTActions::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGSimplePTTActions::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&ptt, pJson["ptt"], "qint32", "");
+
+}
+
+QString
+SWGSimplePTTActions::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGSimplePTTActions::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(m_ptt_isSet){
+ obj->insert("ptt", QJsonValue(ptt));
+ }
+
+ return obj;
+}
+
+qint32
+SWGSimplePTTActions::getPtt() {
+ return ptt;
+}
+void
+SWGSimplePTTActions::setPtt(qint32 ptt) {
+ this->ptt = ptt;
+ this->m_ptt_isSet = true;
+}
+
+
+bool
+SWGSimplePTTActions::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(m_ptt_isSet){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGSimplePTTActions.h b/swagger/sdrangel/code/qt5/client/SWGSimplePTTActions.h
new file mode 100644
index 000000000..fbbc02d69
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGSimplePTTActions.h
@@ -0,0 +1,58 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGSimplePTTActions.h
+ *
+ * Simple PTT actions
+ */
+
+#ifndef SWGSimplePTTActions_H_
+#define SWGSimplePTTActions_H_
+
+#include
+
+
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGSimplePTTActions: public SWGObject {
+public:
+ SWGSimplePTTActions();
+ SWGSimplePTTActions(QString* json);
+ virtual ~SWGSimplePTTActions();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGSimplePTTActions* fromJson(QString &jsonString) override;
+
+ qint32 getPtt();
+ void setPtt(qint32 ptt);
+
+
+ virtual bool isSet() override;
+
+private:
+ qint32 ptt;
+ bool m_ptt_isSet;
+
+};
+
+}
+
+#endif /* SWGSimplePTTActions_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGSimplePTTReport.cpp b/swagger/sdrangel/code/qt5/client/SWGSimplePTTReport.cpp
new file mode 100644
index 000000000..0b09fd2d9
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGSimplePTTReport.cpp
@@ -0,0 +1,108 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGSimplePTTReport.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGSimplePTTReport::SWGSimplePTTReport(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGSimplePTTReport::SWGSimplePTTReport() {
+ ptt = 0;
+ m_ptt_isSet = false;
+}
+
+SWGSimplePTTReport::~SWGSimplePTTReport() {
+ this->cleanup();
+}
+
+void
+SWGSimplePTTReport::init() {
+ ptt = 0;
+ m_ptt_isSet = false;
+}
+
+void
+SWGSimplePTTReport::cleanup() {
+
+}
+
+SWGSimplePTTReport*
+SWGSimplePTTReport::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGSimplePTTReport::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&ptt, pJson["ptt"], "qint32", "");
+
+}
+
+QString
+SWGSimplePTTReport::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGSimplePTTReport::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(m_ptt_isSet){
+ obj->insert("ptt", QJsonValue(ptt));
+ }
+
+ return obj;
+}
+
+qint32
+SWGSimplePTTReport::getPtt() {
+ return ptt;
+}
+void
+SWGSimplePTTReport::setPtt(qint32 ptt) {
+ this->ptt = ptt;
+ this->m_ptt_isSet = true;
+}
+
+
+bool
+SWGSimplePTTReport::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(m_ptt_isSet){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGSimplePTTReport.h b/swagger/sdrangel/code/qt5/client/SWGSimplePTTReport.h
new file mode 100644
index 000000000..64cede8a2
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGSimplePTTReport.h
@@ -0,0 +1,58 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGSimplePTTReport.h
+ *
+ * Simple PTT report
+ */
+
+#ifndef SWGSimplePTTReport_H_
+#define SWGSimplePTTReport_H_
+
+#include
+
+
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGSimplePTTReport: public SWGObject {
+public:
+ SWGSimplePTTReport();
+ SWGSimplePTTReport(QString* json);
+ virtual ~SWGSimplePTTReport();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGSimplePTTReport* fromJson(QString &jsonString) override;
+
+ qint32 getPtt();
+ void setPtt(qint32 ptt);
+
+
+ virtual bool isSet() override;
+
+private:
+ qint32 ptt;
+ bool m_ptt_isSet;
+
+};
+
+}
+
+#endif /* SWGSimplePTTReport_H_ */
diff --git a/swagger/sdrangel/code/qt5/client/SWGSimplePTTSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSimplePTTSettings.cpp
new file mode 100644
index 000000000..687d03bce
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGSimplePTTSettings.cpp
@@ -0,0 +1,342 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+#include "SWGSimplePTTSettings.h"
+
+#include "SWGHelpers.h"
+
+#include
+#include
+#include
+#include
+
+namespace SWGSDRangel {
+
+SWGSimplePTTSettings::SWGSimplePTTSettings(QString* json) {
+ init();
+ this->fromJson(*json);
+}
+
+SWGSimplePTTSettings::SWGSimplePTTSettings() {
+ title = nullptr;
+ m_title_isSet = false;
+ rgb_color = 0;
+ m_rgb_color_isSet = false;
+ rx_device_set_index = 0;
+ m_rx_device_set_index_isSet = false;
+ tx_device_set_index = 0;
+ m_tx_device_set_index_isSet = false;
+ rx2_tx_delay_ms = 0;
+ m_rx2_tx_delay_ms_isSet = false;
+ tx2_rx_delay_ms = 0;
+ m_tx2_rx_delay_ms_isSet = false;
+ use_reverse_api = 0;
+ m_use_reverse_api_isSet = false;
+ reverse_api_address = nullptr;
+ m_reverse_api_address_isSet = false;
+ reverse_api_port = 0;
+ m_reverse_api_port_isSet = false;
+ reverse_api_device_index = 0;
+ m_reverse_api_device_index_isSet = false;
+ reverse_api_channel_index = 0;
+ m_reverse_api_channel_index_isSet = false;
+}
+
+SWGSimplePTTSettings::~SWGSimplePTTSettings() {
+ this->cleanup();
+}
+
+void
+SWGSimplePTTSettings::init() {
+ title = new QString("");
+ m_title_isSet = false;
+ rgb_color = 0;
+ m_rgb_color_isSet = false;
+ rx_device_set_index = 0;
+ m_rx_device_set_index_isSet = false;
+ tx_device_set_index = 0;
+ m_tx_device_set_index_isSet = false;
+ rx2_tx_delay_ms = 0;
+ m_rx2_tx_delay_ms_isSet = false;
+ tx2_rx_delay_ms = 0;
+ m_tx2_rx_delay_ms_isSet = false;
+ use_reverse_api = 0;
+ m_use_reverse_api_isSet = false;
+ reverse_api_address = new QString("");
+ m_reverse_api_address_isSet = false;
+ reverse_api_port = 0;
+ m_reverse_api_port_isSet = false;
+ reverse_api_device_index = 0;
+ m_reverse_api_device_index_isSet = false;
+ reverse_api_channel_index = 0;
+ m_reverse_api_channel_index_isSet = false;
+}
+
+void
+SWGSimplePTTSettings::cleanup() {
+ if(title != nullptr) {
+ delete title;
+ }
+
+
+
+
+
+
+ if(reverse_api_address != nullptr) {
+ delete reverse_api_address;
+ }
+
+
+
+}
+
+SWGSimplePTTSettings*
+SWGSimplePTTSettings::fromJson(QString &json) {
+ QByteArray array (json.toStdString().c_str());
+ QJsonDocument doc = QJsonDocument::fromJson(array);
+ QJsonObject jsonObject = doc.object();
+ this->fromJsonObject(jsonObject);
+ return this;
+}
+
+void
+SWGSimplePTTSettings::fromJsonObject(QJsonObject &pJson) {
+ ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
+
+ ::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&rx_device_set_index, pJson["rxDeviceSetIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&tx_device_set_index, pJson["txDeviceSetIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&rx2_tx_delay_ms, pJson["rx2TxDelayMs"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&tx2_rx_delay_ms, pJson["tx2RxDelayMs"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString");
+
+ ::SWGSDRangel::setValue(&reverse_api_port, pJson["reverseAPIPort"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&reverse_api_device_index, pJson["reverseAPIDeviceIndex"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&reverse_api_channel_index, pJson["reverseAPIChannelIndex"], "qint32", "");
+
+}
+
+QString
+SWGSimplePTTSettings::asJson ()
+{
+ QJsonObject* obj = this->asJsonObject();
+
+ QJsonDocument doc(*obj);
+ QByteArray bytes = doc.toJson();
+ delete obj;
+ return QString(bytes);
+}
+
+QJsonObject*
+SWGSimplePTTSettings::asJsonObject() {
+ QJsonObject* obj = new QJsonObject();
+ if(title != nullptr && *title != QString("")){
+ toJsonValue(QString("title"), title, obj, QString("QString"));
+ }
+ if(m_rgb_color_isSet){
+ obj->insert("rgbColor", QJsonValue(rgb_color));
+ }
+ if(m_rx_device_set_index_isSet){
+ obj->insert("rxDeviceSetIndex", QJsonValue(rx_device_set_index));
+ }
+ if(m_tx_device_set_index_isSet){
+ obj->insert("txDeviceSetIndex", QJsonValue(tx_device_set_index));
+ }
+ if(m_rx2_tx_delay_ms_isSet){
+ obj->insert("rx2TxDelayMs", QJsonValue(rx2_tx_delay_ms));
+ }
+ if(m_tx2_rx_delay_ms_isSet){
+ obj->insert("tx2RxDelayMs", QJsonValue(tx2_rx_delay_ms));
+ }
+ if(m_use_reverse_api_isSet){
+ obj->insert("useReverseAPI", QJsonValue(use_reverse_api));
+ }
+ if(reverse_api_address != nullptr && *reverse_api_address != QString("")){
+ toJsonValue(QString("reverseAPIAddress"), reverse_api_address, obj, QString("QString"));
+ }
+ if(m_reverse_api_port_isSet){
+ obj->insert("reverseAPIPort", QJsonValue(reverse_api_port));
+ }
+ if(m_reverse_api_device_index_isSet){
+ obj->insert("reverseAPIDeviceIndex", QJsonValue(reverse_api_device_index));
+ }
+ if(m_reverse_api_channel_index_isSet){
+ obj->insert("reverseAPIChannelIndex", QJsonValue(reverse_api_channel_index));
+ }
+
+ return obj;
+}
+
+QString*
+SWGSimplePTTSettings::getTitle() {
+ return title;
+}
+void
+SWGSimplePTTSettings::setTitle(QString* title) {
+ this->title = title;
+ this->m_title_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getRgbColor() {
+ return rgb_color;
+}
+void
+SWGSimplePTTSettings::setRgbColor(qint32 rgb_color) {
+ this->rgb_color = rgb_color;
+ this->m_rgb_color_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getRxDeviceSetIndex() {
+ return rx_device_set_index;
+}
+void
+SWGSimplePTTSettings::setRxDeviceSetIndex(qint32 rx_device_set_index) {
+ this->rx_device_set_index = rx_device_set_index;
+ this->m_rx_device_set_index_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getTxDeviceSetIndex() {
+ return tx_device_set_index;
+}
+void
+SWGSimplePTTSettings::setTxDeviceSetIndex(qint32 tx_device_set_index) {
+ this->tx_device_set_index = tx_device_set_index;
+ this->m_tx_device_set_index_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getRx2TxDelayMs() {
+ return rx2_tx_delay_ms;
+}
+void
+SWGSimplePTTSettings::setRx2TxDelayMs(qint32 rx2_tx_delay_ms) {
+ this->rx2_tx_delay_ms = rx2_tx_delay_ms;
+ this->m_rx2_tx_delay_ms_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getTx2RxDelayMs() {
+ return tx2_rx_delay_ms;
+}
+void
+SWGSimplePTTSettings::setTx2RxDelayMs(qint32 tx2_rx_delay_ms) {
+ this->tx2_rx_delay_ms = tx2_rx_delay_ms;
+ this->m_tx2_rx_delay_ms_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getUseReverseApi() {
+ return use_reverse_api;
+}
+void
+SWGSimplePTTSettings::setUseReverseApi(qint32 use_reverse_api) {
+ this->use_reverse_api = use_reverse_api;
+ this->m_use_reverse_api_isSet = true;
+}
+
+QString*
+SWGSimplePTTSettings::getReverseApiAddress() {
+ return reverse_api_address;
+}
+void
+SWGSimplePTTSettings::setReverseApiAddress(QString* reverse_api_address) {
+ this->reverse_api_address = reverse_api_address;
+ this->m_reverse_api_address_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getReverseApiPort() {
+ return reverse_api_port;
+}
+void
+SWGSimplePTTSettings::setReverseApiPort(qint32 reverse_api_port) {
+ this->reverse_api_port = reverse_api_port;
+ this->m_reverse_api_port_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getReverseApiDeviceIndex() {
+ return reverse_api_device_index;
+}
+void
+SWGSimplePTTSettings::setReverseApiDeviceIndex(qint32 reverse_api_device_index) {
+ this->reverse_api_device_index = reverse_api_device_index;
+ this->m_reverse_api_device_index_isSet = true;
+}
+
+qint32
+SWGSimplePTTSettings::getReverseApiChannelIndex() {
+ return reverse_api_channel_index;
+}
+void
+SWGSimplePTTSettings::setReverseApiChannelIndex(qint32 reverse_api_channel_index) {
+ this->reverse_api_channel_index = reverse_api_channel_index;
+ this->m_reverse_api_channel_index_isSet = true;
+}
+
+
+bool
+SWGSimplePTTSettings::isSet(){
+ bool isObjectUpdated = false;
+ do{
+ if(title && *title != QString("")){
+ isObjectUpdated = true; break;
+ }
+ if(m_rgb_color_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_rx_device_set_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_tx_device_set_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_rx2_tx_delay_ms_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_tx2_rx_delay_ms_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_use_reverse_api_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(reverse_api_address && *reverse_api_address != QString("")){
+ isObjectUpdated = true; break;
+ }
+ if(m_reverse_api_port_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_reverse_api_device_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_reverse_api_channel_index_isSet){
+ isObjectUpdated = true; break;
+ }
+ }while(false);
+ return isObjectUpdated;
+}
+}
+
diff --git a/swagger/sdrangel/code/qt5/client/SWGSimplePTTSettings.h b/swagger/sdrangel/code/qt5/client/SWGSimplePTTSettings.h
new file mode 100644
index 000000000..8db491a01
--- /dev/null
+++ b/swagger/sdrangel/code/qt5/client/SWGSimplePTTSettings.h
@@ -0,0 +1,119 @@
+/**
+ * SDRangel
+ * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
+ *
+ * OpenAPI spec version: 5.9.0
+ * Contact: f4exb06@gmail.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/*
+ * SWGSimplePTTSettings.h
+ *
+ * Simple PTT settings
+ */
+
+#ifndef SWGSimplePTTSettings_H_
+#define SWGSimplePTTSettings_H_
+
+#include
+
+
+#include
+
+#include "SWGObject.h"
+#include "export.h"
+
+namespace SWGSDRangel {
+
+class SWG_API SWGSimplePTTSettings: public SWGObject {
+public:
+ SWGSimplePTTSettings();
+ SWGSimplePTTSettings(QString* json);
+ virtual ~SWGSimplePTTSettings();
+ void init();
+ void cleanup();
+
+ virtual QString asJson () override;
+ virtual QJsonObject* asJsonObject() override;
+ virtual void fromJsonObject(QJsonObject &json) override;
+ virtual SWGSimplePTTSettings* fromJson(QString &jsonString) override;
+
+ QString* getTitle();
+ void setTitle(QString* title);
+
+ qint32 getRgbColor();
+ void setRgbColor(qint32 rgb_color);
+
+ qint32 getRxDeviceSetIndex();
+ void setRxDeviceSetIndex(qint32 rx_device_set_index);
+
+ qint32 getTxDeviceSetIndex();
+ void setTxDeviceSetIndex(qint32 tx_device_set_index);
+
+ qint32 getRx2TxDelayMs();
+ void setRx2TxDelayMs(qint32 rx2_tx_delay_ms);
+
+ qint32 getTx2RxDelayMs();
+ void setTx2RxDelayMs(qint32 tx2_rx_delay_ms);
+
+ qint32 getUseReverseApi();
+ void setUseReverseApi(qint32 use_reverse_api);
+
+ QString* getReverseApiAddress();
+ void setReverseApiAddress(QString* reverse_api_address);
+
+ qint32 getReverseApiPort();
+ void setReverseApiPort(qint32 reverse_api_port);
+
+ qint32 getReverseApiDeviceIndex();
+ void setReverseApiDeviceIndex(qint32 reverse_api_device_index);
+
+ qint32 getReverseApiChannelIndex();
+ void setReverseApiChannelIndex(qint32 reverse_api_channel_index);
+
+
+ virtual bool isSet() override;
+
+private:
+ QString* title;
+ bool m_title_isSet;
+
+ qint32 rgb_color;
+ bool m_rgb_color_isSet;
+
+ qint32 rx_device_set_index;
+ bool m_rx_device_set_index_isSet;
+
+ qint32 tx_device_set_index;
+ bool m_tx_device_set_index_isSet;
+
+ qint32 rx2_tx_delay_ms;
+ bool m_rx2_tx_delay_ms_isSet;
+
+ qint32 tx2_rx_delay_ms;
+ bool m_tx2_rx_delay_ms_isSet;
+
+ qint32 use_reverse_api;
+ bool m_use_reverse_api_isSet;
+
+ QString* reverse_api_address;
+ bool m_reverse_api_address_isSet;
+
+ qint32 reverse_api_port;
+ bool m_reverse_api_port_isSet;
+
+ qint32 reverse_api_device_index;
+ bool m_reverse_api_device_index_isSet;
+
+ qint32 reverse_api_channel_index;
+ bool m_reverse_api_channel_index_isSet;
+
+};
+
+}
+
+#endif /* SWGSimplePTTSettings_H_ */