mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-28 21:12:26 -04:00
REST API: config (7): preset channel Tx adapters where there is no CW keyer
This commit is contained in:
parent
c7d05aeaff
commit
9610a6b93a
@ -12,13 +12,15 @@ endif()
|
|||||||
set(filesource_SOURCES
|
set(filesource_SOURCES
|
||||||
filesource.cpp
|
filesource.cpp
|
||||||
filesourceplugin.cpp
|
filesourceplugin.cpp
|
||||||
filesourcesettings.cpp
|
filesourcesettings.cpp
|
||||||
|
filesourcewebapiadapter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(filesource_HEADERS
|
set(filesource_HEADERS
|
||||||
filesource.h
|
filesource.h
|
||||||
filesourceplugin.h
|
filesourceplugin.h
|
||||||
filesourcesettings.h
|
filesourcesettings.h
|
||||||
|
filesourcewebapiadapter.h
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -22,11 +22,12 @@
|
|||||||
#include "filesourcegui.h"
|
#include "filesourcegui.h"
|
||||||
#endif
|
#endif
|
||||||
#include "filesource.h"
|
#include "filesource.h"
|
||||||
|
#include "filesourcewebapiadapter.h"
|
||||||
#include "filesourceplugin.h"
|
#include "filesourceplugin.h"
|
||||||
|
|
||||||
const PluginDescriptor FileSourcePlugin::m_pluginDescriptor = {
|
const PluginDescriptor FileSourcePlugin::m_pluginDescriptor = {
|
||||||
QString("File channel source"),
|
QString("File channel source"),
|
||||||
QString("4.11.0"),
|
QString("4.11.6"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
@ -76,5 +77,7 @@ ChannelAPI* FileSourcePlugin::createTxChannelCS(DeviceAPI *deviceAPI) const
|
|||||||
return new FileSource(deviceAPI);
|
return new FileSource(deviceAPI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ChannelAPI* FileSourcePlugin::createChannelWebAPIAdapter() const
|
||||||
|
{
|
||||||
|
return new FileSourceWebAPIAdapter();
|
||||||
|
}
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
||||||
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
||||||
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
||||||
|
virtual ChannelAPI* createChannelWebAPIAdapter() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const PluginDescriptor m_pluginDescriptor;
|
static const PluginDescriptor m_pluginDescriptor;
|
||||||
|
51
plugins/channeltx/filesource/filesourcewebapiadapter.cpp
Normal file
51
plugins/channeltx/filesource/filesourcewebapiadapter.cpp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "SWGChannelSettings.h"
|
||||||
|
#include "filesource.h"
|
||||||
|
#include "filesourcewebapiadapter.h"
|
||||||
|
|
||||||
|
FileSourceWebAPIAdapter::FileSourceWebAPIAdapter() :
|
||||||
|
ChannelAPI(FileSource::m_channelIdURI, ChannelAPI::StreamSingleSource)
|
||||||
|
{}
|
||||||
|
|
||||||
|
FileSourceWebAPIAdapter::~FileSourceWebAPIAdapter()
|
||||||
|
{}
|
||||||
|
|
||||||
|
int FileSourceWebAPIAdapter::webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
response.setFileSourceSettings(new SWGSDRangel::SWGFileSourceSettings());
|
||||||
|
response.getFileSourceSettings()->init();
|
||||||
|
FileSource::webapiFormatChannelSettings(response, m_settings);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int FileSourceWebAPIAdapter::webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
FileSource::webapiUpdateChannelSettings(m_settings, channelSettingsKeys, response);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
65
plugins/channeltx/filesource/filesourcewebapiadapter.h
Normal file
65
plugins/channeltx/filesource/filesourcewebapiadapter.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef INCLUDE_FILESOURCE_WEBAPIADAPTER_H
|
||||||
|
#define INCLUDE_FILESOURCE_WEBAPIADAPTER_H
|
||||||
|
|
||||||
|
#include "channel/channelapi.h"
|
||||||
|
#include "filesourcesettings.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Standalone API adapter only for the settings
|
||||||
|
*/
|
||||||
|
class FileSourceWebAPIAdapter : public ChannelAPI {
|
||||||
|
public:
|
||||||
|
FileSourceWebAPIAdapter();
|
||||||
|
virtual ~FileSourceWebAPIAdapter();
|
||||||
|
|
||||||
|
// unused pure virtual methods
|
||||||
|
virtual void destroy() {}
|
||||||
|
virtual void getIdentifier(QString& id) {}
|
||||||
|
virtual void getTitle(QString& title) {}
|
||||||
|
virtual qint64 getCenterFrequency() const { return 0; }
|
||||||
|
virtual int getNbSinkStreams() const { return 1; }
|
||||||
|
virtual int getNbSourceStreams() const { return 0; }
|
||||||
|
|
||||||
|
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
|
||||||
|
{
|
||||||
|
(void) streamIndex;
|
||||||
|
(void) sinkElseSource;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// virtual methods actually implemented
|
||||||
|
virtual QByteArray serialize() const { return m_settings.serialize(); }
|
||||||
|
virtual bool deserialize(const QByteArray& data) { m_settings.deserialize(data); }
|
||||||
|
|
||||||
|
virtual int webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
virtual int webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FileSourceSettings m_settings;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INCLUDE_FILESOURCE_WEBAPIADAPTER_H
|
@ -4,14 +4,16 @@ set(localsource_SOURCES
|
|||||||
localsource.cpp
|
localsource.cpp
|
||||||
localsourcethread.cpp
|
localsourcethread.cpp
|
||||||
localsourceplugin.cpp
|
localsourceplugin.cpp
|
||||||
localsourcesettings.cpp
|
localsourcesettings.cpp
|
||||||
|
localsourcewebapiadapter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(localsource_HEADERS
|
set(localsource_HEADERS
|
||||||
localsource.h
|
localsource.h
|
||||||
localsourcethread.h
|
localsourcethread.h
|
||||||
localsourceplugin.h
|
localsourceplugin.h
|
||||||
localsourcesettings.h
|
localsourcesettings.h
|
||||||
|
localsourcewebapiadapter.h
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -24,10 +24,12 @@
|
|||||||
#include "localsourcegui.h"
|
#include "localsourcegui.h"
|
||||||
#endif
|
#endif
|
||||||
#include "localsource.h"
|
#include "localsource.h"
|
||||||
|
#include "localsourcewebapiadapter.h"
|
||||||
|
#include "localsourceplugin.h"
|
||||||
|
|
||||||
const PluginDescriptor LocalSourcePlugin::m_pluginDescriptor = {
|
const PluginDescriptor LocalSourcePlugin::m_pluginDescriptor = {
|
||||||
QString("Local channel source"),
|
QString("Local channel source"),
|
||||||
QString("4.8.0"),
|
QString("4.11.6"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
@ -76,3 +78,8 @@ ChannelAPI* LocalSourcePlugin::createTxChannelCS(DeviceAPI *deviceAPI) const
|
|||||||
{
|
{
|
||||||
return new LocalSource(deviceAPI);
|
return new LocalSource(deviceAPI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ChannelAPI* LocalSourcePlugin::createChannelWebAPIAdapter() const
|
||||||
|
{
|
||||||
|
return new LocalSourceWebAPIAdapter();
|
||||||
|
}
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
||||||
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
||||||
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
||||||
|
virtual ChannelAPI* createChannelWebAPIAdapter() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const PluginDescriptor m_pluginDescriptor;
|
static const PluginDescriptor m_pluginDescriptor;
|
||||||
|
51
plugins/channeltx/localsource/localsourcewebapiadapter.cpp
Normal file
51
plugins/channeltx/localsource/localsourcewebapiadapter.cpp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "SWGChannelSettings.h"
|
||||||
|
#include "localsource.h"
|
||||||
|
#include "localsourcewebapiadapter.h"
|
||||||
|
|
||||||
|
LocalSourceWebAPIAdapter::LocalSourceWebAPIAdapter() :
|
||||||
|
ChannelAPI(LocalSource::m_channelIdURI, ChannelAPI::StreamSingleSource)
|
||||||
|
{}
|
||||||
|
|
||||||
|
LocalSourceWebAPIAdapter::~LocalSourceWebAPIAdapter()
|
||||||
|
{}
|
||||||
|
|
||||||
|
int LocalSourceWebAPIAdapter::webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
response.setLocalSourceSettings(new SWGSDRangel::SWGLocalSourceSettings());
|
||||||
|
response.getLocalSourceSettings()->init();
|
||||||
|
LocalSource::webapiFormatChannelSettings(response, m_settings);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LocalSourceWebAPIAdapter::webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
LocalSource::webapiUpdateChannelSettings(m_settings, channelSettingsKeys, response);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
65
plugins/channeltx/localsource/localsourcewebapiadapter.h
Normal file
65
plugins/channeltx/localsource/localsourcewebapiadapter.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef INCLUDE_LOCALSOURCE_WEBAPIADAPTER_H
|
||||||
|
#define INCLUDE_LOCALSOURCE_WEBAPIADAPTER_H
|
||||||
|
|
||||||
|
#include "channel/channelapi.h"
|
||||||
|
#include "localsourcesettings.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Standalone API adapter only for the settings
|
||||||
|
*/
|
||||||
|
class LocalSourceWebAPIAdapter : public ChannelAPI {
|
||||||
|
public:
|
||||||
|
LocalSourceWebAPIAdapter();
|
||||||
|
virtual ~LocalSourceWebAPIAdapter();
|
||||||
|
|
||||||
|
// unused pure virtual methods
|
||||||
|
virtual void destroy() {}
|
||||||
|
virtual void getIdentifier(QString& id) {}
|
||||||
|
virtual void getTitle(QString& title) {}
|
||||||
|
virtual qint64 getCenterFrequency() const { return 0; }
|
||||||
|
virtual int getNbSinkStreams() const { return 1; }
|
||||||
|
virtual int getNbSourceStreams() const { return 0; }
|
||||||
|
|
||||||
|
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
|
||||||
|
{
|
||||||
|
(void) streamIndex;
|
||||||
|
(void) sinkElseSource;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// virtual methods actually implemented
|
||||||
|
virtual QByteArray serialize() const { return m_settings.serialize(); }
|
||||||
|
virtual bool deserialize(const QByteArray& data) { m_settings.deserialize(data); }
|
||||||
|
|
||||||
|
virtual int webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
virtual int webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
private:
|
||||||
|
LocalSourceSettings m_settings;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INCLUDE_LOCALSOURCE_WEBAPIADAPTER_H
|
@ -3,13 +3,15 @@ project(modatv)
|
|||||||
set(modatv_SOURCES
|
set(modatv_SOURCES
|
||||||
atvmod.cpp
|
atvmod.cpp
|
||||||
atvmodplugin.cpp
|
atvmodplugin.cpp
|
||||||
atvmodsettings.cpp
|
atvmodsettings.cpp
|
||||||
|
atvmodwebapiadapter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(modatv_HEADERS
|
set(modatv_HEADERS
|
||||||
atvmod.h
|
atvmod.h
|
||||||
atvmodplugin.h
|
atvmodplugin.h
|
||||||
atvmodsettings.h
|
atvmodsettings.h
|
||||||
|
atvmodwebapiadapter.h
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -22,11 +22,12 @@
|
|||||||
#include "atvmodgui.h"
|
#include "atvmodgui.h"
|
||||||
#endif
|
#endif
|
||||||
#include "atvmod.h"
|
#include "atvmod.h"
|
||||||
|
#include "atvmodwebapiadapter.h"
|
||||||
#include "atvmodplugin.h"
|
#include "atvmodplugin.h"
|
||||||
|
|
||||||
const PluginDescriptor ATVModPlugin::m_pluginDescriptor = {
|
const PluginDescriptor ATVModPlugin::m_pluginDescriptor = {
|
||||||
QString("ATV Modulator"),
|
QString("ATV Modulator"),
|
||||||
QString("4.5.2"),
|
QString("4.11.6"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
@ -76,5 +77,7 @@ ChannelAPI* ATVModPlugin::createTxChannelCS(DeviceAPI *deviceAPI) const
|
|||||||
return new ATVMod(deviceAPI);
|
return new ATVMod(deviceAPI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ChannelAPI* ATVModPlugin::createChannelWebAPIAdapter() const
|
||||||
|
{
|
||||||
|
return new ATVModWebAPIAdapter();
|
||||||
|
}
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
||||||
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
||||||
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
||||||
|
virtual ChannelAPI* createChannelWebAPIAdapter() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const PluginDescriptor m_pluginDescriptor;
|
static const PluginDescriptor m_pluginDescriptor;
|
||||||
|
51
plugins/channeltx/modatv/atvmodwebapiadapter.cpp
Normal file
51
plugins/channeltx/modatv/atvmodwebapiadapter.cpp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "SWGChannelSettings.h"
|
||||||
|
#include "atvmod.h"
|
||||||
|
#include "atvmodwebapiadapter.h"
|
||||||
|
|
||||||
|
ATVModWebAPIAdapter::ATVModWebAPIAdapter() :
|
||||||
|
ChannelAPI(ATVMod::m_channelIdURI, ChannelAPI::StreamSingleSource)
|
||||||
|
{}
|
||||||
|
|
||||||
|
ATVModWebAPIAdapter::~ATVModWebAPIAdapter()
|
||||||
|
{}
|
||||||
|
|
||||||
|
int ATVModWebAPIAdapter::webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
response.setAtvModSettings(new SWGSDRangel::SWGATVModSettings());
|
||||||
|
response.getAtvModSettings()->init();
|
||||||
|
ATVMod::webapiFormatChannelSettings(response, m_settings);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ATVModWebAPIAdapter::webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
ATVMod::webapiUpdateChannelSettings(m_settings, channelSettingsKeys, response);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
65
plugins/channeltx/modatv/atvmodwebapiadapter.h
Normal file
65
plugins/channeltx/modatv/atvmodwebapiadapter.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef INCLUDE_ATVMOD_WEBAPIADAPTER_H
|
||||||
|
#define INCLUDE_ATVMOD_WEBAPIADAPTER_H
|
||||||
|
|
||||||
|
#include "channel/channelapi.h"
|
||||||
|
#include "atvmodsettings.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Standalone API adapter only for the settings
|
||||||
|
*/
|
||||||
|
class ATVModWebAPIAdapter : public ChannelAPI {
|
||||||
|
public:
|
||||||
|
ATVModWebAPIAdapter();
|
||||||
|
virtual ~ATVModWebAPIAdapter();
|
||||||
|
|
||||||
|
// unused pure virtual methods
|
||||||
|
virtual void destroy() {}
|
||||||
|
virtual void getIdentifier(QString& id) {}
|
||||||
|
virtual void getTitle(QString& title) {}
|
||||||
|
virtual qint64 getCenterFrequency() const { return 0; }
|
||||||
|
virtual int getNbSinkStreams() const { return 1; }
|
||||||
|
virtual int getNbSourceStreams() const { return 0; }
|
||||||
|
|
||||||
|
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
|
||||||
|
{
|
||||||
|
(void) streamIndex;
|
||||||
|
(void) sinkElseSource;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// virtual methods actually implemented
|
||||||
|
virtual QByteArray serialize() const { return m_settings.serialize(); }
|
||||||
|
virtual bool deserialize(const QByteArray& data) { m_settings.deserialize(data); }
|
||||||
|
|
||||||
|
virtual int webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
virtual int webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
private:
|
||||||
|
ATVModSettings m_settings;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INCLUDE_ATVMOD_WEBAPIADAPTER_H
|
@ -13,14 +13,16 @@ set(remotesource_SOURCES
|
|||||||
remotesource.cpp
|
remotesource.cpp
|
||||||
remotesourcethread.cpp
|
remotesourcethread.cpp
|
||||||
remotesourceplugin.cpp
|
remotesourceplugin.cpp
|
||||||
remotesourcesettings.cpp
|
remotesourcesettings.cpp
|
||||||
|
remotesourcewebapiadapter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(remotesource_HEADERS
|
set(remotesource_HEADERS
|
||||||
remotesource.h
|
remotesource.h
|
||||||
remotesourcethread.h
|
remotesourcethread.h
|
||||||
remotesourceplugin.h
|
remotesourceplugin.h
|
||||||
remotesourcesettings.h
|
remotesourcesettings.h
|
||||||
|
remotesourcewebapiadapter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -22,11 +22,12 @@
|
|||||||
#include "remotesourcegui.h"
|
#include "remotesourcegui.h"
|
||||||
#endif
|
#endif
|
||||||
#include "remotesource.h"
|
#include "remotesource.h"
|
||||||
|
#include "remotesourcewebapiadapter.h"
|
||||||
#include "remotesourceplugin.h"
|
#include "remotesourceplugin.h"
|
||||||
|
|
||||||
const PluginDescriptor RemoteSourcePlugin::m_pluginDescriptor = {
|
const PluginDescriptor RemoteSourcePlugin::m_pluginDescriptor = {
|
||||||
QString("Remote channel source"),
|
QString("Remote channel source"),
|
||||||
QString("4.5.2"),
|
QString("4.11.6"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
@ -76,5 +77,7 @@ ChannelAPI* RemoteSourcePlugin::createTxChannelCS(DeviceAPI *deviceAPI) const
|
|||||||
return new RemoteSource(deviceAPI);
|
return new RemoteSource(deviceAPI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ChannelAPI* RemoteSourcePlugin::createChannelWebAPIAdapter() const
|
||||||
|
{
|
||||||
|
return new RemoteSourceWebAPIAdapter();
|
||||||
|
}
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
||||||
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
||||||
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
||||||
|
virtual ChannelAPI* createChannelWebAPIAdapter() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const PluginDescriptor m_pluginDescriptor;
|
static const PluginDescriptor m_pluginDescriptor;
|
||||||
|
51
plugins/channeltx/remotesource/remotesourcewebapiadapter.cpp
Normal file
51
plugins/channeltx/remotesource/remotesourcewebapiadapter.cpp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "SWGChannelSettings.h"
|
||||||
|
#include "remotesource.h"
|
||||||
|
#include "remotesourcewebapiadapter.h"
|
||||||
|
|
||||||
|
RemoteSourceWebAPIAdapter::RemoteSourceWebAPIAdapter() :
|
||||||
|
ChannelAPI(RemoteSource::m_channelIdURI, ChannelAPI::StreamSingleSource)
|
||||||
|
{}
|
||||||
|
|
||||||
|
RemoteSourceWebAPIAdapter::~RemoteSourceWebAPIAdapter()
|
||||||
|
{}
|
||||||
|
|
||||||
|
int RemoteSourceWebAPIAdapter::webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
response.setRemoteSourceSettings(new SWGSDRangel::SWGRemoteSourceSettings());
|
||||||
|
response.getRemoteSourceSettings()->init();
|
||||||
|
RemoteSource::webapiFormatChannelSettings(response, m_settings);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int RemoteSourceWebAPIAdapter::webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
RemoteSource::webapiUpdateChannelSettings(m_settings, channelSettingsKeys, response);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
65
plugins/channeltx/remotesource/remotesourcewebapiadapter.h
Normal file
65
plugins/channeltx/remotesource/remotesourcewebapiadapter.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef INCLUDE_REMOTESOURCE_WEBAPIADAPTER_H
|
||||||
|
#define INCLUDE_REMOTESOURCE_WEBAPIADAPTER_H
|
||||||
|
|
||||||
|
#include "channel/channelapi.h"
|
||||||
|
#include "remotesourcesettings.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Standalone API adapter only for the settings
|
||||||
|
*/
|
||||||
|
class RemoteSourceWebAPIAdapter : public ChannelAPI {
|
||||||
|
public:
|
||||||
|
RemoteSourceWebAPIAdapter();
|
||||||
|
virtual ~RemoteSourceWebAPIAdapter();
|
||||||
|
|
||||||
|
// unused pure virtual methods
|
||||||
|
virtual void destroy() {}
|
||||||
|
virtual void getIdentifier(QString& id) {}
|
||||||
|
virtual void getTitle(QString& title) {}
|
||||||
|
virtual qint64 getCenterFrequency() const { return 0; }
|
||||||
|
virtual int getNbSinkStreams() const { return 1; }
|
||||||
|
virtual int getNbSourceStreams() const { return 0; }
|
||||||
|
|
||||||
|
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
|
||||||
|
{
|
||||||
|
(void) streamIndex;
|
||||||
|
(void) sinkElseSource;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// virtual methods actually implemented
|
||||||
|
virtual QByteArray serialize() const { return m_settings.serialize(); }
|
||||||
|
virtual bool deserialize(const QByteArray& data) { m_settings.deserialize(data); }
|
||||||
|
|
||||||
|
virtual int webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
virtual int webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
private:
|
||||||
|
RemoteSourceSettings m_settings;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INCLUDE_REMOTESOURCE_WEBAPIADAPTER_H
|
@ -5,7 +5,8 @@ set(udpsource_SOURCES
|
|||||||
udpsourceplugin.cpp
|
udpsourceplugin.cpp
|
||||||
udpsourceudphandler.cpp
|
udpsourceudphandler.cpp
|
||||||
udpsourcemsg.cpp
|
udpsourcemsg.cpp
|
||||||
udpsourcesettings.cpp
|
udpsourcesettings.cpp
|
||||||
|
udpsourcewebapiadapter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(udpsource_HEADERS
|
set(udpsource_HEADERS
|
||||||
@ -13,7 +14,8 @@ set(udpsource_HEADERS
|
|||||||
udpsourceplugin.h
|
udpsourceplugin.h
|
||||||
udpsourceudphandler.h
|
udpsourceudphandler.h
|
||||||
udpsourcemsg.h
|
udpsourcemsg.h
|
||||||
udpsourcesettings.h
|
udpsourcesettings.h
|
||||||
|
udpsourcewebapiadapter.h
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -25,10 +25,12 @@
|
|||||||
#include "udpsourcegui.h"
|
#include "udpsourcegui.h"
|
||||||
#endif
|
#endif
|
||||||
#include "udpsource.h"
|
#include "udpsource.h"
|
||||||
|
#include "udpsourcewebapiadapter.h"
|
||||||
|
#include "udpsourceplugin.h"
|
||||||
|
|
||||||
const PluginDescriptor UDPSourcePlugin::m_pluginDescriptor = {
|
const PluginDescriptor UDPSourcePlugin::m_pluginDescriptor = {
|
||||||
QString("UDP Channel Source"),
|
QString("UDP Channel Source"),
|
||||||
QString("4.5.2"),
|
QString("4.11.6"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
@ -78,4 +80,7 @@ ChannelAPI* UDPSourcePlugin::createTxChannelCS(DeviceAPI *deviceAPI) const
|
|||||||
return new UDPSource(deviceAPI);
|
return new UDPSource(deviceAPI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ChannelAPI* UDPSourcePlugin::createChannelWebAPIAdapter() const
|
||||||
|
{
|
||||||
|
return new UDPSourceWebAPIAdapter();
|
||||||
|
}
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel) const;
|
||||||
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI) const;
|
||||||
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
virtual ChannelAPI* createTxChannelCS(DeviceAPI *deviceAPI) const;
|
||||||
|
virtual ChannelAPI* createChannelWebAPIAdapter() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const PluginDescriptor m_pluginDescriptor;
|
static const PluginDescriptor m_pluginDescriptor;
|
||||||
|
51
plugins/channeltx/udpsource/udpsourcewebapiadapter.cpp
Normal file
51
plugins/channeltx/udpsource/udpsourcewebapiadapter.cpp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "SWGChannelSettings.h"
|
||||||
|
#include "udpsource.h"
|
||||||
|
#include "udpsourcewebapiadapter.h"
|
||||||
|
|
||||||
|
UDPSourceWebAPIAdapter::UDPSourceWebAPIAdapter() :
|
||||||
|
ChannelAPI(UDPSource::m_channelIdURI, ChannelAPI::StreamSingleSource)
|
||||||
|
{}
|
||||||
|
|
||||||
|
UDPSourceWebAPIAdapter::~UDPSourceWebAPIAdapter()
|
||||||
|
{}
|
||||||
|
|
||||||
|
int UDPSourceWebAPIAdapter::webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
response.setUdpSourceSettings(new SWGSDRangel::SWGUDPSourceSettings());
|
||||||
|
response.getUdpSourceSettings()->init();
|
||||||
|
UDPSource::webapiFormatChannelSettings(response, m_settings);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
int UDPSourceWebAPIAdapter::webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage)
|
||||||
|
{
|
||||||
|
(void) errorMessage;
|
||||||
|
UDPSource::webapiUpdateChannelSettings(m_settings, channelSettingsKeys, response);
|
||||||
|
|
||||||
|
return 200;
|
||||||
|
}
|
65
plugins/channeltx/udpsource/udpsourcewebapiadapter.h
Normal file
65
plugins/channeltx/udpsource/udpsourcewebapiadapter.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. //
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef INCLUDE_UDPSOURCE_WEBAPIADAPTER_H
|
||||||
|
#define INCLUDE_UDPSOURCE_WEBAPIADAPTER_H
|
||||||
|
|
||||||
|
#include "channel/channelapi.h"
|
||||||
|
#include "udpsourcesettings.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Standalone API adapter only for the settings
|
||||||
|
*/
|
||||||
|
class UDPSourceWebAPIAdapter : public ChannelAPI {
|
||||||
|
public:
|
||||||
|
UDPSourceWebAPIAdapter();
|
||||||
|
virtual ~UDPSourceWebAPIAdapter();
|
||||||
|
|
||||||
|
// unused pure virtual methods
|
||||||
|
virtual void destroy() {}
|
||||||
|
virtual void getIdentifier(QString& id) {}
|
||||||
|
virtual void getTitle(QString& title) {}
|
||||||
|
virtual qint64 getCenterFrequency() const { return 0; }
|
||||||
|
virtual int getNbSinkStreams() const { return 1; }
|
||||||
|
virtual int getNbSourceStreams() const { return 0; }
|
||||||
|
|
||||||
|
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
|
||||||
|
{
|
||||||
|
(void) streamIndex;
|
||||||
|
(void) sinkElseSource;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// virtual methods actually implemented
|
||||||
|
virtual QByteArray serialize() const { return m_settings.serialize(); }
|
||||||
|
virtual bool deserialize(const QByteArray& data) { m_settings.deserialize(data); }
|
||||||
|
|
||||||
|
virtual int webapiSettingsGet(
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
virtual int webapiSettingsPutPatch(
|
||||||
|
bool force,
|
||||||
|
const QStringList& channelSettingsKeys,
|
||||||
|
SWGSDRangel::SWGChannelSettings& response,
|
||||||
|
QString& errorMessage);
|
||||||
|
|
||||||
|
private:
|
||||||
|
UDPSourceSettings m_settings;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INCLUDE_UDPSOURCE_WEBAPIADAPTER_H
|
Loading…
x
Reference in New Issue
Block a user