1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

REST API: config: GET (10): mechanism to deal with device settings API formatting without creating a complete device object. Applied to Airspy input

This commit is contained in:
f4exb
2019-08-03 11:21:46 +02:00
parent ae49f17484
commit 4b493da226
14 changed files with 291 additions and 31 deletions
+28 -2
View File
@@ -240,14 +240,14 @@ void PluginManager::createTxChannelInstance(int channelPluginIndex, DeviceUISet
const PluginInterface *PluginManager::getChannelPluginInterface(const QString& channelIdURI) const
{
for(PluginAPI::ChannelRegistrations::const_iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
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)
for (PluginAPI::ChannelRegistrations::const_iterator it = m_txChannelRegistrations.begin(); it != m_txChannelRegistrations.end(); ++it)
{
if (it->m_channelIdURI == channelIdURI) {
return it->m_plugin;
@@ -256,3 +256,29 @@ const PluginInterface *PluginManager::getChannelPluginInterface(const QString& c
return nullptr;
}
const PluginInterface *PluginManager::getDevicePluginInterface(const QString& deviceId) const
{
for (PluginAPI::SamplingDeviceRegistrations::const_iterator it = m_sampleSourceRegistrations.begin(); it != m_sampleSourceRegistrations.end(); ++it)
{
if (it->m_deviceId == deviceId) {
return it->m_plugin;
}
}
for (PluginAPI::SamplingDeviceRegistrations::const_iterator it = m_sampleSinkRegistrations.begin(); it != m_sampleSinkRegistrations.end(); ++it)
{
if (it->m_deviceId == deviceId) {
return it->m_plugin;
}
}
for (PluginAPI::SamplingDeviceRegistrations::const_iterator it = m_sampleMIMORegistrations.begin(); it != m_sampleMIMORegistrations.end(); ++it)
{
if (it->m_deviceId == deviceId) {
return it->m_plugin;
}
}
return nullptr;
}