| 
									
										
										
										
											2017-11-18 19:34:47 +01:00
										 |  |  | ///////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | // Copyright (C) 2017 Edouard Griffiths, F4EXB.                                  //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // Swagger server adapter interface                                              //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // This program is free software; you can redistribute it and/or modify          //
 | 
					
						
							|  |  |  | // it under the terms of the GNU General Public License as published by          //
 | 
					
						
							|  |  |  | // the Free Software Foundation as version 3 of the License, or                  //
 | 
					
						
							| 
									
										
										
										
											2019-04-11 14:32:15 +02:00
										 |  |  | // (at your option) any later version.                                           //
 | 
					
						
							| 
									
										
										
										
											2017-11-18 19:34:47 +01:00
										 |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // This program is distributed in the hope that it will be useful,               //
 | 
					
						
							|  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of                //
 | 
					
						
							|  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                  //
 | 
					
						
							|  |  |  | // GNU General Public License V3 for more details.                               //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // You should have received a copy of the GNU General Public License             //
 | 
					
						
							|  |  |  | // along with this program. If not, see <http://www.gnu.org/licenses/>.          //
 | 
					
						
							|  |  |  | ///////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "webapiadapterinterface.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceSummaryURL = "/sdrangel"; | 
					
						
							| 
									
										
										
										
											2019-08-01 02:16:56 +02:00
										 |  |  | QString WebAPIAdapterInterface::instanceConfigURL = "/sdrangel/config"; | 
					
						
							| 
									
										
										
										
											2017-11-22 18:57:35 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceDevicesURL = "/sdrangel/devices"; | 
					
						
							| 
									
										
										
										
											2017-11-23 01:19:32 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceChannelsURL = "/sdrangel/channels"; | 
					
						
							| 
									
										
										
										
											2021-08-29 00:48:35 +02:00
										 |  |  | QString WebAPIAdapterInterface::instanceFeaturesURL = "/sdrangel/features"; | 
					
						
							| 
									
										
										
										
											2017-11-23 18:43:01 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceLoggingURL = "/sdrangel/logging"; | 
					
						
							| 
									
										
										
										
											2017-11-24 08:46:12 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceAudioURL = "/sdrangel/audio"; | 
					
						
							| 
									
										
										
										
											2018-03-29 01:43:31 +02:00
										 |  |  | QString WebAPIAdapterInterface::instanceAudioInputParametersURL = "/sdrangel/audio/input/parameters"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceAudioOutputParametersURL = "/sdrangel/audio/output/parameters"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceAudioInputCleanupURL = "/sdrangel/audio/input/cleanup"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceAudioOutputCleanupURL = "/sdrangel/audio/output/cleanup"; | 
					
						
							| 
									
										
										
										
											2017-11-25 04:02:11 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceLocationURL = "/sdrangel/location"; | 
					
						
							| 
									
										
										
										
											2017-12-21 00:50:58 +01:00
										 |  |  | QString WebAPIAdapterInterface::instancePresetsURL = "/sdrangel/presets"; | 
					
						
							| 
									
										
										
										
											2017-11-25 11:14:52 +01:00
										 |  |  | QString WebAPIAdapterInterface::instancePresetURL = "/sdrangel/preset"; | 
					
						
							| 
									
										
										
										
											2017-12-19 01:11:34 +01:00
										 |  |  | QString WebAPIAdapterInterface::instancePresetFileURL = "/sdrangel/preset/file"; | 
					
						
							| 
									
										
										
										
											2022-05-08 19:33:10 +02:00
										 |  |  | QString WebAPIAdapterInterface::instancePresetBlobURL = "/sdrangel/preset/blob"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceConfigurationsURL = "/sdrangel/configurations"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceConfigurationURL = "/sdrangel/configuration"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceConfigurationFileURL = "/sdrangel/configuration/file"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceConfigurationBlobURL = "/sdrangel/configuration/blob"; | 
					
						
							| 
									
										
										
										
											2021-09-04 05:58:06 +02:00
										 |  |  | QString WebAPIAdapterInterface::instanceFeaturePresetsURL = "/sdrangel/featurepresets"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceFeaturePresetURL = "/sdrangel/featurepreset"; | 
					
						
							| 
									
										
										
										
											2017-11-25 20:14:16 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceDeviceSetsURL = "/sdrangel/devicesets"; | 
					
						
							| 
									
										
										
										
											2017-12-22 01:07:03 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceDeviceSetURL = "/sdrangel/deviceset"; | 
					
						
							| 
									
										
										
										
											2022-05-09 21:31:14 +02:00
										 |  |  | QString WebAPIAdapterInterface::instanceWorkspaceURL = "/sdrangel/workspace"; | 
					
						
							| 
									
										
										
										
											2022-05-04 13:27:13 +02:00
										 |  |  | QString WebAPIAdapterInterface::featuresetURL("/sdrangel/featureset"); | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::featuresetFeatureURL("/sdrangel/featureset/feature"); | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::featuresetPresetURL("/sdrangel/featureset/preset"); | 
					
						
							| 
									
										
										
										
											2017-11-26 00:26:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-26 10:37:39 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetURLRe("^/sdrangel/deviceset/([0-9]{1,2})$"); | 
					
						
							| 
									
										
										
										
											2020-05-05 18:58:18 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetSpectrumSettingsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/spectrum/settings$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::devicesetSpectrumServerURLRe("^/sdrangel/deviceset/([0-9]{1,2})/spectrum/server$"); | 
					
						
							| 
									
										
										
										
											2022-05-13 22:24:48 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetSpectrumWorkspaceURLRe("^/sdrangel/deviceset/([0-9]{1,2})/spectrum/workspace$"); | 
					
						
							| 
									
										
										
										
											2017-11-26 10:37:39 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device$"); | 
					
						
							| 
									
										
										
										
											2017-12-06 22:08:34 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceSettingsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/settings$"); | 
					
						
							| 
									
										
										
										
											2019-12-24 19:08:11 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceRunURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/run$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceSubsystemRunURLRe("^/sdrangel/deviceset/([0-9]{1,2})/subdevice/([0-9]{1,2})/run$"); | 
					
						
							| 
									
										
										
										
											2018-05-26 01:43:28 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/report$"); | 
					
						
							| 
									
										
										
										
											2020-03-09 04:01:23 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceActionsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/actions$"); | 
					
						
							| 
									
										
										
										
											2022-05-13 22:24:48 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetDeviceWorkspaceURLRe("^/sdrangel/deviceset/([0-9]{1,2})/device/workspace$"); | 
					
						
							| 
									
										
										
										
											2018-03-19 00:08:38 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetChannelsReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channels/report$"); | 
					
						
							| 
									
										
										
										
											2017-12-11 01:18:10 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetChannelURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::devicesetChannelIndexURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})$"); | 
					
						
							| 
									
										
										
										
											2017-12-10 20:27:08 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetChannelSettingsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/settings$"); | 
					
						
							| 
									
										
										
										
											2018-03-18 20:17:11 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetChannelReportURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/report"); | 
					
						
							| 
									
										
										
										
											2020-03-09 04:01:23 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetChannelActionsURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/actions"); | 
					
						
							| 
									
										
										
										
											2022-05-13 22:24:48 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetChannelWorkspaceURLRe("^/sdrangel/deviceset/([0-9]{1,2})/channel/([0-9]{1,2})/workspace"); | 
					
						
							| 
									
										
										
										
											2019-08-08 18:42:17 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-04 13:27:13 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::featuresetFeatureIndexURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::featuresetFeatureRunURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/run$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::featuresetFeatureSettingsURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/settings$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::featuresetFeatureReportURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/report$"); | 
					
						
							|  |  |  | std::regex WebAPIAdapterInterface::featuresetFeatureActionsURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/actions$"); | 
					
						
							| 
									
										
										
										
											2022-05-13 22:24:48 +02:00
										 |  |  | std::regex WebAPIAdapterInterface::featuresetFeatureWorkspaceURLRe("^/sdrangel/featureset/feature/([0-9]{1,2})/workspace$"); | 
					
						
							| 
									
										
										
										
											2020-09-29 01:14:44 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-09 18:45:10 +02:00
										 |  |  | void WebAPIAdapterInterface::ConfigKeys::debug() const | 
					
						
							| 
									
										
										
										
											2019-08-08 18:42:17 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     qDebug("WebAPIAdapterInterface::ConfigKeys::debug"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     qDebug("preferences:"); | 
					
						
							|  |  |  |     foreach(QString preferenceKey, m_preferencesKeys) { | 
					
						
							|  |  |  |         qDebug("  %s", qPrintable(preferenceKey)); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     qDebug("commands:"); | 
					
						
							|  |  |  |     foreach(CommandKeys commandKeys, m_commandKeys) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         qDebug("  {"); | 
					
						
							|  |  |  |         foreach(QString commandKey, commandKeys.m_keys) { | 
					
						
							|  |  |  |             qDebug("    %s", qPrintable(commandKey)); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("  }"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     qDebug("presets:"); | 
					
						
							|  |  |  |     foreach(PresetKeys presetKeys, m_presetKeys) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         qDebug("  {"); | 
					
						
							|  |  |  |         foreach(QString presetKey, presetKeys.m_keys) { | 
					
						
							|  |  |  |             qDebug("    %s", qPrintable(presetKey)); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2019-08-11 01:27:19 +02:00
										 |  |  |         qDebug("    spectrumConfig:"); | 
					
						
							|  |  |  |         foreach(QString spectrumKey, presetKeys.m_spectrumKeys) { | 
					
						
							|  |  |  |             qDebug("      %s", qPrintable(spectrumKey)); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2019-08-08 18:42:17 +02:00
										 |  |  |         qDebug("    deviceConfigs:"); | 
					
						
							|  |  |  |         foreach(DeviceKeys deviceKeys, presetKeys.m_devicesKeys) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             qDebug("      {"); | 
					
						
							|  |  |  |             qDebug("        config:"); | 
					
						
							|  |  |  |             foreach(QString deviceKey, deviceKeys.m_deviceKeys) { | 
					
						
							|  |  |  |                 qDebug("          %s", qPrintable(deviceKey)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             qDebug("      }"); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("    channelConfigs"); | 
					
						
							|  |  |  |         foreach(ChannelKeys channelKeys, presetKeys.m_channelsKeys) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             qDebug("      {"); | 
					
						
							|  |  |  |             qDebug("        config:"); | 
					
						
							|  |  |  |             foreach(QString channelKey, channelKeys.m_channelKeys) { | 
					
						
							|  |  |  |                 qDebug("          %s", qPrintable(channelKey)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             qDebug("      }"); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("  }"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  |     qDebug("featuresets:"); | 
					
						
							|  |  |  |     foreach(FeatureSetPresetKeys presetKeys, m_featureSetPresetKeys) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         qDebug("  {"); | 
					
						
							|  |  |  |         foreach(QString presetKey, presetKeys.m_keys) { | 
					
						
							|  |  |  |             qDebug("    %s", qPrintable(presetKey)); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("    featureConfigs"); | 
					
						
							|  |  |  |         foreach(FeatureKeys featureKeys, presetKeys.m_featureKeys) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             qDebug("      {"); | 
					
						
							|  |  |  |             qDebug("        config:"); | 
					
						
							|  |  |  |             foreach(QString featureKey, featureKeys.m_featureKeys) { | 
					
						
							|  |  |  |                 qDebug("          %s", qPrintable(featureKey)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             qDebug("      }"); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("  }"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-08 18:42:17 +02:00
										 |  |  |     qDebug("workingPreset:"); | 
					
						
							|  |  |  |     foreach(QString presetKey, m_workingPresetKeys.m_keys) { | 
					
						
							|  |  |  |         qDebug("  %s", qPrintable(presetKey)); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  |     qDebug("workingFeatureSetPreset:"); | 
					
						
							|  |  |  |     foreach(QString presetKey, m_workingFeatureSetPresetKeys.m_keys) { | 
					
						
							|  |  |  |         qDebug("  %s", qPrintable(presetKey)); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-08-11 01:27:19 +02:00
										 |  |  |     qDebug("  spectrumConfig:"); | 
					
						
							|  |  |  |     foreach(QString spectrumKey, m_workingPresetKeys.m_spectrumKeys) { | 
					
						
							|  |  |  |         qDebug("    %s", qPrintable(spectrumKey)); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-08-08 18:42:17 +02:00
										 |  |  |     qDebug("  deviceConfigs:"); | 
					
						
							|  |  |  |     foreach(DeviceKeys deviceKeys, m_workingPresetKeys.m_devicesKeys) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         qDebug("    {"); | 
					
						
							|  |  |  |         qDebug("      config:"); | 
					
						
							|  |  |  |         foreach(QString deviceKey, deviceKeys.m_deviceKeys) { | 
					
						
							|  |  |  |             qDebug("        %s", qPrintable(deviceKey)); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("    }"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     qDebug("  channelConfigs:"); | 
					
						
							|  |  |  |     foreach(ChannelKeys channelKeys, m_workingPresetKeys.m_channelsKeys) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         qDebug("    {"); | 
					
						
							|  |  |  |         qDebug("      config:"); | 
					
						
							|  |  |  |         foreach(QString channelKey, channelKeys.m_channelKeys) { | 
					
						
							|  |  |  |             qDebug("        %s", qPrintable(channelKey)); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         qDebug("    }"); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-09-29 01:14:44 +02:00
										 |  |  | } |