| 
									
										
										
										
											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"; | 
					
						
							| 
									
										
										
										
											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"; | 
					
						
							| 
									
										
										
										
											2019-07-21 01:57:51 +02:00
										 |  |  | QString WebAPIAdapterInterface::instanceAMBESerialURL = "/sdrangel/ambe/serial"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceAMBEDevicesURL = "/sdrangel/ambe/devices"; | 
					
						
							| 
									
										
										
										
											2020-01-12 01:16:04 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceLimeRFESerialURL = "/sdrangel/limerfe/serial"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceLimeRFEConfigURL = "/sdrangel/limerfe/config"; | 
					
						
							|  |  |  | QString WebAPIAdapterInterface::instanceLimeRFERunURL = "/sdrangel/limerfe/run"; | 
					
						
							| 
									
										
										
										
											2020-01-14 15:26:49 +01:00
										 |  |  | QString WebAPIAdapterInterface::instanceLimeRFEPowerURL = "/sdrangel/limerfe/power"; | 
					
						
							| 
									
										
										
										
											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"; | 
					
						
							| 
									
										
										
										
											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"; | 
					
						
							| 
									
										
										
										
											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})$"); | 
					
						
							| 
									
										
										
										
											2018-01-06 03:46:53 +01:00
										 |  |  | std::regex WebAPIAdapterInterface::devicesetFocusURLRe("^/sdrangel/deviceset/([0-9]{1,2})/focus$"); | 
					
						
							| 
									
										
										
										
											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$"); | 
					
						
							| 
									
										
										
										
											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"); | 
					
						
							| 
									
										
										
										
											2019-08-08 18:42:17 +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("  }"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     qDebug("workingPreset:"); | 
					
						
							|  |  |  |     foreach(QString presetKey, m_workingPresetKeys.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("    }"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |