diff --git a/plugins/feature/limerfe/CMakeLists.txt b/plugins/feature/limerfe/CMakeLists.txt index bb1555046..6ed968ef8 100644 --- a/plugins/feature/limerfe/CMakeLists.txt +++ b/plugins/feature/limerfe/CMakeLists.txt @@ -5,9 +5,7 @@ set(limerfe_SOURCES limerfesettings.cpp limerfeusbcalib.cpp limerfeplugin.cpp - # limerfeworker.cpp - # limerfereport.cpp - # limerfewebapiadapter.cpp + limerfewebapiadapter.cpp ) set(limerfe_HEADERS @@ -15,9 +13,7 @@ set(limerfe_HEADERS limerfesettings.h limerfeusbcalib.h limerfeplugin.h - # limerfeworker.h - # limerfereport.h - # limerfewebapiadapter.h + limerfewebapiadapter.h ) include_directories( diff --git a/plugins/feature/limerfe/limerfeusbcalib.h b/plugins/feature/limerfe/limerfeusbcalib.h index 80f419575..4973e75b6 100644 --- a/plugins/feature/limerfe/limerfeusbcalib.h +++ b/plugins/feature/limerfe/limerfeusbcalib.h @@ -19,11 +19,10 @@ #define SDRBASE_LIMERFE_LIMERFEUSBCALIB_H_ #include -#include "export.h" class QByteArray; -class SDRBASE_API LimeRFEUSBCalib +class LimeRFEUSBCalib { public: QByteArray serialize() const; diff --git a/plugins/feature/limerfe/limerfewebapiadapter.cpp b/plugins/feature/limerfe/limerfewebapiadapter.cpp new file mode 100644 index 000000000..df8e98bb2 --- /dev/null +++ b/plugins/feature/limerfe/limerfewebapiadapter.cpp @@ -0,0 +1,51 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2022 Edouard Griffiths, F4EXB. // +// // +// 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 "SWGFeatureSettings.h" +#include "limerfe.h" +#include "limerfewebapiadapter.h" + +LimeRFEWebAPIAdapter::LimeRFEWebAPIAdapter() +{} + +LimeRFEWebAPIAdapter::~LimeRFEWebAPIAdapter() +{} + +int LimeRFEWebAPIAdapter::webapiSettingsGet( + SWGSDRangel::SWGFeatureSettings& response, + QString& errorMessage) +{ + (void) errorMessage; + response.setDemodAnalyzerSettings(new SWGSDRangel::SWGDemodAnalyzerSettings()); + response.getDemodAnalyzerSettings()->init(); + LimeRFE::webapiFormatFeatureSettings(response, m_settings); + + return 200; +} + +int LimeRFEWebAPIAdapter::webapiSettingsPutPatch( + bool force, + const QStringList& featureSettingsKeys, + SWGSDRangel::SWGFeatureSettings& response, + QString& errorMessage) +{ + (void) force; // no action + (void) errorMessage; + LimeRFE::webapiUpdateFeatureSettings(m_settings, featureSettingsKeys, response); + + return 200; +} diff --git a/plugins/feature/limerfe/limerfewebapiadapter.h b/plugins/feature/limerfe/limerfewebapiadapter.h new file mode 100644 index 000000000..7e9a39f8a --- /dev/null +++ b/plugins/feature/limerfe/limerfewebapiadapter.h @@ -0,0 +1,49 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2022 Edouard Griffiths, F4EXB. // +// // +// 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 INCLUDE_LIMERFE_WEBAPIADAPTER_H +#define INCLUDE_LIMERFE_WEBAPIADAPTER_H + +#include "feature/featurewebapiadapter.h" +#include "limerfesettings.h" + +/** + * Standalone API adapter only for the settings + */ +class LimeRFEWebAPIAdapter : public FeatureWebAPIAdapter { +public: + LimeRFEWebAPIAdapter(); + virtual ~LimeRFEWebAPIAdapter(); + + virtual QByteArray serialize() const { return m_settings.serialize(); } + virtual bool deserialize(const QByteArray& data) { return m_settings.deserialize(data); } + + virtual int webapiSettingsGet( + SWGSDRangel::SWGFeatureSettings& response, + QString& errorMessage); + + virtual int webapiSettingsPutPatch( + bool force, + const QStringList& featureSettingsKeys, + SWGSDRangel::SWGFeatureSettings& response, + QString& errorMessage); + +private: + LimeRFESettings m_settings; +}; + +#endif // INCLUDE_DEMODANALYZER_WEBAPIADAPTER_H