mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-09 09:25:07 -04:00
REST API: config: GET (3): mechanism to deal with channel settings API formatting without creating a complete channel object. Applied to AM demod
This commit is contained in:
@@ -134,6 +134,13 @@ public:
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// any channel
|
||||
|
||||
virtual ChannelAPI* createChannelWebAPIAdapter() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// device source plugins only
|
||||
|
||||
virtual SamplingDevices enumSampleSources() { return SamplingDevices(); }
|
||||
|
||||
@@ -200,7 +200,7 @@ void PluginManager::listTxChannels(QList<QString>& list)
|
||||
{
|
||||
list.clear();
|
||||
|
||||
for(PluginAPI::ChannelRegistrations::iterator it = m_txChannelRegistrations.begin(); it != m_txChannelRegistrations.end(); ++it)
|
||||
for (PluginAPI::ChannelRegistrations::iterator it = m_txChannelRegistrations.begin(); it != m_txChannelRegistrations.end(); ++it)
|
||||
{
|
||||
const PluginDescriptor& pluginDescipror = it->m_plugin->getPluginDescriptor();
|
||||
list.append(pluginDescipror.displayedName);
|
||||
@@ -211,7 +211,7 @@ void PluginManager::listRxChannels(QList<QString>& list)
|
||||
{
|
||||
list.clear();
|
||||
|
||||
for(PluginAPI::ChannelRegistrations::iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
|
||||
for (PluginAPI::ChannelRegistrations::iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
|
||||
{
|
||||
const PluginDescriptor& pluginDesciptor = it->m_plugin->getPluginDescriptor();
|
||||
list.append(pluginDesciptor.displayedName);
|
||||
@@ -237,3 +237,22 @@ void PluginManager::createTxChannelInstance(int channelPluginIndex, DeviceUISet
|
||||
pluginInterface->createTxChannelGUI(deviceUISet, txChannel);
|
||||
}
|
||||
}
|
||||
|
||||
const PluginInterface *PluginManager::getChannelPluginInterface(const QString& channelIdURI) const
|
||||
{
|
||||
for(PluginAPI::ChannelRegistrations::const_iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
|
||||
{
|
||||
if (it->m_channelIdURI == channelIdURI) {
|
||||
return it->m_plugin;
|
||||
}
|
||||
}
|
||||
|
||||
for(PluginAPI::ChannelRegistrations::const_iterator it = m_txChannelRegistrations.begin(); it != m_txChannelRegistrations.end(); ++it)
|
||||
{
|
||||
if (it->m_channelIdURI == channelIdURI) {
|
||||
return it->m_plugin;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -80,6 +80,8 @@ public:
|
||||
void createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet, DeviceAPI *deviceAPI);
|
||||
void listTxChannels(QList<QString>& list);
|
||||
|
||||
const PluginInterface *getChannelPluginInterface(const QString& channelIdURI) const;
|
||||
|
||||
static const QString& getFileInputDeviceId() { return m_fileInputDeviceTypeID; }
|
||||
static const QString& getFileSinkDeviceId() { return m_fileSinkDeviceTypeID; }
|
||||
static const QString& getTestMIMODeviceId() { return m_testMIMODeviceTypeID; }
|
||||
|
||||
Reference in New Issue
Block a user