diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt
index 2947110f1..407e8d1f2 100644
--- a/sdrbase/CMakeLists.txt
+++ b/sdrbase/CMakeLists.txt
@@ -170,6 +170,7 @@ set(sdrbase_SOURCES
plugin/pluginapi.cpp
plugin/pluginmanager.cpp
+ webapi/webapiadapter.cpp
webapi/webapiadapterbase.cpp
webapi/webapiadapterinterface.cpp
webapi/webapirequestmapper.cpp
@@ -334,6 +335,7 @@ set(sdrbase_HEADERS
util/uid.h
util/timeutil.h
+ webapi/webapiadapter.h
webapi/webapiadapterbase.h
webapi/webapiadapterinterface.h
webapi/webapirequestmapper.h
diff --git a/sdrbase/maincore.h b/sdrbase/maincore.h
index c97fca521..650e29e6c 100644
--- a/sdrbase/maincore.h
+++ b/sdrbase/maincore.h
@@ -419,8 +419,7 @@ public:
friend class MainServer;
friend class MainWindow;
- friend class WebAPIAdapterSrv;
- friend class WebAPIAdapterGUI;
+ friend class WebAPIAdapter;
private:
MainSettings m_settings;
diff --git a/sdrgui/webapi/webapiadaptergui.cpp b/sdrbase/webapi/webapiadapter.cpp
similarity index 96%
rename from sdrgui/webapi/webapiadaptergui.cpp
rename to sdrbase/webapi/webapiadapter.cpp
index 329b4af32..113736737 100644
--- a/sdrgui/webapi/webapiadaptergui.cpp
+++ b/sdrbase/webapi/webapiadapter.cpp
@@ -17,12 +17,11 @@
// along with this program. If not, see . //
///////////////////////////////////////////////////////////////////////////////////
-#include
+#include
#include
#include
#include "maincore.h"
-#include "ui_mainwindow.h"
#include "loggerwithfile.h"
#include "device/deviceapi.h"
#include "device/deviceset.h"
@@ -80,18 +79,18 @@
#include "limerfe/limerfecontroller.h"
#endif
-#include "webapiadaptergui.h"
+#include "webapiadapter.h"
-WebAPIAdapterGUI::WebAPIAdapterGUI()
+WebAPIAdapter::WebAPIAdapter()
{
m_mainCore = MainCore::instance();
}
-WebAPIAdapterGUI::~WebAPIAdapterGUI()
+WebAPIAdapter::~WebAPIAdapter()
{
}
-int WebAPIAdapterGUI::instanceSummary(
+int WebAPIAdapter::instanceSummary(
SWGSDRangel::SWGInstanceSummaryResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -125,7 +124,7 @@ int WebAPIAdapterGUI::instanceSummary(
return 200;
}
-int WebAPIAdapterGUI::instanceDelete(
+int WebAPIAdapter::instanceDelete(
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -134,7 +133,7 @@ int WebAPIAdapterGUI::instanceDelete(
return 400;
}
-int WebAPIAdapterGUI::instanceConfigGet(
+int WebAPIAdapter::instanceConfigGet(
SWGSDRangel::SWGInstanceConfigResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -181,7 +180,7 @@ int WebAPIAdapterGUI::instanceConfigGet(
return 200;
}
-int WebAPIAdapterGUI::instanceConfigPutPatch(
+int WebAPIAdapter::instanceConfigPutPatch(
bool force, // PUT else PATCH
SWGSDRangel::SWGInstanceConfigResponse& query,
const ConfigKeys& configKeys,
@@ -241,7 +240,7 @@ int WebAPIAdapterGUI::instanceConfigPutPatch(
return 200;
}
-int WebAPIAdapterGUI::instanceDevices(
+int WebAPIAdapter::instanceDevices(
int direction,
SWGSDRangel::SWGInstanceDevicesResponse& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -293,7 +292,7 @@ int WebAPIAdapterGUI::instanceDevices(
return 200;
}
-int WebAPIAdapterGUI::instanceChannels(
+int WebAPIAdapter::instanceChannels(
int direction,
SWGSDRangel::SWGInstanceChannelsResponse& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -344,7 +343,7 @@ int WebAPIAdapterGUI::instanceChannels(
return 200;
}
-int WebAPIAdapterGUI::instanceLoggingGet(
+int WebAPIAdapter::instanceLoggingGet(
SWGSDRangel::SWGLoggingInfo& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -362,7 +361,7 @@ int WebAPIAdapterGUI::instanceLoggingGet(
return 200;
}
-int WebAPIAdapterGUI::instanceLoggingPut(
+int WebAPIAdapter::instanceLoggingPut(
SWGSDRangel::SWGLoggingInfo& query,
SWGSDRangel::SWGLoggingInfo& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -401,7 +400,7 @@ int WebAPIAdapterGUI::instanceLoggingPut(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioGet(
+int WebAPIAdapter::instanceAudioGet(
SWGSDRangel::SWGAudioDevices& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -487,7 +486,7 @@ int WebAPIAdapterGUI::instanceAudioGet(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioInputPatch(
+int WebAPIAdapter::instanceAudioInputPatch(
SWGSDRangel::SWGAudioInputDevice& response,
const QStringList& audioInputKeys,
SWGSDRangel::SWGErrorResponse& error)
@@ -522,7 +521,7 @@ int WebAPIAdapterGUI::instanceAudioInputPatch(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioOutputPatch(
+int WebAPIAdapter::instanceAudioOutputPatch(
SWGSDRangel::SWGAudioOutputDevice& response,
const QStringList& audioOutputKeys,
SWGSDRangel::SWGErrorResponse& error)
@@ -587,7 +586,7 @@ int WebAPIAdapterGUI::instanceAudioOutputPatch(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioInputDelete(
+int WebAPIAdapter::instanceAudioInputDelete(
SWGSDRangel::SWGAudioInputDevice& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -612,7 +611,7 @@ int WebAPIAdapterGUI::instanceAudioInputDelete(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioOutputDelete(
+int WebAPIAdapter::instanceAudioOutputDelete(
SWGSDRangel::SWGAudioOutputDevice& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -649,7 +648,7 @@ int WebAPIAdapterGUI::instanceAudioOutputDelete(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioInputCleanupPatch(
+int WebAPIAdapter::instanceAudioInputCleanupPatch(
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -663,7 +662,7 @@ int WebAPIAdapterGUI::instanceAudioInputCleanupPatch(
return 200;
}
-int WebAPIAdapterGUI::instanceAudioOutputCleanupPatch(
+int WebAPIAdapter::instanceAudioOutputCleanupPatch(
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -677,7 +676,7 @@ int WebAPIAdapterGUI::instanceAudioOutputCleanupPatch(
return 200;
}
-int WebAPIAdapterGUI::instanceLocationGet(
+int WebAPIAdapter::instanceLocationGet(
SWGSDRangel::SWGLocationInformation& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -689,7 +688,7 @@ int WebAPIAdapterGUI::instanceLocationGet(
return 200;
}
-int WebAPIAdapterGUI::instanceLocationPut(
+int WebAPIAdapter::instanceLocationPut(
SWGSDRangel::SWGLocationInformation& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -709,7 +708,7 @@ int WebAPIAdapterGUI::instanceLocationPut(
return 200;
}
-int WebAPIAdapterGUI::instanceDVSerialGet(
+int WebAPIAdapter::instanceDVSerialGet(
SWGSDRangel::SWGDVSerialDevices& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -735,7 +734,7 @@ int WebAPIAdapterGUI::instanceDVSerialGet(
return 200;
}
-int WebAPIAdapterGUI::instanceDVSerialPatch(
+int WebAPIAdapter::instanceDVSerialPatch(
bool dvserial,
SWGSDRangel::SWGDVSerialDevices& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -773,7 +772,7 @@ int WebAPIAdapterGUI::instanceDVSerialPatch(
return 200;
}
-int WebAPIAdapterGUI::instanceAMBESerialGet(
+int WebAPIAdapter::instanceAMBESerialGet(
SWGSDRangel::SWGDVSerialDevices& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -805,7 +804,7 @@ int WebAPIAdapterGUI::instanceAMBESerialGet(
return 200;
}
-int WebAPIAdapterGUI::instanceAMBEDevicesGet(
+int WebAPIAdapter::instanceAMBEDevicesGet(
SWGSDRangel::SWGAMBEDevices& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -832,7 +831,7 @@ int WebAPIAdapterGUI::instanceAMBEDevicesGet(
return 200;
}
-int WebAPIAdapterGUI::instanceAMBEDevicesDelete(
+int WebAPIAdapter::instanceAMBEDevicesDelete(
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -846,7 +845,7 @@ int WebAPIAdapterGUI::instanceAMBEDevicesDelete(
return 200;
}
-int WebAPIAdapterGUI::instanceAMBEDevicesPut(
+int WebAPIAdapter::instanceAMBEDevicesPut(
SWGSDRangel::SWGAMBEDevices& query,
SWGSDRangel::SWGAMBEDevices& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -864,7 +863,7 @@ int WebAPIAdapterGUI::instanceAMBEDevicesPut(
return 200;
}
-int WebAPIAdapterGUI::instanceAMBEDevicesPatch(
+int WebAPIAdapter::instanceAMBEDevicesPatch(
SWGSDRangel::SWGAMBEDevices& query,
SWGSDRangel::SWGAMBEDevices& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -886,7 +885,7 @@ int WebAPIAdapterGUI::instanceAMBEDevicesPatch(
}
#ifdef HAS_LIMERFEUSB
-int WebAPIAdapterGUI::instanceLimeRFESerialGet(
+int WebAPIAdapter::instanceLimeRFESerialGet(
SWGSDRangel::SWGLimeRFEDevices& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -909,7 +908,7 @@ int WebAPIAdapterGUI::instanceLimeRFESerialGet(
return 200;
}
-int WebAPIAdapterGUI::instanceLimeRFEConfigGet(
+int WebAPIAdapter::instanceLimeRFEConfigGet(
const QString& serial,
SWGSDRangel::SWGLimeRFESettings& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -961,7 +960,7 @@ int WebAPIAdapterGUI::instanceLimeRFEConfigGet(
return 200;
}
-int WebAPIAdapterGUI::instanceLimeRFEConfigPut(
+int WebAPIAdapter::instanceLimeRFEConfigPut(
SWGSDRangel::SWGLimeRFESettings& query,
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1012,7 +1011,7 @@ int WebAPIAdapterGUI::instanceLimeRFEConfigPut(
return 200;
}
-int WebAPIAdapterGUI::instanceLimeRFERunPut(
+int WebAPIAdapter::instanceLimeRFERunPut(
SWGSDRangel::SWGLimeRFESettings& query,
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1047,7 +1046,7 @@ int WebAPIAdapterGUI::instanceLimeRFERunPut(
return 200;
}
-int WebAPIAdapterGUI::instanceLimeRFEPowerGet(
+int WebAPIAdapter::instanceLimeRFEPowerGet(
const QString& serial,
SWGSDRangel::SWGLimeRFEPower& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1094,7 +1093,7 @@ int WebAPIAdapterGUI::instanceLimeRFEPowerGet(
}
#endif
-int WebAPIAdapterGUI::instancePresetsGet(
+int WebAPIAdapter::instancePresetsGet(
SWGSDRangel::SWGPresets& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -1140,7 +1139,7 @@ int WebAPIAdapterGUI::instancePresetsGet(
return 200;
}
-int WebAPIAdapterGUI::instancePresetPatch(
+int WebAPIAdapter::instancePresetPatch(
SWGSDRangel::SWGPresetTransfer& query,
SWGSDRangel::SWGPresetIdentifier& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1207,7 +1206,7 @@ int WebAPIAdapterGUI::instancePresetPatch(
return 202;
}
-int WebAPIAdapterGUI::instancePresetPut(
+int WebAPIAdapter::instancePresetPut(
SWGSDRangel::SWGPresetTransfer& query,
SWGSDRangel::SWGPresetIdentifier& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1276,7 +1275,7 @@ int WebAPIAdapterGUI::instancePresetPut(
return 202;
}
-int WebAPIAdapterGUI::instancePresetPost(
+int WebAPIAdapter::instancePresetPost(
SWGSDRangel::SWGPresetTransfer& query,
SWGSDRangel::SWGPresetIdentifier& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1339,7 +1338,7 @@ int WebAPIAdapterGUI::instancePresetPost(
return 202;
}
-int WebAPIAdapterGUI::instancePresetDelete(
+int WebAPIAdapter::instancePresetDelete(
SWGSDRangel::SWGPresetIdentifier& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -1369,7 +1368,7 @@ int WebAPIAdapterGUI::instancePresetDelete(
return 202;
}
-int WebAPIAdapterGUI::instanceDeviceSetsGet(
+int WebAPIAdapter::instanceDeviceSetsGet(
SWGSDRangel::SWGDeviceSetList& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -1378,7 +1377,7 @@ int WebAPIAdapterGUI::instanceDeviceSetsGet(
return 200;
}
-int WebAPIAdapterGUI::instanceFeatureSetsGet(
+int WebAPIAdapter::instanceFeatureSetsGet(
SWGSDRangel::SWGFeatureSetList& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -1387,7 +1386,7 @@ int WebAPIAdapterGUI::instanceFeatureSetsGet(
return 200;
}
-int WebAPIAdapterGUI::instanceDeviceSetPost(
+int WebAPIAdapter::instanceDeviceSetPost(
int direction,
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1402,7 +1401,7 @@ int WebAPIAdapterGUI::instanceDeviceSetPost(
return 202;
}
-int WebAPIAdapterGUI::instanceDeviceSetDelete(
+int WebAPIAdapter::instanceDeviceSetDelete(
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
{
@@ -1425,7 +1424,7 @@ int WebAPIAdapterGUI::instanceDeviceSetDelete(
}
}
-int WebAPIAdapterGUI::devicesetGet(
+int WebAPIAdapter::devicesetGet(
int deviceSetIndex,
SWGSDRangel::SWGDeviceSet& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1446,7 +1445,7 @@ int WebAPIAdapterGUI::devicesetGet(
}
}
-int WebAPIAdapterGUI::devicesetFocusPatch(
+int WebAPIAdapter::devicesetFocusPatch(
int deviceSetIndex,
SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1470,7 +1469,7 @@ int WebAPIAdapterGUI::devicesetFocusPatch(
}
}
-int WebAPIAdapterGUI::devicesetDevicePut(
+int WebAPIAdapter::devicesetDevicePut(
int deviceSetIndex,
SWGSDRangel::SWGDeviceListItem& query,
SWGSDRangel::SWGDeviceListItem& response,
@@ -1577,7 +1576,7 @@ int WebAPIAdapterGUI::devicesetDevicePut(
}
}
-int WebAPIAdapterGUI::devicesetDeviceSettingsGet(
+int WebAPIAdapter::devicesetDeviceSettingsGet(
int deviceSetIndex,
SWGSDRangel::SWGDeviceSettings& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1622,7 +1621,7 @@ int WebAPIAdapterGUI::devicesetDeviceSettingsGet(
}
}
-int WebAPIAdapterGUI::devicesetDeviceActionsPost(
+int WebAPIAdapter::devicesetDeviceActionsPost(
int deviceSetIndex,
const QStringList& deviceActionsKeys,
SWGSDRangel::SWGDeviceActions& query,
@@ -1726,7 +1725,7 @@ int WebAPIAdapterGUI::devicesetDeviceActionsPost(
}
}
-int WebAPIAdapterGUI::devicesetDeviceSettingsPutPatch(
+int WebAPIAdapter::devicesetDeviceSettingsPutPatch(
int deviceSetIndex,
bool force,
const QStringList& deviceSettingsKeys,
@@ -1806,7 +1805,7 @@ int WebAPIAdapterGUI::devicesetDeviceSettingsPutPatch(
}
}
-int WebAPIAdapterGUI::devicesetDeviceRunGet(
+int WebAPIAdapter::devicesetDeviceRunGet(
int deviceSetIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1842,7 +1841,7 @@ int WebAPIAdapterGUI::devicesetDeviceRunGet(
}
}
-int WebAPIAdapterGUI::devicesetDeviceSubsystemRunGet(
+int WebAPIAdapter::devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
@@ -1873,7 +1872,7 @@ int WebAPIAdapterGUI::devicesetDeviceSubsystemRunGet(
}
}
-int WebAPIAdapterGUI::devicesetDeviceRunPost(
+int WebAPIAdapter::devicesetDeviceRunPost(
int deviceSetIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1909,7 +1908,7 @@ int WebAPIAdapterGUI::devicesetDeviceRunPost(
}
}
-int WebAPIAdapterGUI::devicesetDeviceSubsystemRunPost(
+int WebAPIAdapter::devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
@@ -1940,7 +1939,7 @@ int WebAPIAdapterGUI::devicesetDeviceSubsystemRunPost(
}
}
-int WebAPIAdapterGUI::devicesetDeviceRunDelete(
+int WebAPIAdapter::devicesetDeviceRunDelete(
int deviceSetIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -1976,7 +1975,7 @@ int WebAPIAdapterGUI::devicesetDeviceRunDelete(
}
}
-int WebAPIAdapterGUI::devicesetDeviceSubsystemRunDelete(
+int WebAPIAdapter::devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
@@ -2007,7 +2006,7 @@ int WebAPIAdapterGUI::devicesetDeviceSubsystemRunDelete(
}
}
-int WebAPIAdapterGUI::devicesetDeviceReportGet(
+int WebAPIAdapter::devicesetDeviceReportGet(
int deviceSetIndex,
SWGSDRangel::SWGDeviceReport& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -2052,7 +2051,7 @@ int WebAPIAdapterGUI::devicesetDeviceReportGet(
}
}
-int WebAPIAdapterGUI::devicesetChannelsReportGet(
+int WebAPIAdapter::devicesetChannelsReportGet(
int deviceSetIndex,
SWGSDRangel::SWGChannelsDetail& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -2073,7 +2072,7 @@ int WebAPIAdapterGUI::devicesetChannelsReportGet(
}
}
-int WebAPIAdapterGUI::devicesetChannelPost(
+int WebAPIAdapter::devicesetChannelPost(
int deviceSetIndex,
SWGSDRangel::SWGChannelSettings& query,
SWGSDRangel::SWGSuccessResponse& response,
@@ -2206,7 +2205,7 @@ int WebAPIAdapterGUI::devicesetChannelPost(
}
}
-int WebAPIAdapterGUI::devicesetChannelDelete(
+int WebAPIAdapter::devicesetChannelDelete(
int deviceSetIndex,
int channelIndex,
SWGSDRangel::SWGSuccessResponse& response,
@@ -2243,7 +2242,7 @@ int WebAPIAdapterGUI::devicesetChannelDelete(
}
}
-int WebAPIAdapterGUI::devicesetChannelSettingsGet(
+int WebAPIAdapter::devicesetChannelSettingsGet(
int deviceSetIndex,
int channelIndex,
SWGSDRangel::SWGChannelSettings& response,
@@ -2342,7 +2341,7 @@ int WebAPIAdapterGUI::devicesetChannelSettingsGet(
}
}
-int WebAPIAdapterGUI::devicesetChannelReportGet(
+int WebAPIAdapter::devicesetChannelReportGet(
int deviceSetIndex,
int channelIndex,
SWGSDRangel::SWGChannelReport& response,
@@ -2441,7 +2440,7 @@ int WebAPIAdapterGUI::devicesetChannelReportGet(
}
}
-int WebAPIAdapterGUI::devicesetChannelActionsPost(
+int WebAPIAdapter::devicesetChannelActionsPost(
int deviceSetIndex,
int channelIndex,
const QStringList& channelActionsKeys,
@@ -2596,7 +2595,7 @@ int WebAPIAdapterGUI::devicesetChannelActionsPost(
}
}
-int WebAPIAdapterGUI::devicesetChannelSettingsPutPatch(
+int WebAPIAdapter::devicesetChannelSettingsPutPatch(
int deviceSetIndex,
int channelIndex,
bool force,
@@ -2731,7 +2730,7 @@ int WebAPIAdapterGUI::devicesetChannelSettingsPutPatch(
}
}
-int WebAPIAdapterGUI::featuresetFeaturePost(
+int WebAPIAdapter::featuresetFeaturePost(
int featureSetIndex,
SWGSDRangel::SWGFeatureSettings& query,
SWGSDRangel::SWGSuccessResponse& response,
@@ -2777,7 +2776,7 @@ int WebAPIAdapterGUI::featuresetFeaturePost(
}
}
-int WebAPIAdapterGUI::featuresetFeatureDelete(
+int WebAPIAdapter::featuresetFeatureDelete(
int featureSetIndex,
int featureIndex,
SWGSDRangel::SWGSuccessResponse& response,
@@ -2814,7 +2813,7 @@ int WebAPIAdapterGUI::featuresetFeatureDelete(
}
}
-int WebAPIAdapterGUI::featuresetFeatureRunGet(
+int WebAPIAdapter::featuresetFeatureRunGet(
int featureSetIndex,
int featureIndex,
SWGSDRangel::SWGDeviceState& response,
@@ -2847,7 +2846,7 @@ int WebAPIAdapterGUI::featuresetFeatureRunGet(
}
}
-int WebAPIAdapterGUI::featuresetFeatureRunPost(
+int WebAPIAdapter::featuresetFeatureRunPost(
int featureSetIndex,
int featureIndex,
SWGSDRangel::SWGDeviceState& response,
@@ -2880,7 +2879,7 @@ int WebAPIAdapterGUI::featuresetFeatureRunPost(
}
}
-int WebAPIAdapterGUI::featuresetFeatureRunDelete(
+int WebAPIAdapter::featuresetFeatureRunDelete(
int featureSetIndex,
int featureIndex,
SWGSDRangel::SWGDeviceState& response,
@@ -2913,7 +2912,7 @@ int WebAPIAdapterGUI::featuresetFeatureRunDelete(
}
}
-int WebAPIAdapterGUI::featuresetFeatureSettingsGet(
+int WebAPIAdapter::featuresetFeatureSettingsGet(
int featureSetIndex,
int featureIndex,
SWGSDRangel::SWGFeatureSettings& response,
@@ -2945,7 +2944,7 @@ int WebAPIAdapterGUI::featuresetFeatureSettingsGet(
}
}
-int WebAPIAdapterGUI::featuresetFeatureSettingsPutPatch(
+int WebAPIAdapter::featuresetFeatureSettingsPutPatch(
int featureSetIndex,
int featureIndex,
bool force,
@@ -2991,7 +2990,7 @@ int WebAPIAdapterGUI::featuresetFeatureSettingsPutPatch(
}
}
-int WebAPIAdapterGUI::featuresetFeatureReportGet(
+int WebAPIAdapter::featuresetFeatureReportGet(
int featureSetIndex,
int featureIndex,
SWGSDRangel::SWGFeatureReport& response,
@@ -3023,7 +3022,7 @@ int WebAPIAdapterGUI::featuresetFeatureReportGet(
}
}
-int WebAPIAdapterGUI::featuresetFeatureActionsPost(
+int WebAPIAdapter::featuresetFeatureActionsPost(
int featureSetIndex,
int featureIndex,
const QStringList& featureActionsKeys,
@@ -3077,7 +3076,7 @@ int WebAPIAdapterGUI::featuresetFeatureActionsPost(
}
}
-void WebAPIAdapterGUI::getDeviceSetList(SWGSDRangel::SWGDeviceSetList* deviceSetList)
+void WebAPIAdapter::getDeviceSetList(SWGSDRangel::SWGDeviceSetList* deviceSetList)
{
deviceSetList->init();
deviceSetList->setDevicesetcount((int) m_mainCore->m_deviceSets.size());
@@ -3097,7 +3096,7 @@ void WebAPIAdapterGUI::getDeviceSetList(SWGSDRangel::SWGDeviceSetList* deviceSet
}
}
-void WebAPIAdapterGUI::getDeviceSet(SWGSDRangel::SWGDeviceSet *deviceSet, const DeviceSet* deviceUISet, int deviceUISetIndex)
+void WebAPIAdapter::getDeviceSet(SWGSDRangel::SWGDeviceSet *deviceSet, const DeviceSet* deviceUISet, int deviceUISetIndex)
{
deviceSet->init();
SWGSDRangel::SWGSamplingDevice *samplingDevice = deviceSet->getSamplingDevice();
@@ -3236,7 +3235,7 @@ void WebAPIAdapterGUI::getDeviceSet(SWGSDRangel::SWGDeviceSet *deviceSet, const
}
}
-void WebAPIAdapterGUI::getChannelsDetail(SWGSDRangel::SWGChannelsDetail *channelsDetail, const DeviceSet* deviceUISet)
+void WebAPIAdapter::getChannelsDetail(SWGSDRangel::SWGChannelsDetail *channelsDetail, const DeviceSet* deviceUISet)
{
channelsDetail->init();
SWGSDRangel::SWGChannelReport *channelReport;
@@ -3369,7 +3368,7 @@ void WebAPIAdapterGUI::getChannelsDetail(SWGSDRangel::SWGChannelsDetail *channel
}
}
-int WebAPIAdapterGUI::featuresetGet(
+int WebAPIAdapter::featuresetGet(
int featureSetIndex,
SWGSDRangel::SWGFeatureSet& response,
SWGSDRangel::SWGErrorResponse& error)
@@ -3390,7 +3389,7 @@ int WebAPIAdapterGUI::featuresetGet(
}
}
-void WebAPIAdapterGUI::getFeatureSetList(SWGSDRangel::SWGFeatureSetList* featureSetList)
+void WebAPIAdapter::getFeatureSetList(SWGSDRangel::SWGFeatureSetList* featureSetList)
{
featureSetList->init();
featureSetList->setFeaturesetcount((int) m_mainCore->m_featureSets.size());
@@ -3406,7 +3405,7 @@ void WebAPIAdapterGUI::getFeatureSetList(SWGSDRangel::SWGFeatureSetList* feature
}
}
-void WebAPIAdapterGUI::getFeatureSet(SWGSDRangel::SWGFeatureSet *featureSet, const FeatureSet* featureUISet, int featureUISetIndex)
+void WebAPIAdapter::getFeatureSet(SWGSDRangel::SWGFeatureSet *featureSet, const FeatureSet* featureUISet, int featureUISetIndex)
{
featureSet->init();
featureSet->setFeaturecount(featureUISet->getNumberOfFeatures());
@@ -3426,7 +3425,7 @@ void WebAPIAdapterGUI::getFeatureSet(SWGSDRangel::SWGFeatureSet *featureSet, con
}
}
-QtMsgType WebAPIAdapterGUI::getMsgTypeFromString(const QString& msgTypeString)
+QtMsgType WebAPIAdapter::getMsgTypeFromString(const QString& msgTypeString)
{
if (msgTypeString == "debug") {
return QtDebugMsg;
@@ -3441,7 +3440,7 @@ QtMsgType WebAPIAdapterGUI::getMsgTypeFromString(const QString& msgTypeString)
}
}
-void WebAPIAdapterGUI::getMsgTypeString(const QtMsgType& msgType, QString& levelStr)
+void WebAPIAdapter::getMsgTypeString(const QtMsgType& msgType, QString& levelStr)
{
switch (msgType)
{
diff --git a/sdrgui/webapi/webapiadaptergui.h b/sdrbase/webapi/webapiadapter.h
similarity index 99%
rename from sdrgui/webapi/webapiadaptergui.h
rename to sdrbase/webapi/webapiadapter.h
index 3b41c006f..7a1d57972 100644
--- a/sdrgui/webapi/webapiadaptergui.h
+++ b/sdrbase/webapi/webapiadapter.h
@@ -26,13 +26,14 @@
#include "export.h"
class MainCore;
+class DeviceSet;
class FeatureSet;
-class SDRGUI_API WebAPIAdapterGUI: public WebAPIAdapterInterface
+class SDRBASE_API WebAPIAdapter: public WebAPIAdapterInterface
{
public:
- WebAPIAdapterGUI();
- virtual ~WebAPIAdapterGUI();
+ WebAPIAdapter();
+ virtual ~WebAPIAdapter();
virtual int instanceSummary(
SWGSDRangel::SWGInstanceSummaryResponse& response,
diff --git a/sdrgui/CMakeLists.txt b/sdrgui/CMakeLists.txt
index c0f4c51f7..093ac3a91 100644
--- a/sdrgui/CMakeLists.txt
+++ b/sdrgui/CMakeLists.txt
@@ -84,8 +84,6 @@ set(sdrgui_SOURCES
soapygui/complexfactorgui.cpp
soapygui/arginfogui.cpp
- webapi/webapiadaptergui.cpp
-
resources/res.qrc
)
@@ -171,8 +169,6 @@ set(sdrgui_HEADERS
soapygui/intervalslidergui.h
soapygui/complexfactorgui.h
soapygui/arginfogui.h
-
- webapi/webapiadaptergui.h
)
set(sdrgui_FORMS
diff --git a/sdrgui/mainwindow.cpp b/sdrgui/mainwindow.cpp
index 1f9961083..76d642c81 100644
--- a/sdrgui/mainwindow.cpp
+++ b/sdrgui/mainwindow.cpp
@@ -72,7 +72,7 @@
#include "loggerwithfile.h"
#include "webapi/webapirequestmapper.h"
#include "webapi/webapiserver.h"
-#include "webapi/webapiadaptergui.h"
+#include "webapi/webapiadapter.h"
#include "commands/command.h"
#include "mainwindow.h"
@@ -212,7 +212,7 @@ MainWindow::MainWindow(qtwebapp::LoggerWithFile *logger, const MainParser& parse
qDebug() << "MainWindow::MainWindow: load current preset settings...";
loadPresetSettings(m_mainCore->m_settings.getWorkingPreset(), 0);
- m_apiAdapter = new WebAPIAdapterGUI();
+ m_apiAdapter = new WebAPIAdapter();
loadFeatureSetPresetSettings(m_mainCore->m_settings.getWorkingFeatureSetPreset(), 0);
splash->showStatusMessage("update preset controls...", Qt::white);
diff --git a/sdrgui/mainwindow.h b/sdrgui/mainwindow.h
index 23ef4fd97..41a61dbe5 100644
--- a/sdrgui/mainwindow.h
+++ b/sdrgui/mainwindow.h
@@ -50,7 +50,7 @@ class PluginInterface;
class QWidget;
class WebAPIRequestMapper;
class WebAPIServer;
-class WebAPIAdapterGUI;
+class WebAPIAdapter;
class Preset;
class Command;
class FeatureSetPreset;
@@ -83,8 +83,6 @@ public:
const QString& getAPIHost() const { return m_apiHost; }
int getAPIPort() const { return m_apiPort; }
- friend class WebAPIAdapterGUI;
-
private:
enum {
PGroup,
@@ -123,7 +121,7 @@ private:
WebAPIRequestMapper *m_requestMapper;
WebAPIServer *m_apiServer;
- WebAPIAdapterGUI *m_apiAdapter;
+ WebAPIAdapter *m_apiAdapter;
QString m_apiHost;
int m_apiPort;
diff --git a/sdrsrv/CMakeLists.txt b/sdrsrv/CMakeLists.txt
index cb202c480..6d196cac4 100644
--- a/sdrsrv/CMakeLists.txt
+++ b/sdrsrv/CMakeLists.txt
@@ -2,12 +2,10 @@ project (sdrsrv)
set(sdrsrv_SOURCES
mainserver.cpp
- webapi/webapiadaptersrv.cpp
)
set(sdrsrv_HEADERS
mainserver.h
- webapi/webapiadaptersrv.h
)
if (LIMESUITE_FOUND)
diff --git a/sdrsrv/mainserver.cpp b/sdrsrv/mainserver.cpp
index 407f2c366..f4be1dd94 100644
--- a/sdrsrv/mainserver.cpp
+++ b/sdrsrv/mainserver.cpp
@@ -32,7 +32,7 @@
#include "plugin/pluginmanager.h"
#include "webapi/webapirequestmapper.h"
#include "webapi/webapiserver.h"
-#include "webapi/webapiadaptersrv.h"
+#include "webapi/webapiadapter.h"
#include "mainparser.h"
#include "mainserver.h"
@@ -69,7 +69,7 @@ MainServer::MainServer(qtwebapp::LoggerWithFile *logger, const MainParser& parse
qDebug() << "MainServer::MainServer: finishing...";
QString applicationDirPath = QCoreApplication::instance()->applicationDirPath();
- m_apiAdapter = new WebAPIAdapterSrv(*m_mainCore);
+ m_apiAdapter = new WebAPIAdapter();
m_requestMapper = new WebAPIRequestMapper(this);
m_requestMapper->setAdapter(m_apiAdapter);
m_apiHost = parser.getServerAddress();
diff --git a/sdrsrv/mainserver.h b/sdrsrv/mainserver.h
index 5caa93f63..7a17931c2 100644
--- a/sdrsrv/mainserver.h
+++ b/sdrsrv/mainserver.h
@@ -39,7 +39,7 @@ class DeviceSet;
class FeatureSet;
class WebAPIRequestMapper;
class WebAPIServer;
-class WebAPIAdapterSrv;
+class WebAPIAdapter;
namespace qtwebapp {
class LoggerWithFile;
@@ -71,8 +71,6 @@ public:
const QString& getAPIHost() const { return m_apiHost; }
int getAPIPort() const { return m_apiPort; }
- friend class WebAPIAdapterSrv;
-
signals:
void finished();
@@ -88,7 +86,7 @@ private:
WebAPIRequestMapper *m_requestMapper;
WebAPIServer *m_apiServer;
- WebAPIAdapterSrv *m_apiAdapter;
+ WebAPIAdapter *m_apiAdapter;
void loadSettings();
void applySettings();
diff --git a/sdrsrv/webapi/webapiadaptersrv.cpp b/sdrsrv/webapi/webapiadaptersrv.cpp
deleted file mode 100644
index 39dd88a04..000000000
--- a/sdrsrv/webapi/webapiadaptersrv.cpp
+++ /dev/null
@@ -1,3562 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////
-// 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 //
-// (at your option) any later version. //
-// //
-// 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 . //
-///////////////////////////////////////////////////////////////////////////////////
-
-#include
-#include
-#include
-#include
-
-#include "SWGInstanceSummaryResponse.h"
-#include "SWGInstanceConfigResponse.h"
-#include "SWGInstanceDevicesResponse.h"
-#include "SWGInstanceChannelsResponse.h"
-#include "SWGLoggingInfo.h"
-#include "SWGAudioDevices.h"
-#include "SWGLocationInformation.h"
-#include "SWGDVSerialDevices.h"
-#include "SWGAMBEDevices.h"
-#include "SWGPresetImport.h"
-#include "SWGPresetExport.h"
-#include "SWGPresets.h"
-#include "SWGPresetTransfer.h"
-#include "SWGDeviceSettings.h"
-#include "SWGDeviceActions.h"
-#include "SWGChannelsDetail.h"
-#include "SWGChannelSettings.h"
-#include "SWGChannelReport.h"
-#include "SWGChannelActions.h"
-#include "SWGSuccessResponse.h"
-#include "SWGErrorResponse.h"
-#include "SWGDeviceState.h"
-#include "SWGDeviceReport.h"
-#include "SWGLimeRFEDevices.h"
-#include "SWGLimeRFESettings.h"
-#include "SWGLimeRFEPower.h"
-#include "SWGFeatureSetList.h"
-#include "SWGFeatureSettings.h"
-#include "SWGFeatureReport.h"
-#include "SWGFeatureActions.h"
-
-#include "mainserver.h"
-#include "loggerwithfile.h"
-#include "device/deviceset.h"
-#include "device/deviceapi.h"
-#include "device/deviceenumerator.h"
-#include "dsp/devicesamplesink.h"
-#include "dsp/devicesamplesource.h"
-#include "dsp/devicesamplemimo.h"
-#include "dsp/dspdevicesourceengine.h"
-#include "dsp/dspdevicesinkengine.h"
-#include "dsp/dspdevicemimoengine.h"
-#include "dsp/dspengine.h"
-#include "channel/channelapi.h"
-#include "feature/featureset.h"
-#include "feature/feature.h"
-#include "plugin/pluginapi.h"
-#include "plugin/pluginmanager.h"
-#include "util/serialutil.h"
-#include "webapi/webapiadapterbase.h"
-#include "webapiadaptersrv.h"
-
-#ifdef HAS_LIMERFEUSB
-#include "limerfe/limerfecontroller.h"
-#endif
-
-WebAPIAdapterSrv::WebAPIAdapterSrv(MainCore& mainCore) :
- m_mainCore(mainCore)
-{
-}
-
-WebAPIAdapterSrv::~WebAPIAdapterSrv()
-{
-}
-
-int WebAPIAdapterSrv::instanceSummary(
- SWGSDRangel::SWGInstanceSummaryResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- response.init();
- *response.getAppname() = QCoreApplication::applicationName();
- *response.getVersion() = QCoreApplication::applicationVersion();
- *response.getQtVersion() = QString(QT_VERSION_STR);
- response.setDspRxBits(SDR_RX_SAMP_SZ);
- response.setDspTxBits(SDR_TX_SAMP_SZ);
- response.setPid(QCoreApplication::applicationPid());
-#if QT_VERSION >= 0x050400
- *response.getArchitecture() = QString(QSysInfo::currentCpuArchitecture());
- *response.getOs() = QString(QSysInfo::prettyProductName());
-#endif
-
- SWGSDRangel::SWGLoggingInfo *logging = response.getLogging();
- logging->init();
- logging->setDumpToFile(m_mainCore.m_logger->getUseFileLogger() ? 1 : 0);
-
- if (logging->getDumpToFile()) {
- m_mainCore.m_logger->getLogFileName(*logging->getFileName());
- m_mainCore.m_logger->getFileMinMessageLevelStr(*logging->getFileLevel());
- }
-
- m_mainCore.m_logger->getConsoleMinMessageLevelStr(*logging->getConsoleLevel());
-
- SWGSDRangel::SWGDeviceSetList *deviceSetList = response.getDevicesetlist();
- getDeviceSetList(deviceSetList);
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceDelete(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- MainCore::MsgDeleteInstance *msg = MainCore::MsgDeleteInstance::create();
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to stop the SDRangel instance (MsgDeleteInstance) was submitted successfully");
-
- return 202;
-}
-
-int WebAPIAdapterSrv::instanceConfigGet(
- SWGSDRangel::SWGInstanceConfigResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- response.init();
- WebAPIAdapterBase webAPIAdapterBase;
- webAPIAdapterBase.setPluginManager(m_mainCore.getPluginManager());
- SWGSDRangel::SWGPreferences *preferences = response.getPreferences();
- WebAPIAdapterBase::webapiFormatPreferences(preferences, m_mainCore.getSettings().getPreferences());
- SWGSDRangel::SWGPreset *workingPreset = response.getWorkingPreset();
- webAPIAdapterBase.webapiFormatPreset(workingPreset, m_mainCore.getSettings().getWorkingPresetConst());
- SWGSDRangel::SWGFeatureSetPreset *workingFeatureSetPreset = response.getWorkingFeatureSetPreset();
- webAPIAdapterBase.webapiFormatFeatureSetPreset(workingFeatureSetPreset, m_mainCore.getSettings().getWorkingFeatureSetPresetConst());
-
- int nbPresets = m_mainCore.m_settings.getPresetCount();
- QList *swgPresets = response.getPresets();
-
- for (int i = 0; i < nbPresets; i++)
- {
- const Preset *preset = m_mainCore.m_settings.getPreset(i);
- swgPresets->append(new SWGSDRangel::SWGPreset);
- webAPIAdapterBase.webapiFormatPreset(swgPresets->back(), *preset);
- }
-
- int nbCommands = m_mainCore.m_settings.getCommandCount();
- QList *swgCommands = response.getCommands();
-
- for (int i = 0; i < nbCommands; i++)
- {
- const Command *command = m_mainCore.m_settings.getCommand(i);
- swgCommands->append(new SWGSDRangel::SWGCommand);
- WebAPIAdapterBase::webapiFormatCommand(swgCommands->back(), *command);
- }
-
- int nbFeatureSetPresets = m_mainCore.m_settings.getFeatureSetPresetCount();
- QList *swgFeatureSetPresets = response.getFeaturesetpresets();
-
- for (int i = 0; i < nbFeatureSetPresets; i++)
- {
- const FeatureSetPreset *preset = m_mainCore.m_settings.getFeatureSetPreset(i);
- swgFeatureSetPresets->append(new SWGSDRangel::SWGFeatureSetPreset);
- webAPIAdapterBase.webapiFormatFeatureSetPreset(swgFeatureSetPresets->back(), *preset);
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceConfigPutPatch(
- bool force, // PUT else PATCH
- SWGSDRangel::SWGInstanceConfigResponse& query,
- const ConfigKeys& configKeys,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- WebAPIAdapterBase webAPIAdapterBase;
- webAPIAdapterBase.setPluginManager(m_mainCore.getPluginManager());
-
- if (force) {
- webAPIAdapterBase.webapiInitConfig(m_mainCore.m_settings);
- }
-
- Preferences newPreferences = m_mainCore.m_settings.getPreferences();
- webAPIAdapterBase.webapiUpdatePreferences(query.getPreferences(), configKeys.m_preferencesKeys, newPreferences);
- m_mainCore.m_settings.setPreferences(newPreferences);
-
- Preset *workingPreset = m_mainCore.m_settings.getWorkingPreset();
- webAPIAdapterBase.webapiUpdatePreset(force, query.getWorkingPreset(), configKeys.m_workingPresetKeys, workingPreset);
-
- FeatureSetPreset *workingFeatureSetPreset = m_mainCore.m_settings.getWorkingFeatureSetPreset();
- webAPIAdapterBase.webapiUpdateFeatureSetPreset(force, query.getWorkingFeatureSetPreset(), configKeys.m_workingFeatureSetPresetKeys, workingFeatureSetPreset);
-
- QList::const_iterator presetKeysIt = configKeys.m_presetKeys.begin();
- int i = 0;
- for (; presetKeysIt != configKeys.m_presetKeys.end(); ++presetKeysIt, i++)
- {
- Preset *newPreset = new Preset(); // created with default values
- SWGSDRangel::SWGPreset *swgPreset = query.getPresets()->at(i);
- webAPIAdapterBase.webapiUpdatePreset(force, swgPreset, *presetKeysIt, newPreset);
- m_mainCore.m_settings.addPreset(newPreset);
- }
-
- QList::const_iterator commandKeysIt = configKeys.m_commandKeys.begin();
- i = 0;
- for (; commandKeysIt != configKeys.m_commandKeys.end(); ++commandKeysIt, i++)
- {
- Command *newCommand = new Command(); // created with default values
- SWGSDRangel::SWGCommand *swgCommand = query.getCommands()->at(i);
- webAPIAdapterBase.webapiUpdateCommand(swgCommand, *commandKeysIt, *newCommand);
- m_mainCore.m_settings.addCommand(newCommand);
- }
-
- QList::const_iterator featureSetPresetKeysIt = configKeys.m_featureSetPresetKeys.begin();
- i = 0;
- for (; featureSetPresetKeysIt != configKeys.m_featureSetPresetKeys.end(); ++featureSetPresetKeysIt, i++)
- {
- FeatureSetPreset *newPreset = new FeatureSetPreset(); // created with default values
- SWGSDRangel::SWGFeatureSetPreset *swgPreset = query.getFeaturesetpresets()->at(i);
- webAPIAdapterBase.webapiUpdateFeatureSetPreset(force, swgPreset, *featureSetPresetKeysIt, newPreset);
- m_mainCore.m_settings.addFeatureSetPreset(newPreset);
- }
-
- MainCore::MsgApplySettings *msg = MainCore::MsgApplySettings::create();
- m_mainCore.m_mainMessageQueue->push(msg);
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceDevices(
- int direction,
- SWGSDRangel::SWGInstanceDevicesResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- response.init();
-
- int nbSamplingDevices;
-
- if (direction == 0) { // Single Rx stream device
- nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices();
- } else if (direction == 1) { // Single Tx stream device
- nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices();
- } else if (direction == 2) { // MIMO device
- nbSamplingDevices = DeviceEnumerator::instance()->getNbMIMOSamplingDevices();
- } else { // not supported
- nbSamplingDevices = 0;
- }
-
-
- response.setDevicecount(nbSamplingDevices);
- QList *devices = response.getDevices();
-
- for (int i = 0; i < nbSamplingDevices; i++)
- {
- const PluginInterface::SamplingDevice *samplingDevice = nullptr;
-
- if (direction == 0) {
- samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i);
- } else if (direction == 1) {
- samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i);
- } else if (direction == 2) {
- samplingDevice = DeviceEnumerator::instance()->getMIMOSamplingDevice(i);
- } else {
- continue;
- }
-
- devices->append(new SWGSDRangel::SWGDeviceListItem);
- devices->back()->init();
- *devices->back()->getDisplayedName() = samplingDevice->displayedName;
- *devices->back()->getHwType() = samplingDevice->hardwareId;
- *devices->back()->getSerial() = samplingDevice->serial;
- devices->back()->setSequence(samplingDevice->sequence);
- devices->back()->setDirection((int) samplingDevice->streamType);
- devices->back()->setDeviceNbStreams(samplingDevice->deviceNbItems);
- devices->back()->setDeviceSetIndex(samplingDevice->claimed);
- devices->back()->setIndex(i);
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceChannels(
- int direction,
- SWGSDRangel::SWGInstanceChannelsResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- response.init();
- PluginAPI::ChannelRegistrations *channelRegistrations;
- int nbChannelDevices;
-
- if (direction == 0) // Single sink (Rx) channel
- {
- channelRegistrations = m_mainCore.m_pluginManager->getRxChannelRegistrations();
- nbChannelDevices = channelRegistrations->size();
- }
- else if (direction == 1) // Single source (Tx) channel
- {
- channelRegistrations = m_mainCore.m_pluginManager->getTxChannelRegistrations();
- nbChannelDevices = channelRegistrations->size();
- }
- else if (direction == 2) // MIMO channel
- {
- channelRegistrations = m_mainCore.m_pluginManager->getMIMOChannelRegistrations();
- nbChannelDevices = channelRegistrations->size();
- }
- else // not supported
- {
- channelRegistrations = nullptr;
- nbChannelDevices = 0;
- }
-
- response.setChannelcount(nbChannelDevices);
- QList *channels = response.getChannels();
-
- for (int i = 0; i < nbChannelDevices; i++)
- {
- channels->append(new SWGSDRangel::SWGChannelListItem);
- channels->back()->init();
- PluginInterface *channelInterface = channelRegistrations->at(i).m_plugin;
- const PluginDescriptor& pluginDescriptor = channelInterface->getPluginDescriptor();
- *channels->back()->getVersion() = pluginDescriptor.version;
- *channels->back()->getName() = pluginDescriptor.displayedName;
- channels->back()->setDirection(direction);
- *channels->back()->getIdUri() = channelRegistrations->at(i).m_channelIdURI;
- *channels->back()->getId() = channelRegistrations->at(i).m_channelId;
- channels->back()->setIndex(i);
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLoggingGet(
- SWGSDRangel::SWGLoggingInfo& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- response.init();
- response.setDumpToFile(m_mainCore.m_logger->getUseFileLogger() ? 1 : 0);
-
- if (response.getDumpToFile()) {
- m_mainCore.m_logger->getLogFileName(*response.getFileName());
- m_mainCore.m_logger->getFileMinMessageLevelStr(*response.getFileLevel());
- }
-
- m_mainCore.m_logger->getConsoleMinMessageLevelStr(*response.getConsoleLevel());
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLoggingPut(
- SWGSDRangel::SWGLoggingInfo& query,
- SWGSDRangel::SWGLoggingInfo& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- // response input is the query actually
- bool dumpToFile = (query.getDumpToFile() != 0);
- QString* consoleLevel = query.getConsoleLevel();
- QString* fileLevel = query.getFileLevel();
- QString* fileName = query.getFileName();
-
- // perform actions
- if (consoleLevel) {
- m_mainCore.m_settings.setConsoleMinLogLevel(getMsgTypeFromString(*consoleLevel));
- }
-
- if (fileLevel) {
- m_mainCore.m_settings.setFileMinLogLevel(getMsgTypeFromString(*fileLevel));
- }
-
- m_mainCore.m_settings.setUseLogFile(dumpToFile);
-
- if (fileName) {
- m_mainCore.m_settings.setLogFileName(*fileName);
- }
-
- m_mainCore.setLoggingOptions();
-
- // build response
- response.init();
- getMsgTypeString(m_mainCore.m_settings.getConsoleMinLogLevel(), *response.getConsoleLevel());
- response.setDumpToFile(m_mainCore.m_settings.getUseLogFile() ? 1 : 0);
- getMsgTypeString(m_mainCore.m_settings.getFileMinLogLevel(), *response.getFileLevel());
- *response.getFileName() = m_mainCore.m_settings.getLogFileName();
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioGet(
- SWGSDRangel::SWGAudioDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- const QList& audioInputDevices = dspEngine->getAudioDeviceManager()->getInputDevices();
- const QList& audioOutputDevices = dspEngine->getAudioDeviceManager()->getOutputDevices();
- int nbInputDevices = audioInputDevices.size();
- int nbOutputDevices = audioOutputDevices.size();
-
- response.init();
- response.setNbInputDevices(nbInputDevices);
- response.setNbOutputDevices(nbOutputDevices);
- QList *inputDevices = response.getInputDevices();
- QList *outputDevices = response.getOutputDevices();
- AudioDeviceManager::InputDeviceInfo inputDeviceInfo;
- AudioDeviceManager::OutputDeviceInfo outputDeviceInfo;
-
- // system default input device
- inputDevices->append(new SWGSDRangel::SWGAudioInputDevice);
- inputDevices->back()->init();
- bool found = dspEngine->getAudioDeviceManager()->getInputDeviceInfo(AudioDeviceManager::m_defaultDeviceName, inputDeviceInfo);
- *inputDevices->back()->getName() = AudioDeviceManager::m_defaultDeviceName;
- inputDevices->back()->setIndex(-1);
- inputDevices->back()->setSampleRate(inputDeviceInfo.sampleRate);
- inputDevices->back()->setIsSystemDefault(0);
- inputDevices->back()->setDefaultUnregistered(found ? 0 : 1);
- inputDevices->back()->setVolume(inputDeviceInfo.volume);
-
- // real input devices
- for (int i = 0; i < nbInputDevices; i++)
- {
- inputDevices->append(new SWGSDRangel::SWGAudioInputDevice);
- inputDevices->back()->init();
- inputDeviceInfo.resetToDefaults();
- found = dspEngine->getAudioDeviceManager()->getInputDeviceInfo(audioInputDevices.at(i).deviceName(), inputDeviceInfo);
- *inputDevices->back()->getName() = audioInputDevices.at(i).deviceName();
- inputDevices->back()->setIndex(i);
- inputDevices->back()->setSampleRate(inputDeviceInfo.sampleRate);
- inputDevices->back()->setIsSystemDefault(audioInputDevices.at(i).deviceName() == QAudioDeviceInfo::defaultInputDevice().deviceName() ? 1 : 0);
- inputDevices->back()->setDefaultUnregistered(found ? 0 : 1);
- inputDevices->back()->setVolume(inputDeviceInfo.volume);
- }
-
- // system default output device
- outputDevices->append(new SWGSDRangel::SWGAudioOutputDevice);
- outputDevices->back()->init();
- found = dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(AudioDeviceManager::m_defaultDeviceName, outputDeviceInfo);
- *outputDevices->back()->getName() = AudioDeviceManager::m_defaultDeviceName;
- outputDevices->back()->setIndex(-1);
- outputDevices->back()->setSampleRate(outputDeviceInfo.sampleRate);
- inputDevices->back()->setIsSystemDefault(0);
- outputDevices->back()->setDefaultUnregistered(found ? 0 : 1);
- outputDevices->back()->setCopyToUdp(outputDeviceInfo.copyToUDP ? 1 : 0);
- outputDevices->back()->setUdpUsesRtp(outputDeviceInfo.udpUseRTP ? 1 : 0);
- outputDevices->back()->setUdpChannelMode((int) outputDeviceInfo.udpChannelMode);
- outputDevices->back()->setUdpChannelCodec((int) outputDeviceInfo.udpChannelCodec);
- outputDevices->back()->setUdpDecimationFactor(outputDeviceInfo.udpDecimationFactor);
- *outputDevices->back()->getUdpAddress() = outputDeviceInfo.udpAddress;
- outputDevices->back()->setUdpPort(outputDeviceInfo.udpPort);
-
- // real output devices
- for (int i = 0; i < nbOutputDevices; i++)
- {
- outputDevices->append(new SWGSDRangel::SWGAudioOutputDevice);
- outputDevices->back()->init();
- outputDeviceInfo.resetToDefaults();
- found = dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(audioOutputDevices.at(i).deviceName(), outputDeviceInfo);
- *outputDevices->back()->getName() = audioOutputDevices.at(i).deviceName();
- outputDevices->back()->setIndex(i);
- outputDevices->back()->setSampleRate(outputDeviceInfo.sampleRate);
- outputDevices->back()->setIsSystemDefault(audioOutputDevices.at(i).deviceName() == QAudioDeviceInfo::defaultOutputDevice().deviceName() ? 1 : 0);
- outputDevices->back()->setDefaultUnregistered(found ? 0 : 1);
- outputDevices->back()->setCopyToUdp(outputDeviceInfo.copyToUDP ? 1 : 0);
- outputDevices->back()->setUdpUsesRtp(outputDeviceInfo.udpUseRTP ? 1 : 0);
- outputDevices->back()->setUdpChannelMode((int) outputDeviceInfo.udpChannelMode);
- outputDevices->back()->setUdpChannelCodec((int) outputDeviceInfo.udpChannelCodec);
- outputDevices->back()->setUdpDecimationFactor(outputDeviceInfo.udpDecimationFactor);
- *outputDevices->back()->getUdpAddress() = outputDeviceInfo.udpAddress;
- outputDevices->back()->setUdpPort(outputDeviceInfo.udpPort);
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioInputPatch(
- SWGSDRangel::SWGAudioInputDevice& response,
- const QStringList& audioInputKeys,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- AudioDeviceManager::InputDeviceInfo inputDeviceInfo;
- QString deviceName;
- int deviceIndex = response.getIndex();
-
- if (!dspEngine->getAudioDeviceManager()->getInputDeviceName(deviceIndex, deviceName))
- {
- error.init();
- *error.getMessage() = QString("There is no input audio device at index %1").arg(deviceIndex);
- return 404;
- }
-
- dspEngine->getAudioDeviceManager()->getInputDeviceInfo(deviceName, inputDeviceInfo);
-
- if (audioInputKeys.contains("sampleRate")) {
- inputDeviceInfo.sampleRate = response.getSampleRate();
- }
- if (audioInputKeys.contains("volume")) {
- inputDeviceInfo.volume = response.getVolume();
- }
-
- dspEngine->getAudioDeviceManager()->setInputDeviceInfo(deviceIndex, inputDeviceInfo);
- dspEngine->getAudioDeviceManager()->getInputDeviceInfo(deviceName, inputDeviceInfo);
-
- response.setSampleRate(inputDeviceInfo.sampleRate);
- response.setVolume(inputDeviceInfo.volume);
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioOutputPatch(
- SWGSDRangel::SWGAudioOutputDevice& response,
- const QStringList& audioOutputKeys,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- AudioDeviceManager::OutputDeviceInfo outputDeviceInfo;
- QString deviceName;
- int deviceIndex = response.getIndex();
-
- if (!dspEngine->getAudioDeviceManager()->getOutputDeviceName(deviceIndex, deviceName))
- {
- error.init();
- *error.getMessage() = QString("There is no output audio device at index %1").arg(deviceIndex);
- return 404;
- }
-
- dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(deviceName, outputDeviceInfo);
-
- if (audioOutputKeys.contains("sampleRate")) {
- outputDeviceInfo.sampleRate = response.getSampleRate();
- }
- if (audioOutputKeys.contains("copyToUDP")) {
- outputDeviceInfo.copyToUDP = response.getCopyToUdp() == 0 ? 0 : 1;
- }
- if (audioOutputKeys.contains("udpUsesRTP")) {
- outputDeviceInfo.udpUseRTP = response.getUdpUsesRtp() == 0 ? 0 : 1;
- }
- if (audioOutputKeys.contains("udpChannelMode")) {
- outputDeviceInfo.udpChannelMode = static_cast(response.getUdpChannelMode() % 4);
- }
- if (audioOutputKeys.contains("udpChannelCodec")) {
- outputDeviceInfo.udpChannelCodec = static_cast(response.getUdpChannelCodec());
- }
- if (audioOutputKeys.contains("udpDecimationFactor")) {
- outputDeviceInfo.udpDecimationFactor = response.getUdpDecimationFactor();
- }
- if (audioOutputKeys.contains("udpAddress")) {
- outputDeviceInfo.udpAddress = *response.getUdpAddress();
- }
- if (audioOutputKeys.contains("udpPort")) {
- outputDeviceInfo.udpPort = response.getUdpPort() % (1<<16);
- }
-
- dspEngine->getAudioDeviceManager()->setOutputDeviceInfo(deviceIndex, outputDeviceInfo);
- dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(deviceName, outputDeviceInfo);
-
- response.setSampleRate(outputDeviceInfo.sampleRate);
- response.setCopyToUdp(outputDeviceInfo.copyToUDP == 0 ? 0 : 1);
- response.setUdpUsesRtp(outputDeviceInfo.udpUseRTP == 0 ? 0 : 1);
- response.setUdpChannelMode(outputDeviceInfo.udpChannelMode);
- response.setUdpChannelCodec(outputDeviceInfo.udpChannelCodec);
- response.setUdpDecimationFactor(outputDeviceInfo.udpDecimationFactor);
-
- if (response.getUdpAddress()) {
- *response.getUdpAddress() = outputDeviceInfo.udpAddress;
- } else {
- response.setUdpAddress(new QString(outputDeviceInfo.udpAddress));
- }
-
- response.setUdpPort(outputDeviceInfo.udpPort % (1<<16));
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioInputDelete(
- SWGSDRangel::SWGAudioInputDevice& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- AudioDeviceManager::InputDeviceInfo inputDeviceInfo;
- QString deviceName;
- int deviceIndex = response.getIndex();
-
- if (!dspEngine->getAudioDeviceManager()->getInputDeviceName(deviceIndex, deviceName))
- {
- error.init();
- *error.getMessage() = QString("There is no audio input device at index %1").arg(deviceIndex);
- return 404;
- }
-
- dspEngine->getAudioDeviceManager()->unsetInputDeviceInfo(deviceIndex);
- dspEngine->getAudioDeviceManager()->getInputDeviceInfo(deviceName, inputDeviceInfo);
-
- response.setSampleRate(inputDeviceInfo.sampleRate);
- response.setVolume(inputDeviceInfo.volume);
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioOutputDelete(
- SWGSDRangel::SWGAudioOutputDevice& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- AudioDeviceManager::OutputDeviceInfo outputDeviceInfo;
- QString deviceName;
- int deviceIndex = response.getIndex();
-
- if (!dspEngine->getAudioDeviceManager()->getOutputDeviceName(deviceIndex, deviceName))
- {
- error.init();
- *error.getMessage() = QString("There is no audio output device at index %1").arg(deviceIndex);
- return 404;
- }
-
- dspEngine->getAudioDeviceManager()->unsetInputDeviceInfo(deviceIndex);
- dspEngine->getAudioDeviceManager()->getOutputDeviceInfo(deviceName, outputDeviceInfo);
-
- response.setSampleRate(outputDeviceInfo.sampleRate);
- response.setCopyToUdp(outputDeviceInfo.copyToUDP == 0 ? 0 : 1);
- response.setUdpUsesRtp(outputDeviceInfo.udpUseRTP == 0 ? 0 : 1);
- response.setUdpChannelMode(outputDeviceInfo.udpChannelMode);
- response.setUdpChannelCodec(outputDeviceInfo.udpChannelCodec);
- response.setUdpDecimationFactor(outputDeviceInfo.udpDecimationFactor);
-
- if (response.getUdpAddress()) {
- *response.getUdpAddress() = outputDeviceInfo.udpAddress;
- } else {
- response.setUdpAddress(new QString(outputDeviceInfo.udpAddress));
- }
-
- response.setUdpPort(outputDeviceInfo.udpPort % (1<<16));
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioInputCleanupPatch(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- dspEngine->getAudioDeviceManager()->inputInfosCleanup();
-
- response.init();
- *response.getMessage() = QString("Unregistered parameters for devices not in list of available input devices for this instance");
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAudioOutputCleanupPatch(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- dspEngine->getAudioDeviceManager()->outputInfosCleanup();
-
- response.init();
- *response.getMessage() = QString("Unregistered parameters for devices not in list of available output devices for this instance");
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLocationGet(
- SWGSDRangel::SWGLocationInformation& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- response.init();
- response.setLatitude(m_mainCore.m_settings.getLatitude());
- response.setLongitude(m_mainCore.m_settings.getLongitude());
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLocationPut(
- SWGSDRangel::SWGLocationInformation& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- float latitude = response.getLatitude();
- float longitude = response.getLongitude();
-
- latitude = latitude < -90.0 ? -90.0 : latitude > 90.0 ? 90.0 : latitude;
- longitude = longitude < -180.0 ? -180.0 : longitude > 180.0 ? 180.0 : longitude;
-
- m_mainCore.m_settings.setLatitude(latitude);
- m_mainCore.m_settings.setLongitude(longitude);
-
- response.setLatitude(m_mainCore.m_settings.getLatitude());
- response.setLongitude(m_mainCore.m_settings.getLongitude());
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceDVSerialGet(
- SWGSDRangel::SWGDVSerialDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- response.init();
-
- std::vector deviceNames;
- dspEngine->getDVSerialNames(deviceNames);
- response.setNbDevices((int) deviceNames.size());
- QList *deviceNamesList = response.getDvSerialDevices();
-
- std::vector::iterator it = deviceNames.begin();
-
- while (it != deviceNames.end())
- {
- deviceNamesList->append(new SWGSDRangel::SWGDVSerialDevice);
- deviceNamesList->back()->init();
- *deviceNamesList->back()->getDeviceName() = QString::fromStdString(*it);
- ++it;
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceDVSerialPatch(
- bool dvserial,
- SWGSDRangel::SWGDVSerialDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- dspEngine->setDVSerialSupport(dvserial);
- response.init();
-
- if (dvserial)
- {
- std::vector deviceNames;
- dspEngine->getDVSerialNames(deviceNames);
- response.setNbDevices((int) deviceNames.size());
- QList *deviceNamesList = response.getDvSerialDevices();
-
- std::vector::iterator it = deviceNames.begin();
- std::string deviceNamesStr = "DV Serial devices found: ";
-
- while (it != deviceNames.end())
- {
- deviceNamesList->append(new SWGSDRangel::SWGDVSerialDevice);
- deviceNamesList->back()->init();
- *deviceNamesList->back()->getDeviceName() = QString::fromStdString(*it);
- ++it;
- }
- }
- else
- {
- response.setNbDevices(0);
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAMBESerialGet(
- SWGSDRangel::SWGDVSerialDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- (void) error;
- DSPEngine *dspEngine = DSPEngine::instance();
- response.init();
-
- std::vector deviceNames;
- std::vector qDeviceNames;
- dspEngine->getAMBEEngine()->scan(qDeviceNames);
-
- for (std::vector::const_iterator it = qDeviceNames.begin(); it != qDeviceNames.end(); ++it) {
- deviceNames.push_back(it->toStdString());
- }
-
- response.setNbDevices((int) deviceNames.size());
- QList *deviceNamesList = response.getDvSerialDevices();
-
- std::vector::iterator it = deviceNames.begin();
-
- while (it != deviceNames.end())
- {
- deviceNamesList->append(new SWGSDRangel::SWGDVSerialDevice);
- deviceNamesList->back()->init();
- *deviceNamesList->back()->getDeviceName() = QString::fromStdString(*it);
- ++it;
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAMBEDevicesGet(
- SWGSDRangel::SWGAMBEDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- (void) error;
- DSPEngine *dspEngine = DSPEngine::instance();
- response.init();
-
- std::vector deviceNames;
- dspEngine->getDVSerialNames(deviceNames);
- response.setNbDevices((int) deviceNames.size());
- QList *deviceNamesList = response.getAmbeDevices();
-
- std::vector::iterator it = deviceNames.begin();
-
- while (it != deviceNames.end())
- {
- deviceNamesList->append(new SWGSDRangel::SWGAMBEDevice);
- deviceNamesList->back()->init();
- *deviceNamesList->back()->getDeviceRef() = QString::fromStdString(*it);
- deviceNamesList->back()->setDelete(0);
- ++it;
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAMBEDevicesDelete(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- (void) error;
- DSPEngine *dspEngine = DSPEngine::instance();
- dspEngine->getAMBEEngine()->releaseAll();
-
- response.init();
- *response.getMessage() = QString("All AMBE devices released");
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAMBEDevicesPut(
- SWGSDRangel::SWGAMBEDevices& query,
- SWGSDRangel::SWGAMBEDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- dspEngine->getAMBEEngine()->releaseAll();
-
- QList *ambeList = query.getAmbeDevices();
-
- for (QList::const_iterator it = ambeList->begin(); it != ambeList->end(); ++it) {
- dspEngine->getAMBEEngine()->registerController((*it)->getDeviceRef()->toStdString());
- }
-
- instanceAMBEDevicesGet(response, error);
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceAMBEDevicesPatch(
- SWGSDRangel::SWGAMBEDevices& query,
- SWGSDRangel::SWGAMBEDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- DSPEngine *dspEngine = DSPEngine::instance();
- QList *ambeList = query.getAmbeDevices();
-
- for (QList::const_iterator it = ambeList->begin(); it != ambeList->end(); ++it)
- {
- if ((*it)->getDelete()) {
- dspEngine->getAMBEEngine()->releaseController((*it)->getDeviceRef()->toStdString());
- } else {
- dspEngine->getAMBEEngine()->registerController((*it)->getDeviceRef()->toStdString());
- }
- }
-
- instanceAMBEDevicesGet(response, error);
- return 200;
-}
-
-#ifdef HAS_LIMERFEUSB
-int WebAPIAdapterSrv::instanceLimeRFESerialGet(
- SWGSDRangel::SWGLimeRFEDevices& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- (void) error;
- std::vector comPorts;
- SerialUtil::getComPorts(comPorts, "ttyUSB[0-9]+"); // regex is for Linux only
- response.setNbDevices((int) comPorts.size());
- QList *deviceNamesList = response.getLimeRfeDevices();
- std::vector::iterator it = comPorts.begin();
-
- while (it != comPorts.end())
- {
- deviceNamesList->append(new SWGSDRangel::SWGLimeRFEDevice);
- deviceNamesList->back()->init();
- *deviceNamesList->back()->getDeviceRef() = QString::fromStdString(*it);
- ++it;
- }
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLimeRFEConfigGet(
- const QString& serial,
- SWGSDRangel::SWGLimeRFESettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- LimeRFEController controller;
- int rc = controller.openDevice(serial.toStdString());
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error opening LimeRFE device %1: %2")
- .arg(serial).arg(controller.getError(rc).c_str());
- return 400;
- }
-
- rc = controller.getState();
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error getting config from LimeRFE device %1: %2")
- .arg(serial).arg(controller.getError(rc).c_str());
- return 500;
- }
-
- controller.closeDevice();
-
- LimeRFEController::LimeRFESettings settings;
- controller.stateToSettings(settings);
- response.init();
- response.setDevicePath(new QString(serial));
- response.setRxChannels((int) settings.m_rxChannels);
- response.setRxWidebandChannel((int) settings.m_rxWidebandChannel);
- response.setRxHamChannel((int) settings.m_rxHAMChannel);
- response.setRxCellularChannel((int) settings.m_rxCellularChannel);
- response.setRxPort((int) settings.m_rxPort);
- response.setRxOn(settings.m_rxOn ? 1 : 0);
- response.setAmfmNotch(settings.m_amfmNotch ? 1 : 0);
- response.setAttenuationFactor(settings.m_attenuationFactor);
- response.setTxChannels((int) settings.m_txChannels);
- response.setTxWidebandChannel((int) settings.m_txWidebandChannel);
- response.setTxHamChannel((int) settings.m_txHAMChannel);
- response.setTxCellularChannel((int) settings.m_txCellularChannel);
- response.setTxPort((int) settings.m_txPort);
- response.setTxOn(settings.m_txOn ? 1 : 0);
- response.setSwrEnable(settings.m_swrEnable ? 1 : 0);
- response.setSwrSource((int) settings.m_swrSource);
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLimeRFEConfigPut(
- SWGSDRangel::SWGLimeRFESettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- LimeRFEController controller;
- int rc = controller.openDevice(query.getDevicePath()->toStdString());
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error opening LimeRFE device %1: %2")
- .arg(*query.getDevicePath()).arg(controller.getError(rc).c_str());
- return 400;
- }
-
- LimeRFEController::LimeRFESettings settings;
- settings.m_rxChannels = (LimeRFEController::ChannelGroups) query.getRxChannels();
- settings.m_rxWidebandChannel = (LimeRFEController::WidebandChannel) query.getRxWidebandChannel();
- settings.m_rxHAMChannel = (LimeRFEController::HAMChannel) query.getRxHamChannel();
- settings.m_rxCellularChannel = (LimeRFEController::CellularChannel) query.getRxCellularChannel();
- settings.m_rxPort = (LimeRFEController::RxPort) query.getRxPort();
- settings.m_rxOn = query.getRxOn() != 0;
- settings.m_amfmNotch = query.getAmfmNotch() != 0;
- settings.m_attenuationFactor = query.getAttenuationFactor();
- settings.m_txChannels = (LimeRFEController::ChannelGroups) query.getTxChannels();
- settings.m_txWidebandChannel = (LimeRFEController::WidebandChannel) query.getTxWidebandChannel();
- settings.m_txHAMChannel = (LimeRFEController::HAMChannel) query.getTxHamChannel();
- settings.m_txCellularChannel = (LimeRFEController::CellularChannel) query.getTxCellularChannel();
- settings.m_txPort = (LimeRFEController::TxPort) query.getTxPort();
- settings.m_txOn = query.getTxOn() != 0;
- settings.m_swrEnable = query.getSwrEnable() != 0;
- settings.m_swrSource = (LimeRFEController::SWRSource) query.getSwrSource();
-
- controller.settingsToState(settings);
-
- rc = controller.configure();
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error configuring LimeRFE device %1: %2")
- .arg(*query.getDevicePath()).arg(controller.getError(rc).c_str());
- return 500;
- }
-
- response.init();
- *response.getMessage() = QString("LimeRFE device at %1 configuration updated successfully").arg(*query.getDevicePath());
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLimeRFERunPut(
- SWGSDRangel::SWGLimeRFESettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- LimeRFEController controller;
- int rc = controller.openDevice(query.getDevicePath()->toStdString());
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error opening LimeRFE device %1: %2")
- .arg(*query.getDevicePath()).arg(controller.getError(rc).c_str());
- return 400;
- }
-
- LimeRFEController::LimeRFESettings settings;
- settings.m_rxOn = query.getRxOn() != 0;
- settings.m_txOn = query.getTxOn() != 0;
-
- rc = controller.setRx(settings, settings.m_rxOn);
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error setting Rx/Tx LimeRFE device %1: %2")
- .arg(*query.getDevicePath()).arg(controller.getError(rc).c_str());
- return 400;
- }
-
- response.init();
- *response.getMessage() = QString("LimeRFE device at %1 mode updated successfully").arg(*query.getDevicePath());
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceLimeRFEPowerGet(
- const QString& serial,
- SWGSDRangel::SWGLimeRFEPower& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- LimeRFEController controller;
- int rc = controller.openDevice(serial.toStdString());
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error opening LimeRFE device %1: %2")
- .arg(serial).arg(controller.getError(rc).c_str());
- return 400;
- }
-
- int fwdPower;
- rc = controller.getFwdPower(fwdPower);
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error getting forward power from LimeRFE device %1: %2")
- .arg(serial).arg(controller.getError(rc).c_str());
- return 500;
- }
-
- int refPower;
- rc = controller.getRefPower(refPower);
-
- if (rc != 0)
- {
- error.init();
- *error.getMessage() = QString("Error getting reflected power from LimeRFE device %1: %2")
- .arg(serial).arg(controller.getError(rc).c_str());
- return 500;
- }
-
- controller.closeDevice();
-
- response.init();
- response.setForward(fwdPower);
- response.setReflected(refPower);
- return 200;
-}
-#endif
-
-int WebAPIAdapterSrv::instancePresetFilePut(
- SWGSDRangel::SWGPresetImport& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- const QString& fileName = *query.getFilePath();
-
- if (fileName != "")
- {
- QFile exportFile(fileName);
-
- if (exportFile.open(QIODevice::ReadOnly | QIODevice::Text))
- {
- QByteArray base64Str;
- QTextStream instream(&exportFile);
- instream >> base64Str;
- exportFile.close();
-
- Preset* preset = m_mainCore.m_settings.newPreset("", "");
- preset->deserialize(QByteArray::fromBase64(base64Str));
-
- if (query.getGroupName() && (query.getGroupName()->size() > 0)) {
- preset->setGroup(*query.getGroupName());
- }
-
- if (query.getDescription() && (query.getDescription()->size() > 0)) {
- preset->setDescription(*query.getDescription());
- }
-
- response.init();
- response.setCenterFrequency(preset->getCenterFrequency());
- *response.getGroupName() = preset->getGroup();
- *response.getType() = preset->isSourcePreset() ? "R" : preset->isSinkPreset() ? "T" : preset->isMIMOPreset() ? "M" : "X";
- *response.getName() = preset->getDescription();
-
- return 200;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("File %1 not found or not readable").arg(fileName);
- return 404;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("Empty file path");
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::instancePresetFilePost(
- SWGSDRangel::SWGPresetExport& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- QString filePath = *query.getFilePath();
- SWGSDRangel::SWGPresetIdentifier *presetIdentifier = query.getPreset();
-
- const Preset *selectedPreset = m_mainCore.m_settings.getPreset(*presetIdentifier->getGroupName(),
- presetIdentifier->getCenterFrequency(),
- *presetIdentifier->getName(),
- *presetIdentifier->getType());
-
- if (selectedPreset == 0)
- {
- error.init();
- *error.getMessage() = QString("There is no preset [%1, %2, %3, %4]")
- .arg(*presetIdentifier->getGroupName())
- .arg(presetIdentifier->getCenterFrequency())
- .arg(*presetIdentifier->getName())
- .arg(*presetIdentifier->getType());
- return 404;
- }
-
- QString base64Str = selectedPreset->serialize().toBase64();
-
- if (filePath != "")
- {
- QFileInfo fileInfo(filePath);
-
- if (fileInfo.suffix() != "prex") {
- filePath += ".prex";
- }
-
- QFile exportFile(filePath);
-
- if (exportFile.open(QIODevice::WriteOnly | QIODevice::Text))
- {
- QTextStream outstream(&exportFile);
- outstream << base64Str;
- exportFile.close();
-
- response.init();
- response.setCenterFrequency(selectedPreset->getCenterFrequency());
- *response.getGroupName() = selectedPreset->getGroup();
- *response.getType() = selectedPreset->isSourcePreset() ? "R" : selectedPreset->isSinkPreset() ? "T" : selectedPreset->isMIMOPreset() ? "M" : "X";
- *response.getName() = selectedPreset->getDescription();
-
- return 200;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("File %1 cannot be written").arg(filePath);
- return 404;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("Empty file path");
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::instancePresetsGet(
- SWGSDRangel::SWGPresets& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- int nbPresets = m_mainCore.m_settings.getPresetCount();
- int nbGroups = 0;
- int nbPresetsThisGroup = 0;
- QString groupName;
- response.init();
- QList *groups = response.getGroups();
- QList *swgPresets = 0;
- int i = 0;
-
- // Presets are sorted by group first
-
- for (; i < nbPresets; i++)
- {
- const Preset *preset = m_mainCore.m_settings.getPreset(i);
-
- if ((i == 0) || (groupName != preset->getGroup())) // new group
- {
- if (i > 0) { groups->back()->setNbPresets(nbPresetsThisGroup); }
- groups->append(new SWGSDRangel::SWGPresetGroup);
- groups->back()->init();
- groupName = preset->getGroup();
- *groups->back()->getGroupName() = groupName;
- swgPresets = groups->back()->getPresets();
- nbGroups++;
- nbPresetsThisGroup = 0;
- }
-
- swgPresets->append(new SWGSDRangel::SWGPresetItem);
- swgPresets->back()->init();
- swgPresets->back()->setCenterFrequency(preset->getCenterFrequency());
- *swgPresets->back()->getType() = preset->isSourcePreset() ? "R" : preset->isSinkPreset() ? "T" : preset->isMIMOPreset() ? "M" : "X";
- *swgPresets->back()->getName() = preset->getDescription();
- nbPresetsThisGroup++;
- }
-
- if (i > 0) { groups->back()->setNbPresets(nbPresetsThisGroup); }
- response.setNbGroups(nbGroups);
-
- return 200;
-}
-
-int WebAPIAdapterSrv::instancePresetPatch(
- SWGSDRangel::SWGPresetTransfer& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- int deviceSetIndex = query.getDeviceSetIndex();
- SWGSDRangel::SWGPresetIdentifier *presetIdentifier = query.getPreset();
- int nbDeviceSets = m_mainCore.m_deviceSets.size();
-
- if (deviceSetIndex >= nbDeviceSets)
- {
- error.init();
- *error.getMessage() = QString("There is no device set at index %1. Number of device sets is %2").arg(deviceSetIndex).arg(nbDeviceSets);
- return 404;
- }
-
- const Preset *selectedPreset = m_mainCore.m_settings.getPreset(*presetIdentifier->getGroupName(),
- presetIdentifier->getCenterFrequency(),
- *presetIdentifier->getName(),
- *presetIdentifier->getType());
-
- if (selectedPreset == 0)
- {
- error.init();
- *error.getMessage() = QString("There is no preset [%1, %2, %3 %4]")
- .arg(*presetIdentifier->getGroupName())
- .arg(presetIdentifier->getCenterFrequency())
- .arg(*presetIdentifier->getName())
- .arg(*presetIdentifier->getType());
- return 404;
- }
-
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine && !selectedPreset->isSourcePreset())
- {
- error.init();
- *error.getMessage() = QString("Preset type and device set type (Rx) mismatch");
- return 404;
- }
-
- if (deviceSet->m_deviceSinkEngine && !selectedPreset->isSinkPreset())
- {
- error.init();
- *error.getMessage() = QString("Preset type and device set type (Tx) mismatch");
- return 404;
- }
-
- if (deviceSet->m_deviceMIMOEngine && !selectedPreset->isMIMOPreset())
- {
- error.init();
- *error.getMessage() = QString("Preset type and device set type (MIMO) mismatch");
- return 404;
- }
-
- MainCore::MsgLoadPreset *msg = MainCore::MsgLoadPreset::create(selectedPreset, deviceSetIndex);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- response.setCenterFrequency(selectedPreset->getCenterFrequency());
- *response.getGroupName() = selectedPreset->getGroup();
- *response.getType() = selectedPreset->isSourcePreset() ? "R" : selectedPreset->isSinkPreset() ? "T" : selectedPreset->isMIMOPreset() ? "M" : "X";
- *response.getName() = selectedPreset->getDescription();
-
- return 202;
-}
-
-int WebAPIAdapterSrv::instancePresetPut(
- SWGSDRangel::SWGPresetTransfer& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- int deviceSetIndex = query.getDeviceSetIndex();
- SWGSDRangel::SWGPresetIdentifier *presetIdentifier = query.getPreset();
- int nbDeviceSets = m_mainCore.m_deviceSets.size();
-
- if (deviceSetIndex >= nbDeviceSets)
- {
- error.init();
- *error.getMessage() = QString("There is no device set at index %1. Number of device sets is %2").arg(deviceSetIndex).arg(nbDeviceSets);
- return 404;
- }
-
- const Preset *selectedPreset = m_mainCore.m_settings.getPreset(*presetIdentifier->getGroupName(),
- presetIdentifier->getCenterFrequency(),
- *presetIdentifier->getName(),
- *presetIdentifier->getType());
-
- if (selectedPreset == 0)
- {
- error.init();
- *error.getMessage() = QString("There is no preset [%1, %2, %3 %4]")
- .arg(*presetIdentifier->getGroupName())
- .arg(presetIdentifier->getCenterFrequency())
- .arg(*presetIdentifier->getName())
- .arg(*presetIdentifier->getType());
- return 404;
- }
- else // update existing preset
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine && !selectedPreset->isSourcePreset())
- {
- error.init();
- *error.getMessage() = QString("Preset type and device set type (Rx) mismatch");
- return 404;
- }
-
- if (deviceSet->m_deviceSinkEngine && !selectedPreset->isSinkPreset())
- {
- error.init();
- *error.getMessage() = QString("Preset type and device set type (Tx) mismatch");
- return 404;
- }
-
- if (deviceSet->m_deviceSinkEngine && !selectedPreset->isMIMOPreset())
- {
- error.init();
- *error.getMessage() = QString("Preset type and device set type (MIMO) mismatch");
- return 404;
- }
- }
-
- MainCore::MsgSavePreset *msg = MainCore::MsgSavePreset::create(const_cast(selectedPreset), deviceSetIndex, false);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- response.setCenterFrequency(selectedPreset->getCenterFrequency());
- *response.getGroupName() = selectedPreset->getGroup();
- *response.getType() = selectedPreset->isSourcePreset() ? "R" : selectedPreset->isSinkPreset() ? "T": selectedPreset->isMIMOPreset() ? "M" : "X";
- *response.getName() = selectedPreset->getDescription();
-
- return 202;
-}
-
-int WebAPIAdapterSrv::instancePresetPost(
- SWGSDRangel::SWGPresetTransfer& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- int deviceSetIndex = query.getDeviceSetIndex();
- SWGSDRangel::SWGPresetIdentifier *presetIdentifier = query.getPreset();
- int nbDeviceSets = m_mainCore.m_deviceSets.size();
-
- if (deviceSetIndex >= nbDeviceSets)
- {
- error.init();
- *error.getMessage() = QString("There is no device set at index %1. Number of device sets is %2").arg(deviceSetIndex).arg(nbDeviceSets);
- return 404;
- }
-
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
- int deviceCenterFrequency = 0;
- int presetTypeCode;
-
- if (deviceSet->m_deviceSourceEngine) { // Rx
- deviceCenterFrequency = deviceSet->m_deviceSourceEngine->getSource()->getCenterFrequency();
- presetTypeCode = 0;
- } else if (deviceSet->m_deviceSinkEngine) { // Tx
- deviceCenterFrequency = deviceSet->m_deviceSinkEngine->getSink()->getCenterFrequency();
- presetTypeCode = 1;
- } else if (deviceSet->m_deviceMIMOEngine) { // MIMO
- deviceCenterFrequency = deviceSet->m_deviceMIMOEngine->getMIMO()->getMIMOCenterFrequency();
- presetTypeCode = 2;
- } else {
- error.init();
- *error.getMessage() = QString("Device set error");
- return 500;
- }
-
- const Preset *selectedPreset = m_mainCore.m_settings.getPreset(*presetIdentifier->getGroupName(),
- deviceCenterFrequency,
- *presetIdentifier->getName(),
- *presetIdentifier->getType());
-
- if (selectedPreset == 0) // save on a new preset
- {
- selectedPreset = m_mainCore.m_settings.newPreset(*presetIdentifier->getGroupName(), *presetIdentifier->getName());
- }
- else
- {
- error.init();
- *error.getMessage() = QString("Preset already exists [%1, %2, %3 %4]")
- .arg(*presetIdentifier->getGroupName())
- .arg(deviceCenterFrequency)
- .arg(*presetIdentifier->getName())
- .arg(*presetIdentifier->getType());
- return 409;
- }
-
- MainCore::MsgSavePreset *msg = MainCore::MsgSavePreset::create(const_cast(selectedPreset), deviceSetIndex, true);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- response.setCenterFrequency(deviceCenterFrequency);
- *response.getGroupName() = selectedPreset->getGroup();
- *response.getType() = presetTypeCode == 0 ? "R" : presetTypeCode == 1 ? "T" : presetTypeCode == 2 ? "M" : "X";
- *response.getName() = selectedPreset->getDescription();
-
- return 202;
-}
-
-int WebAPIAdapterSrv::instancePresetDelete(
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- const Preset *selectedPreset = m_mainCore.m_settings.getPreset(*response.getGroupName(),
- response.getCenterFrequency(),
- *response.getName(),
- *response.getType());
-
- if (selectedPreset == 0)
- {
- error.init();
- *error.getMessage() = QString("There is no preset [%1, %2, %3 %4]")
- .arg(*response.getGroupName())
- .arg(response.getCenterFrequency())
- .arg(*response.getName())
- .arg(*response.getType());
- return 404;
- }
-
- response.setCenterFrequency(selectedPreset->getCenterFrequency());
- *response.getGroupName() = selectedPreset->getGroup();
- *response.getType() = selectedPreset->isSourcePreset() ? "R" : selectedPreset->isSinkPreset() ? "T" : selectedPreset->isMIMOPreset() ? "M" : "X";
- *response.getName() = selectedPreset->getDescription();
-
- MainCore::MsgDeletePreset *msg = MainCore::MsgDeletePreset::create(const_cast(selectedPreset));
- m_mainCore.m_mainMessageQueue->push(msg);
-
- return 202;
-}
-
-int WebAPIAdapterSrv::instanceDeviceSetsGet(
- SWGSDRangel::SWGDeviceSetList& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- getDeviceSetList(&response);
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceFeatureSetsGet(
- SWGSDRangel::SWGFeatureSetList& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- (void) error;
- getFeatureSetList(&response);
- return 200;
-}
-
-int WebAPIAdapterSrv::instanceDeviceSetPost(
- int direction,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- MainCore::MsgAddDeviceSet *msg = MainCore::MsgAddDeviceSet::create(direction);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to add a new device set (MsgAddDeviceSet) was submitted successfully");
-
- return 202;
-}
-
-int WebAPIAdapterSrv::instanceDeviceSetDelete(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if (m_mainCore.m_deviceSets.size() > 0)
- {
- MainCore::MsgRemoveLastDeviceSet *msg = MainCore::MsgRemoveLastDeviceSet::create();
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to remove last device set (MsgRemoveLastDeviceSet) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = "No more device sets to be removed";
-
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceSet& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- const DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
- getDeviceSet(&response, deviceSet, deviceSetIndex);
-
- return 200;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
-
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetFocusPatch(
- int deviceSetIndex,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- *error.getMessage() = QString("Not supported in server instance");
- return 400;
-}
-
-int WebAPIAdapterSrv::devicesetDevicePut(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceListItem& query,
- SWGSDRangel::SWGDeviceListItem& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if ((query.getDirection() != 1) && (deviceSet->m_deviceSinkEngine))
- {
- error.init();
- *error.getMessage() = QString("Device type and device set type (Tx) mismatch");
- return 404;
- }
-
- if ((query.getDirection() != 0) && (deviceSet->m_deviceSourceEngine))
- {
- error.init();
- *error.getMessage() = QString("Device type and device set type (Rx) mismatch");
- return 404;
- }
-
- if ((query.getDirection() != 2) && (deviceSet->m_deviceMIMOEngine))
- {
- error.init();
- *error.getMessage() = QString("Device type and device set type (MIMO) mismatch");
- return 404;
- }
-
- int nbSamplingDevices;
-
- if (query.getDirection() == 0) {
- nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices();
- } else if (query.getDirection() == 1) {
- nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices();
- } else if (query.getDirection() == 2) {
- nbSamplingDevices = DeviceEnumerator::instance()->getNbMIMOSamplingDevices();
- } else {
- nbSamplingDevices = 0; // TODO: not implemented yet
- }
-
- for (int i = 0; i < nbSamplingDevices; i++)
- {
- int direction;
- const PluginInterface::SamplingDevice *samplingDevice;
-
- if (query.getDirection() == 0)
- {
- direction = 0;
- samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i);
- }
- else if (query.getDirection() == 1)
- {
- direction = 1;
- samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i);
- }
- else if (query.getDirection() == 2)
- {
- direction = 2;
- samplingDevice = DeviceEnumerator::instance()->getMIMOSamplingDevice(i);
- }
- else
- {
- continue; // device not supported
- }
-
- if (query.getDisplayedName() && (*query.getDisplayedName() != samplingDevice->displayedName)) {
- continue;
- }
-
- if (query.getHwType() && (*query.getHwType() != samplingDevice->hardwareId)) {
- continue;
- }
-
- if ((query.getSequence() >= 0) && (query.getSequence() != samplingDevice->sequence)) {
- continue;
- }
-
- if (query.getSerial() && (*query.getSerial() != samplingDevice->serial)) {
- continue;
- }
-
- if ((query.getDeviceStreamIndex() >= 0) && (query.getDeviceStreamIndex() != samplingDevice->deviceItemIndex)) {
- continue;
- }
-
- MainCore::MsgSetDevice *msg = MainCore::MsgSetDevice::create(deviceSetIndex, i, query.getDirection());
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getDisplayedName() = samplingDevice->displayedName;
- *response.getHwType() = samplingDevice->hardwareId;
- *response.getSerial() = samplingDevice->serial;
- response.setSequence(samplingDevice->sequence);
- response.setDirection(direction);
- response.setDeviceNbStreams(samplingDevice->deviceNbItems);
- response.setDeviceStreamIndex(samplingDevice->deviceItemIndex);
- response.setDeviceSetIndex(deviceSetIndex);
- response.setIndex(i);
-
- return 202;
- }
-
- error.init();
- *error.getMessage() = QString("Device not found");
- return 404;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
-
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceSettingsGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceSettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- response.setDeviceHwType(new QString(deviceSet->m_deviceAPI->getHardwareId()));
- response.setDirection(0);
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- return source->webapiSettingsGet(response, *error.getMessage());
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- response.setDeviceHwType(new QString(deviceSet->m_deviceAPI->getHardwareId()));
- response.setDirection(1);
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- return sink->webapiSettingsGet(response, *error.getMessage());
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- response.setDeviceHwType(new QString(deviceSet->m_deviceAPI->getHardwareId()));
- response.setDirection(2);
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- return mimo->webapiSettingsGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceActionsPost(
- int deviceSetIndex,
- const QStringList& deviceActionsKeys,
- SWGSDRangel::SWGDeviceActions& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- if (query.getDirection() != 0)
- {
- *error.getMessage() = QString("Single Rx device found but other type of device requested");
- return 400;
- }
- if (deviceSet->m_deviceAPI->getHardwareId() != *query.getDeviceHwType())
- {
- *error.getMessage() = QString("Device mismatch. Found %1 input").arg(deviceSet->m_deviceAPI->getHardwareId());
- return 400;
- }
- else
- {
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- int res = source->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
-
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- if (query.getDirection() != 1)
- {
- *error.getMessage() = QString("Single Tx device found but other type of device requested");
- return 400;
- }
- else if (deviceSet->m_deviceAPI->getHardwareId() != *query.getDeviceHwType())
- {
- *error.getMessage() = QString("Device mismatch. Found %1 output").arg(deviceSet->m_deviceAPI->getHardwareId());
- return 400;
- }
- else
- {
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- int res = sink->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
-
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- if (query.getDirection() != 2)
- {
- *error.getMessage() = QString("MIMO device found but other type of device requested");
- return 400;
- }
- else if (deviceSet->m_deviceAPI->getHardwareId() != *query.getDeviceHwType())
- {
- *error.getMessage() = QString("Device mismatch. Found %1 output").arg(deviceSet->m_deviceAPI->getHardwareId());
- return 400;
- }
- else
- {
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- int res = mimo->webapiActionsPost(deviceActionsKeys, query, *error.getMessage());
-
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceSettingsPutPatch(
- int deviceSetIndex,
- bool force,
- const QStringList& deviceSettingsKeys,
- SWGSDRangel::SWGDeviceSettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- if (response.getDirection() != 0)
- {
- *error.getMessage() = QString("Single Rx device found but other type of device requested");
- return 400;
- }
- if (deviceSet->m_deviceAPI->getHardwareId() != *response.getDeviceHwType())
- {
- *error.getMessage() = QString("Device mismatch. Found %1 input").arg(deviceSet->m_deviceAPI->getHardwareId());
- return 400;
- }
- else
- {
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- return source->webapiSettingsPutPatch(force, deviceSettingsKeys, response, *error.getMessage());
- }
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- if (response.getDirection() != 1)
- {
- *error.getMessage() = QString("Single Tx device found but other type of device requested");
- return 400;
- }
- else if (deviceSet->m_deviceAPI->getHardwareId() != *response.getDeviceHwType())
- {
- *error.getMessage() = QString("Device mismatch. Found %1 output").arg(deviceSet->m_deviceAPI->getHardwareId());
- return 400;
- }
- else
- {
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- return sink->webapiSettingsPutPatch(force, deviceSettingsKeys, response, *error.getMessage());
- }
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- if (response.getDirection() != 2)
- {
- *error.getMessage() = QString("MIMO device found but other type of device requested");
- return 400;
- }
- else if (deviceSet->m_deviceAPI->getHardwareId() != *response.getDeviceHwType())
- {
- *error.getMessage() = QString("Device mismatch. Found %1 output").arg(deviceSet->m_deviceAPI->getHardwareId());
- return 400;
- }
- else
- {
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- return mimo->webapiSettingsPutPatch(force, deviceSettingsKeys, response, *error.getMessage());
- }
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceRunGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Rx
- {
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- response.init();
- return source->webapiRunGet(response, *error.getMessage());
- }
- else if (deviceSet->m_deviceSinkEngine) // Tx
- {
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- response.init();
- return sink->webapiRunGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceSubsystemRunGet(
- int deviceSetIndex,
- int subsystemIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- response.init();
- return mimo->webapiRunGet(subsystemIndex, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceRunPost(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Rx
- {
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- response.init();
- return source->webapiRun(true, response, *error.getMessage());
- }
- else if (deviceSet->m_deviceSinkEngine) // Tx
- {
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- response.init();
- return sink->webapiRun(true, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceSubsystemRunPost(
- int deviceSetIndex,
- int subsystemIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- response.init();
- return mimo->webapiRun(true, subsystemIndex, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceRunDelete(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Rx
- {
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- response.init();
- return source->webapiRun(false, response, *error.getMessage());
- }
- else if (deviceSet->m_deviceSinkEngine) // Tx
- {
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- response.init();
- return sink->webapiRun(false, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceSubsystemRunDelete(
- int deviceSetIndex,
- int subsystemIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- response.init();
- return mimo->webapiRun(false, subsystemIndex, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetDeviceReportGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceReport& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- response.setDeviceHwType(new QString(deviceSet->m_deviceAPI->getHardwareId()));
- response.setDirection(0);
- DeviceSampleSource *source = deviceSet->m_deviceAPI->getSampleSource();
- return source->webapiReportGet(response, *error.getMessage());
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- response.setDeviceHwType(new QString(deviceSet->m_deviceAPI->getHardwareId()));
- response.setDirection(1);
- DeviceSampleSink *sink = deviceSet->m_deviceAPI->getSampleSink();
- return sink->webapiReportGet(response, *error.getMessage());
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- response.setDeviceHwType(new QString(deviceSet->m_deviceAPI->getHardwareId()));
- response.setDirection(2);
- DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
- return mimo->webapiReportGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelsReportGet(
- int deviceSetIndex,
- SWGSDRangel::SWGChannelsDetail& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- const DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
- getChannelsDetail(&response, deviceSet);
-
- return 200;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
-
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelPost(
- int deviceSetIndex,
- SWGSDRangel::SWGChannelSettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (query.getDirection() == 0) // Single Rx
- {
- if (!deviceSet->m_deviceSourceEngine && !deviceSet->m_deviceMIMOEngine)
- {
- error.init();
- *error.getMessage() = QString("Device set at %1 is not a receive capable device set").arg(deviceSetIndex);
- return 400;
- }
-
- PluginAPI::ChannelRegistrations *channelRegistrations = m_mainCore.m_pluginManager->getRxChannelRegistrations();
- int nbRegistrations = channelRegistrations->size();
- int index = 0;
- for (; index < nbRegistrations; index++)
- {
- if (channelRegistrations->at(index).m_channelId == *query.getChannelType()) {
- break;
- }
- }
-
- if (index < nbRegistrations)
- {
- MainCore::MsgAddChannel *msg = MainCore::MsgAddChannel::create(deviceSetIndex, index, false);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to add a channel (MsgAddChannel) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no receive channel with id %1").arg(*query.getChannelType());
- return 404;
- }
- }
- else if (query.getDirection() == 1) // single Tx
- {
- if (!deviceSet->m_deviceSinkEngine && !deviceSet->m_deviceMIMOEngine)
- {
- error.init();
- *error.getMessage() = QString("Device set at %1 is not a transmit capable device set").arg(deviceSetIndex);
- return 400;
- }
-
- PluginAPI::ChannelRegistrations *channelRegistrations = m_mainCore.m_pluginManager->getTxChannelRegistrations();
- int nbRegistrations = channelRegistrations->size();
- int index = 0;
- for (; index < nbRegistrations; index++)
- {
- if (channelRegistrations->at(index).m_channelId == *query.getChannelType()) {
- break;
- }
- }
-
- if (index < nbRegistrations)
- {
- MainCore::MsgAddChannel *msg = MainCore::MsgAddChannel::create(deviceSetIndex, index, true);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to add a channel (MsgAddChannel) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no transmit channel with id %1").arg(*query.getChannelType());
- return 404;
- }
- }
- else if (query.getDirection() == 2) // MIMO
- {
- if (!deviceSet->m_deviceMIMOEngine)
- {
- error.init();
- *error.getMessage() = QString("Device set at %1 is not a MIMO capable device set").arg(deviceSetIndex);
- return 400;
- }
-
- PluginAPI::ChannelRegistrations *channelRegistrations = m_mainCore.m_pluginManager->getMIMOChannelRegistrations();
- int nbRegistrations = channelRegistrations->size();
- int index = 0;
- for (; index < nbRegistrations; index++)
- {
- if (channelRegistrations->at(index).m_channelId == *query.getChannelType()) {
- break;
- }
- }
-
- if (index < nbRegistrations)
- {
- MainCore::MsgAddChannel *msg = MainCore::MsgAddChannel::create(deviceSetIndex, index, true);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to add a channel (MsgAddChannel) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no MIMO channel with id %1").arg(*query.getChannelType());
- return 404;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("This type of device is not implemented yet");
- return 400;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelDelete(
- int deviceSetIndex,
- int channelIndex,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (channelIndex < deviceSet->getNumberOfChannels())
- {
- MainCore::MsgDeleteChannel *msg = MainCore::MsgDeleteChannel::create(deviceSetIndex, channelIndex);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to delete a channel (MsgDeleteChannel) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no channel at index %1. There are %2 channels")
- .arg(channelIndex)
- .arg(channelIndex < deviceSet->getNumberOfChannels());
- return 400;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelSettingsGet(
- int deviceSetIndex,
- int channelIndex,
- SWGSDRangel::SWGChannelSettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- response.setChannelType(new QString());
- channelAPI->getIdentifier(*response.getChannelType());
- response.setDirection(0);
- return channelAPI->webapiSettingsGet(response, *error.getMessage());
- }
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- response.setChannelType(new QString());
- channelAPI->getIdentifier(*response.getChannelType());
- response.setDirection(1);
- return channelAPI->webapiSettingsGet(response, *error.getMessage());
- }
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- int nbSinkChannels = deviceSet->m_deviceAPI->getNbSinkChannels();
- int nbSourceChannels = deviceSet->m_deviceAPI->getNbSourceChannels();
- int nbMIMOChannels = deviceSet->m_deviceAPI->getNbMIMOChannels();
- ChannelAPI *channelAPI = nullptr;
-
- if (channelIndex < nbSinkChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
- response.setDirection(0);
- }
- else if (channelIndex < nbSinkChannels + nbSourceChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex - nbSinkChannels);
- response.setDirection(1);
- }
- else if (channelIndex < nbSinkChannels + nbSourceChannels + nbMIMOChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getMIMOChannelAPIAt(channelIndex - nbSinkChannels - nbSourceChannels);
- response.setDirection(2);
- }
- else
- {
- *error.getMessage() = QString("Ther is no channel with index %1").arg(channelIndex);
- return 404;
- }
-
- if (channelAPI)
- {
- response.setChannelType(new QString());
- channelAPI->getIdentifier(*response.getChannelType());
- return channelAPI->webapiSettingsGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("Ther is no channel with index %1").arg(channelIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelReportGet(
- int deviceSetIndex,
- int channelIndex,
- SWGSDRangel::SWGChannelReport& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- response.setChannelType(new QString());
- channelAPI->getIdentifier(*response.getChannelType());
- response.setDirection(0);
- return channelAPI->webapiReportGet(response, *error.getMessage());
- }
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- response.setChannelType(new QString());
- channelAPI->getIdentifier(*response.getChannelType());
- response.setDirection(1);
- return channelAPI->webapiReportGet(response, *error.getMessage());
- }
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- int nbSinkChannels = deviceSet->m_deviceAPI->getNbSinkChannels();
- int nbSourceChannels = deviceSet->m_deviceAPI->getNbSourceChannels();
- int nbMIMOChannels = deviceSet->m_deviceAPI->getNbMIMOChannels();
- ChannelAPI *channelAPI = nullptr;
-
- if (channelIndex < nbSinkChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
- response.setDirection(0);
- }
- else if (channelIndex < nbSinkChannels + nbSourceChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex - nbSinkChannels);
- response.setDirection(1);
- }
- else if (channelIndex < nbSinkChannels + nbSourceChannels + nbMIMOChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getMIMOChannelAPIAt(channelIndex - nbSinkChannels - nbSourceChannels);
- response.setDirection(2);
- }
- else
- {
- *error.getMessage() = QString("Ther is no channel with index %1").arg(channelIndex);
- return 404;
- }
-
- if (channelAPI)
- {
- response.setChannelType(new QString());
- channelAPI->getIdentifier(*response.getChannelType());
- return channelAPI->webapiReportGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("Ther is no channel with index %1").arg(channelIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelActionsPost(
- int deviceSetIndex,
- int channelIndex,
- const QStringList& channelActionsKeys,
- SWGSDRangel::SWGChannelActions& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- QString channelType;
- channelAPI->getIdentifier(channelType);
-
- if (channelType == *query.getChannelType())
- {
- int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
-
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- else
- {
- *error.getMessage() = QString("There is no channel type %1 at index %2. Found %3.")
- .arg(*query.getChannelType())
- .arg(channelIndex)
- .arg(channelType);
- return 404;
- }
- }
- }
- else if (deviceSet->m_deviceSinkEngine) // Single Tx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- QString channelType;
- channelAPI->getIdentifier(channelType);
-
- if (channelType == *query.getChannelType())
- {
- int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
-
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- else
- {
- *error.getMessage() = QString("There is no channel type %1 at index %2. Found %3.")
- .arg(*query.getChannelType())
- .arg(channelIndex)
- .arg(channelType);
- return 404;
- }
- }
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- int nbSinkChannels = deviceSet->m_deviceAPI->getNbSinkChannels();
- int nbSourceChannels = deviceSet->m_deviceAPI->getNbSourceChannels();
- int nbMIMOChannels = deviceSet->m_deviceAPI->getNbMIMOChannels();
- ChannelAPI *channelAPI = nullptr;
-
- if ((query.getDirection() == 0) && (channelIndex < nbSinkChannels))
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
- }
- else if ((query.getDirection() == 1) && (channelIndex < nbSinkChannels + nbSourceChannels))
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex - nbSinkChannels);
- }
- else if ((query.getDirection() == 2) && (channelIndex < nbSinkChannels + nbSourceChannels + nbMIMOChannels))
- {
- channelAPI = deviceSet->m_deviceAPI->getMIMOChannelAPIAt(channelIndex - nbSinkChannels - nbSourceChannels);
- }
- else
- {
- *error.getMessage() = QString("here is no channel with index %1").arg(channelIndex);
- return 404;
- }
-
- if (channelAPI)
- {
- QString channelType;
- channelAPI->getIdentifier(channelType);
-
- if (channelType == *query.getChannelType())
- {
- int res = channelAPI->webapiActionsPost(channelActionsKeys, query, *error.getMessage());
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- else
- {
- *error.getMessage() = QString("There is no channel type %1 at index %2. Found %3.")
- .arg(*query.getChannelType())
- .arg(channelIndex)
- .arg(channelType);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::devicesetChannelSettingsPutPatch(
- int deviceSetIndex,
- int channelIndex,
- bool force,
- const QStringList& channelSettingsKeys,
- SWGSDRangel::SWGChannelSettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainCore.m_deviceSets.size()))
- {
- DeviceSet *deviceSet = m_mainCore.m_deviceSets[deviceSetIndex];
-
- if (deviceSet->m_deviceSourceEngine) // Rx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- QString channelType;
- channelAPI->getIdentifier(channelType);
-
- if (channelType == *response.getChannelType())
- {
- return channelAPI->webapiSettingsPutPatch(force, channelSettingsKeys, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("There is no channel type %1 at index %2. Found %3.")
- .arg(*response.getChannelType())
- .arg(channelIndex)
- .arg(channelType);
- return 404;
- }
- }
- }
- else if (deviceSet->m_deviceSinkEngine) // Tx
- {
- ChannelAPI *channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex);
-
- if (channelAPI == 0)
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- else
- {
- QString channelType;
- channelAPI->getIdentifier(channelType);
-
- if (channelType == *response.getChannelType())
- {
- return channelAPI->webapiSettingsPutPatch(force, channelSettingsKeys, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("There is no channel type %1 at index %2. Found %3.")
- .arg(*response.getChannelType())
- .arg(channelIndex)
- .arg(channelType);
- return 404;
- }
- }
- }
- else if (deviceSet->m_deviceMIMOEngine) // MIMO
- {
- int nbSinkChannels = deviceSet->m_deviceAPI->getNbSinkChannels();
- int nbSourceChannels = deviceSet->m_deviceAPI->getNbSourceChannels();
- int nbMIMOChannels = deviceSet->m_deviceAPI->getNbMIMOChannels();
- ChannelAPI *channelAPI = nullptr;
-
- if (channelIndex < nbSinkChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSinkAPIAt(channelIndex);
- response.setDirection(0);
- }
- else if (channelIndex < nbSinkChannels + nbSourceChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getChanelSourceAPIAt(channelIndex - nbSinkChannels);
- response.setDirection(1);
- }
- else if (channelIndex < nbSinkChannels + nbSourceChannels + nbMIMOChannels)
- {
- channelAPI = deviceSet->m_deviceAPI->getMIMOChannelAPIAt(channelIndex - nbSinkChannels - nbSourceChannels);
- response.setDirection(2);
- }
- else
- {
- *error.getMessage() = QString("here is no channel with index %1").arg(channelIndex);
- return 404;
- }
-
- if (channelAPI)
- {
- QString channelType;
- channelAPI->getIdentifier(channelType);
-
- if (channelType == *response.getChannelType())
- {
- return channelAPI->webapiSettingsPutPatch(force, channelSettingsKeys, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("There is no channel type %1 at index %2. Found %3.")
- .arg(*response.getChannelType())
- .arg(channelIndex)
- .arg(channelType);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no channel with index %1").arg(channelIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("DeviceSet error");
- return 500;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeaturePost(
- int featureSetIndex,
- SWGSDRangel::SWGFeatureSettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
-
- PluginAPI::FeatureRegistrations *featureRegistrations = m_mainCore.m_pluginManager->getFeatureRegistrations();
- int nbRegistrations = featureRegistrations->size();
- int index = 0;
-
- for (; index < nbRegistrations; index++)
- {
- if (featureRegistrations->at(index).m_featureId == *query.getFeatureType()) {
- break;
- }
- }
-
- if (index < nbRegistrations)
- {
- MainCore::MsgAddFeature *msg = MainCore::MsgAddFeature::create(featureSetIndex, index);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to add a feature (MsgAddFeature) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature with id %1").arg(*query.getFeatureType());
- return 404;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureDelete(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
-
- if (featureIndex < featureSet->getNumberOfFeatures())
- {
- MainCore::MsgDeleteFeature *msg = MainCore::MsgDeleteFeature::create(featureSetIndex, featureIndex);
- m_mainCore.m_mainMessageQueue->push(msg);
-
- response.init();
- *response.getMessage() = QString("Message to delete a feature (MsgDeleteFeature) was submitted successfully");
-
- return 202;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature at index %1. %2 feature(s) left")
- .arg(featureIndex)
- .arg(featureSet->getNumberOfFeatures());
- return 400;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no device set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureRunGet(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
-
- if (featureIndex < featureSet->getNumberOfFeatures())
- {
- response.init();
- const Feature *feature = featureSet->getFeatureAt(featureIndex);
- return feature->webapiRunGet(response, *error.getMessage());
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature at index %1. %2 feature(s) left")
- .arg(featureIndex)
- .arg(featureSet->getNumberOfFeatures());
- return 400;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureRunPost(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
-
- if (featureIndex < featureSet->getNumberOfFeatures())
- {
- response.init();
- Feature *feature = featureSet->getFeatureAt(featureIndex);
- return feature->webapiRun(true, response, *error.getMessage());
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature at index %1. %2 feature(s) left")
- .arg(featureIndex)
- .arg(featureSet->getNumberOfFeatures());
- return 400;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureRunDelete(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
-
- if (featureIndex < featureSet->getNumberOfFeatures())
- {
- response.init();
- Feature *feature = featureSet->getFeatureAt(featureIndex);
- return feature->webapiRun(false, response, *error.getMessage());
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature at index %1. %2 feature(s) left")
- .arg(featureIndex)
- .arg(featureSet->getNumberOfFeatures());
- return 400;
- }
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureSettingsGet(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGFeatureSettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
- Feature *feature = featureSet->getFeatureAt(featureIndex);
-
- if (feature)
- {
- response.setFeatureType(new QString());
- feature->getIdentifier(*response.getFeatureType());
- return feature->webapiSettingsGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("There is no feature with index %1").arg(featureIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureSettingsPutPatch(
- int featureSetIndex,
- int featureIndex,
- bool force,
- const QStringList& featureSettingsKeys,
- SWGSDRangel::SWGFeatureSettings& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
- Feature *feature = featureSet->getFeatureAt(featureIndex);
-
- if (feature)
- {
- QString featureType;
- feature->getIdentifier(featureType);
-
- if (featureType == *response.getFeatureType())
- {
- return feature->webapiSettingsPutPatch(force, featureSettingsKeys, response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("There is no feature type %1 at index %2. Found %3.")
- .arg(*response.getFeatureType())
- .arg(featureIndex)
- .arg(featureType);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no feature with index %1").arg(featureIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureReportGet(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGFeatureReport& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
- Feature *feature = featureSet->getFeatureAt(featureIndex);
-
- if (feature)
- {
- response.setFeatureType(new QString());
- feature->getIdentifier(*response.getFeatureType());
- return feature->webapiReportGet(response, *error.getMessage());
- }
- else
- {
- *error.getMessage() = QString("There is no feature with index %1").arg(featureIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureIndex);
- return 404;
- }
-}
-
-int WebAPIAdapterSrv::featuresetFeatureActionsPost(
- int featureSetIndex,
- int featureIndex,
- const QStringList& featureActionsKeys,
- SWGSDRangel::SWGFeatureActions& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- error.init();
-
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
- Feature *feature = featureSet->getFeatureAt(featureIndex);
-
- if (feature)
- {
- QString featureType;
- feature->getIdentifier(featureType);
-
- if (featureType == *query.getFeatureType())
- {
- int res = feature->webapiActionsPost(featureActionsKeys, query, *error.getMessage());
-
- if (res/100 == 2)
- {
- response.init();
- *response.getMessage() = QString("Message to post action was submitted successfully");
- }
-
- return res;
- }
- else
- {
- *error.getMessage() = QString("There is no feature type %1 at index %2. Found %3.")
- .arg(*query.getFeatureType())
- .arg(featureIndex)
- .arg(featureType);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no feature with index %1").arg(featureIndex);
- return 404;
- }
- }
- else
- {
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureIndex);
- return 404;
- }
-}
-
-void WebAPIAdapterSrv::getDeviceSetList(SWGSDRangel::SWGDeviceSetList* deviceSetList)
-{
- deviceSetList->init();
- deviceSetList->setDevicesetcount((int) m_mainCore.m_deviceSets.size());
-
- std::vector::const_iterator it = m_mainCore.m_deviceSets.begin();
-
- for (int i = 0; it != m_mainCore.m_deviceSets.end(); ++it, i++)
- {
- QList *deviceSets = deviceSetList->getDeviceSets();
- deviceSets->append(new SWGSDRangel::SWGDeviceSet());
-
- getDeviceSet(deviceSets->back(), *it, i);
- }
-}
-
-void WebAPIAdapterSrv::getDeviceSet(SWGSDRangel::SWGDeviceSet *swgDeviceSet, const DeviceSet* deviceSet, int deviceUISetIndex)
-{
- swgDeviceSet->init();
- SWGSDRangel::SWGSamplingDevice *samplingDevice = swgDeviceSet->getSamplingDevice();
- samplingDevice->init();
- samplingDevice->setIndex(deviceUISetIndex);
-
- if (deviceSet->m_deviceSinkEngine) // Single Tx data
- {
- samplingDevice->setDirection(1);
- *samplingDevice->getHwType() = deviceSet->m_deviceAPI->getHardwareId();
- *samplingDevice->getSerial() = deviceSet->m_deviceAPI->getSamplingDeviceSerial();
- samplingDevice->setSequence(deviceSet->m_deviceAPI->getSamplingDeviceSequence());
- samplingDevice->setDeviceNbStreams(deviceSet->m_deviceAPI->getDeviceNbItems());
- samplingDevice->setDeviceStreamIndex(deviceSet->m_deviceAPI->getDeviceItemIndex());
- deviceSet->m_deviceAPI->getDeviceEngineStateStr(*samplingDevice->getState());
- DeviceSampleSink *sampleSink = deviceSet->m_deviceSinkEngine->getSink();
-
- if (sampleSink) {
- samplingDevice->setCenterFrequency(sampleSink->getCenterFrequency());
- samplingDevice->setBandwidth(sampleSink->getSampleRate());
- }
-
- swgDeviceSet->setChannelcount(deviceSet->m_deviceAPI->getNbSourceChannels());
- QList *channels = swgDeviceSet->getChannels();
-
- for (int i = 0; i < swgDeviceSet->getChannelcount(); i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSourceAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(1);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
- }
- }
-
- if (deviceSet->m_deviceSourceEngine) // Single Rx data
- {
- samplingDevice->setDirection(0);
- *samplingDevice->getHwType() = deviceSet->m_deviceAPI->getHardwareId();
- *samplingDevice->getSerial() = deviceSet->m_deviceAPI->getSamplingDeviceSerial();
- samplingDevice->setSequence(deviceSet->m_deviceAPI->getSamplingDeviceSequence());
- samplingDevice->setDeviceNbStreams(deviceSet->m_deviceAPI->getDeviceNbItems());
- samplingDevice->setDeviceStreamIndex(deviceSet->m_deviceAPI->getDeviceItemIndex());
- deviceSet->m_deviceAPI->getDeviceEngineStateStr(*samplingDevice->getState());
- DeviceSampleSource *sampleSource = deviceSet->m_deviceSourceEngine->getSource();
-
- if (sampleSource) {
- samplingDevice->setCenterFrequency(sampleSource->getCenterFrequency());
- samplingDevice->setBandwidth(sampleSource->getSampleRate());
- }
-
- swgDeviceSet->setChannelcount(deviceSet->m_deviceAPI->getNbSinkChannels());
- QList *channels = swgDeviceSet->getChannels();
-
- for (int i = 0; i < swgDeviceSet->getChannelcount(); i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSinkAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(0);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
- }
- }
-
- if (deviceSet->m_deviceMIMOEngine) // MIMO data
- {
- samplingDevice->setDirection(2);
- *samplingDevice->getHwType() = deviceSet->m_deviceAPI->getHardwareId();
- *samplingDevice->getSerial() = deviceSet->m_deviceAPI->getSamplingDeviceSerial();
- samplingDevice->setSequence(deviceSet->m_deviceAPI->getSamplingDeviceSequence());
- samplingDevice->setDeviceNbStreams(deviceSet->m_deviceAPI->getDeviceNbItems());
- samplingDevice->setDeviceStreamIndex(deviceSet->m_deviceAPI->getDeviceItemIndex());
- samplingDevice->setState(new QString("notStarted"));
- deviceSet->m_deviceAPI->getDeviceEngineStateStr(*samplingDevice->getStateRx(), 0);
- deviceSet->m_deviceAPI->getDeviceEngineStateStr(*samplingDevice->getStateTx(), 1);
- DeviceSampleMIMO *sampleMIMO = deviceSet->m_deviceMIMOEngine->getMIMO();
-
- if (sampleMIMO)
- {
- samplingDevice->setCenterFrequency(sampleMIMO->getMIMOCenterFrequency());
- samplingDevice->setBandwidth(sampleMIMO->getMIMOSampleRate());
- }
-
- int nbSinkChannels = deviceSet->m_deviceAPI->getNbSinkChannels();
- int nbSourceChannels = deviceSet->m_deviceAPI->getNbSourceChannels();
- int nbMIMOChannels = deviceSet->m_deviceAPI->getNbMIMOChannels();
- swgDeviceSet->setChannelcount(nbSinkChannels + nbSourceChannels + nbMIMOChannels);
- QList *channels = swgDeviceSet->getChannels();
-
- for (int i = 0; i < nbSinkChannels; i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSinkAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(0);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
- }
-
- for (int i = 0; i < nbSourceChannels; i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSourceAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(1);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
- }
-
- for (int i = 0; i < nbMIMOChannels; i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getMIMOChannelAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(2);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
- }
- }
-}
-
-void WebAPIAdapterSrv::getChannelsDetail(SWGSDRangel::SWGChannelsDetail *channelsDetail, const DeviceSet* deviceSet)
-{
- channelsDetail->init();
- SWGSDRangel::SWGChannelReport *channelReport;
- QString channelReportError;
-
- if (deviceSet->m_deviceSinkEngine) // Tx data
- {
- channelsDetail->setChannelcount(deviceSet->m_deviceAPI->getNbSourceChannels());
- QList *channels = channelsDetail->getChannels();
-
- for (int i = 0; i < channelsDetail->getChannelcount(); i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSourceAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(1);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
-
- channelReport = new SWGSDRangel::SWGChannelReport();
-
- if (channel->webapiReportGet(*channelReport, channelReportError) != 501) {
- channels->back()->setReport(channelReport);
- } else {
- delete channelReport;
- }
- }
- }
-
- if (deviceSet->m_deviceSourceEngine) // Rx data
- {
- channelsDetail->setChannelcount(deviceSet->m_deviceAPI->getNbSinkChannels());
- QList *channels = channelsDetail->getChannels();
-
- for (int i = 0; i < channelsDetail->getChannelcount(); i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSinkAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(0);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
-
- channelReport = new SWGSDRangel::SWGChannelReport();
-
- if (channel->webapiReportGet(*channelReport, channelReportError) != 501) {
- channels->back()->setReport(channelReport);
- } else {
- delete channelReport;
- }
- }
- }
-
- if (deviceSet->m_deviceMIMOEngine) // MIMO data
- {
- int nbSinkChannels = deviceSet->m_deviceAPI->getNbSinkChannels();
- int nbSourceChannels = deviceSet->m_deviceAPI->getNbSourceChannels();
- int nbMIMOChannels = deviceSet->m_deviceAPI->getNbMIMOChannels();
- QList *channels = channelsDetail->getChannels();
- channelsDetail->setChannelcount(nbSinkChannels + nbSourceChannels + nbMIMOChannels);
-
- for (int i = 0; i < nbSinkChannels; i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSinkAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(0);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
-
- channelReport = new SWGSDRangel::SWGChannelReport();
-
- if (channel->webapiReportGet(*channelReport, channelReportError) != 501) {
- channels->back()->setReport(channelReport);
- } else {
- delete channelReport;
- }
- }
-
- for (int i = 0; i < nbSourceChannels; i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getChanelSourceAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(1);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
-
- channelReport = new SWGSDRangel::SWGChannelReport();
-
- if (channel->webapiReportGet(*channelReport, channelReportError) != 501) {
- channels->back()->setReport(channelReport);
- } else {
- delete channelReport;
- }
- }
-
- for (int i = 0; i < nbMIMOChannels; i++)
- {
- channels->append(new SWGSDRangel::SWGChannel);
- channels->back()->init();
- ChannelAPI *channel = deviceSet->m_deviceAPI->getMIMOChannelAPIAt(i);
- channels->back()->setDeltaFrequency(channel->getCenterFrequency());
- channels->back()->setDirection(2);
- channels->back()->setIndex(channel->getIndexInDeviceSet());
- channels->back()->setUid(channel->getUID());
- channel->getIdentifier(*channels->back()->getId());
- channel->getTitle(*channels->back()->getTitle());
-
- channelReport = new SWGSDRangel::SWGChannelReport();
-
- if (channel->webapiReportGet(*channelReport, channelReportError) != 501) {
- channels->back()->setReport(channelReport);
- } else {
- delete channelReport;
- }
- }
- }
-}
-
-int WebAPIAdapterSrv::featuresetGet(
- int featureSetIndex,
- SWGSDRangel::SWGFeatureSet& response,
- SWGSDRangel::SWGErrorResponse& error)
-{
- if ((featureSetIndex >= 0) && (featureSetIndex < (int) m_mainCore.m_featureSets.size()))
- {
- const FeatureSet *featureSet = m_mainCore.m_featureSets[featureSetIndex];
- getFeatureSet(&response, featureSet, featureSetIndex);
-
- return 200;
- }
- else
- {
- error.init();
- *error.getMessage() = QString("There is no feature set with index %1").arg(featureSetIndex);
-
- return 404;
- }
-}
-
-void WebAPIAdapterSrv::getFeatureSetList(SWGSDRangel::SWGFeatureSetList* featureSetList)
-{
- featureSetList->init();
- featureSetList->setFeaturesetcount((int) m_mainCore.m_featureSets.size());
-
- std::vector::const_iterator it = m_mainCore.m_featureSets.begin();
-
- for (int i = 0; it != m_mainCore.m_featureSets.end(); ++it, i++)
- {
- QList *featureSets = featureSetList->getFeatureSets();
- featureSets->append(new SWGSDRangel::SWGFeatureSet());
-
- getFeatureSet(featureSets->back(), *it, i);
- }
-}
-
-void WebAPIAdapterSrv::getFeatureSet(SWGSDRangel::SWGFeatureSet *swgFeatureSet, const FeatureSet* featureSet, int featureSetIndex)
-{
- swgFeatureSet->init();
- swgFeatureSet->setFeaturecount(featureSet->getNumberOfFeatures());
- QList *features = swgFeatureSet->getFeatures();
-
- for (int i = 0; i < featureSet->getNumberOfFeatures(); i++)
- {
- const Feature *feature = featureSet->getFeatureAt(i);
- features->append(new SWGSDRangel::SWGFeature);
- features->back()->setIndex(i);
- QString s;
- feature->getTitle(s);
- features->back()->setTitle(new QString(s));
- feature->getIdentifier(s);
- features->back()->setId(new QString(s));
- features->back()->setUid(feature->getUID());
- }
-}
-
-QtMsgType WebAPIAdapterSrv::getMsgTypeFromString(const QString& msgTypeString)
-{
- if (msgTypeString == "debug") {
- return QtDebugMsg;
- } else if (msgTypeString == "info") {
- return QtInfoMsg;
- } else if (msgTypeString == "warning") {
- return QtWarningMsg;
- } else if (msgTypeString == "error") {
- return QtCriticalMsg;
- } else {
- return QtDebugMsg;
- }
-}
-
-void WebAPIAdapterSrv::getMsgTypeString(const QtMsgType& msgType, QString& levelStr)
-{
- switch (msgType)
- {
- case QtDebugMsg:
- levelStr = "debug";
- break;
- case QtInfoMsg:
- levelStr = "info";
- break;
- case QtWarningMsg:
- levelStr = "warning";
- break;
- case QtCriticalMsg:
- case QtFatalMsg:
- levelStr = "error";
- break;
- default:
- levelStr = "debug";
- break;
- }
-}
diff --git a/sdrsrv/webapi/webapiadaptersrv.h b/sdrsrv/webapi/webapiadaptersrv.h
deleted file mode 100644
index 3e34b1d34..000000000
--- a/sdrsrv/webapi/webapiadaptersrv.h
+++ /dev/null
@@ -1,413 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////
-// 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 //
-// (at your option) any later version. //
-// //
-// 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 . //
-///////////////////////////////////////////////////////////////////////////////////
-
-#ifndef SDRSRV_WEBAPI_WEBAPIADAPTERSRV_H_
-#define SDRSRV_WEBAPI_WEBAPIADAPTERSRV_H_
-
-#include
-
-#include "webapi/webapiadapterinterface.h"
-
-class MainCore;
-class DeviceSet;
-class FeatureSet;
-
-class WebAPIAdapterSrv: public WebAPIAdapterInterface
-{
-public:
- WebAPIAdapterSrv(MainCore& mainCore);
- virtual ~WebAPIAdapterSrv();
-
- virtual int instanceSummary(
- SWGSDRangel::SWGInstanceSummaryResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDelete(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceConfigGet(
- SWGSDRangel::SWGInstanceConfigResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceConfigPutPatch(
- bool force, // PUT else PATCH
- SWGSDRangel::SWGInstanceConfigResponse& query,
- const ConfigKeys& configKeys,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDevices(
- int direction,
- SWGSDRangel::SWGInstanceDevicesResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceChannels(
- int direction,
- SWGSDRangel::SWGInstanceChannelsResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLoggingGet(
- SWGSDRangel::SWGLoggingInfo& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLoggingPut(
- SWGSDRangel::SWGLoggingInfo& query,
- SWGSDRangel::SWGLoggingInfo& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioGet(
- SWGSDRangel::SWGAudioDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioInputPatch(
- SWGSDRangel::SWGAudioInputDevice& response,
- const QStringList& audioInputKeys,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioOutputPatch(
- SWGSDRangel::SWGAudioOutputDevice& response,
- const QStringList& audioOutputKeys,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioInputDelete(
- SWGSDRangel::SWGAudioInputDevice& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioOutputDelete(
- SWGSDRangel::SWGAudioOutputDevice& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioInputCleanupPatch(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAudioOutputCleanupPatch(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLocationGet(
- SWGSDRangel::SWGLocationInformation& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLocationPut(
- SWGSDRangel::SWGLocationInformation& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDVSerialGet(
- SWGSDRangel::SWGDVSerialDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDVSerialPatch(
- bool dvserial,
- SWGSDRangel::SWGDVSerialDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAMBESerialGet(
- SWGSDRangel::SWGDVSerialDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAMBEDevicesGet(
- SWGSDRangel::SWGAMBEDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAMBEDevicesPut(
- SWGSDRangel::SWGAMBEDevices& query,
- SWGSDRangel::SWGAMBEDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAMBEDevicesPatch(
- SWGSDRangel::SWGAMBEDevices& query,
- SWGSDRangel::SWGAMBEDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceAMBEDevicesDelete(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
-#ifdef HAS_LIMERFEUSB
- virtual int instanceLimeRFESerialGet(
- SWGSDRangel::SWGLimeRFEDevices& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLimeRFEConfigGet(
- const QString& serial,
- SWGSDRangel::SWGLimeRFESettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLimeRFEConfigPut(
- SWGSDRangel::SWGLimeRFESettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLimeRFERunPut(
- SWGSDRangel::SWGLimeRFESettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceLimeRFEPowerGet(
- const QString& serial,
- SWGSDRangel::SWGLimeRFEPower& response,
- SWGSDRangel::SWGErrorResponse& error);
-#endif
-
- virtual int instancePresetFilePut(
- SWGSDRangel::SWGPresetImport& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instancePresetFilePost(
- SWGSDRangel::SWGPresetExport& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instancePresetsGet(
- SWGSDRangel::SWGPresets& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instancePresetPatch(
- SWGSDRangel::SWGPresetTransfer& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instancePresetPut(
- SWGSDRangel::SWGPresetTransfer& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instancePresetPost(
- SWGSDRangel::SWGPresetTransfer& query,
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instancePresetDelete(
- SWGSDRangel::SWGPresetIdentifier& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDeviceSetsGet(
- SWGSDRangel::SWGDeviceSetList& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceFeatureSetsGet(
- SWGSDRangel::SWGFeatureSetList& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDeviceSetPost(
- int direction,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int instanceDeviceSetDelete(
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceSet& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetFocusPatch(
- int deviceSetIndex,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDevicePut(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceListItem& query,
- SWGSDRangel::SWGDeviceListItem& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceSettingsGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceSettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceActionsPost(
- int deviceSetIndex,
- const QStringList& deviceActionsKeys,
- SWGSDRangel::SWGDeviceActions& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceSettingsPutPatch(
- int deviceSetIndex,
- bool force,
- const QStringList& deviceSettingsKeys,
- SWGSDRangel::SWGDeviceSettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceRunGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceRunPost(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceRunDelete(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceSubsystemRunGet(
- int deviceSetIndex,
- int subsystemIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceSubsystemRunPost(
- int deviceSetIndex,
- int subsystemIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceSubsystemRunDelete(
- int deviceSetIndex,
- int subsystemIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetDeviceReportGet(
- int deviceSetIndex,
- SWGSDRangel::SWGDeviceReport& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelsReportGet(
- int deviceSetIndex,
- SWGSDRangel::SWGChannelsDetail& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelPost(
- int deviceSetIndex,
- SWGSDRangel::SWGChannelSettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelDelete(
- int deviceSetIndex,
- int channelIndex,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelSettingsGet(
- int deviceSetIndex,
- int channelIndex,
- SWGSDRangel::SWGChannelSettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelActionsPost(
- int deviceSetIndex,
- int channelIndex,
- const QStringList& channelActionsKeys,
- SWGSDRangel::SWGChannelActions& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelSettingsPutPatch(
- int deviceSetIndex,
- int channelIndex,
- bool force,
- const QStringList& channelSettingsKeys,
- SWGSDRangel::SWGChannelSettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int devicesetChannelReportGet(
- int deviceSetIndex,
- int channelIndex,
- SWGSDRangel::SWGChannelReport& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetGet(
- int deviceSetIndex,
- SWGSDRangel::SWGFeatureSet& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeaturePost(
- int featureSetIndex,
- SWGSDRangel::SWGFeatureSettings& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureDelete(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureRunGet(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureRunPost(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureRunDelete(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGDeviceState& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureSettingsGet(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGFeatureSettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureSettingsPutPatch(
- int featureSetIndex,
- int featureIndex,
- bool force,
- const QStringList& featureSettingsKeys,
- SWGSDRangel::SWGFeatureSettings& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureReportGet(
- int featureSetIndex,
- int featureIndex,
- SWGSDRangel::SWGFeatureReport& response,
- SWGSDRangel::SWGErrorResponse& error);
-
- virtual int featuresetFeatureActionsPost(
- int featureSetIndex,
- int featureIndex,
- const QStringList& featureActionsKeys,
- SWGSDRangel::SWGFeatureActions& query,
- SWGSDRangel::SWGSuccessResponse& response,
- SWGSDRangel::SWGErrorResponse& error);
-
-private:
- MainCore& m_mainCore;
-
- void getDeviceSetList(SWGSDRangel::SWGDeviceSetList* deviceSetList);
- void getDeviceSet(SWGSDRangel::SWGDeviceSet *swgDeviceSet, const DeviceSet* deviceSet, int deviceUISetIndex);
- void getChannelsDetail(SWGSDRangel::SWGChannelsDetail *channelsDetail, const DeviceSet* deviceSet);
- void getFeatureSetList(SWGSDRangel::SWGFeatureSetList* featureSetList);
- void getFeatureSet(SWGSDRangel::SWGFeatureSet *swgFeatureSet, const FeatureSet* featureSet, int featureSetIndex);
- static QtMsgType getMsgTypeFromString(const QString& msgTypeString);
- static void getMsgTypeString(const QtMsgType& msgType, QString& level);
-};
-
-#endif /* SDRSRV_WEBAPI_WEBAPIADAPTERSRV_H_ */