SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
PluginManager Class Reference

#include <pluginmanager.h>

Inherits QObject.

+ Collaboration diagram for PluginManager:

Classes

struct  Plugin
 
struct  SamplingDevice
 

Public Types

typedef QList< PluginPlugins
 

Public Member Functions

 PluginManager (QObject *parent=0)
 
 ~PluginManager ()
 
PluginAPIgetPluginAPI ()
 
void loadPlugins (const QString &pluginsSubDir)
 
void loadPluginsPart (const QString &pluginsSubDir)
 
void loadPluginsFinal ()
 
const PluginsgetPlugins () const
 
void registerRxChannel (const QString &channelIdURI, const QString &channelId, PluginInterface *plugin)
 
void registerSampleSource (const QString &sourceName, PluginInterface *plugin)
 
void registerTxChannel (const QString &channelIdURI, const QString &channelId, PluginInterface *plugin)
 
void registerSampleSink (const QString &sinkName, PluginInterface *plugin)
 
void registerSampleMIMO (const QString &mimoName, PluginInterface *plugin)
 
PluginAPI::SamplingDeviceRegistrationsgetSourceDeviceRegistrations ()
 
PluginAPI::SamplingDeviceRegistrationsgetSinkDeviceRegistrations ()
 
PluginAPI::SamplingDeviceRegistrationsgetMIMODeviceRegistrations ()
 
PluginAPI::ChannelRegistrationsgetRxChannelRegistrations ()
 
PluginAPI::ChannelRegistrationsgetTxChannelRegistrations ()
 
void createRxChannelInstance (int channelPluginIndex, DeviceUISet *deviceUISet, DeviceAPI *deviceAPI)
 
void listRxChannels (QList< QString > &list)
 
void createTxChannelInstance (int channelPluginIndex, DeviceUISet *deviceUISet, DeviceAPI *deviceAPI)
 
void listTxChannels (QList< QString > &list)
 

Static Public Member Functions

static const QString & getFileInputDeviceId ()
 
static const QString & getFileSinkDeviceId ()
 
static const QString & getTestMIMODeviceId ()
 

Private Types

typedef QList< SamplingDeviceSamplingDevices
 

Private Member Functions

void loadPluginsDir (const QDir &dir)
 

Private Attributes

PluginAPI m_pluginAPI
 
Plugins m_plugins
 
PluginAPI::ChannelRegistrations m_rxChannelRegistrations
 Channel plugins register here. More...
 
PluginAPI::SamplingDeviceRegistrations m_sampleSourceRegistrations
 Input source plugins (one per device kind) register here. More...
 
PluginAPI::ChannelRegistrations m_txChannelRegistrations
 Channel plugins register here. More...
 
PluginAPI::SamplingDeviceRegistrations m_sampleSinkRegistrations
 Output sink plugins (one per device kind) register here. More...
 
PluginAPI::SamplingDeviceRegistrations m_sampleMIMORegistrations
 MIMO sink plugins (one per device kind) register here. More...
 

Static Private Attributes

static const QString m_localInputHardwareID = "LocalInput"
 Local input hardware ID. More...
 
static const QString m_localInputDeviceTypeID = "sdrangel.samplesource.localinput"
 Local input plugin ID. More...
 
static const QString m_remoteInputHardwareID = "RemoteInput"
 Remote input hardware ID. More...
 
static const QString m_remoteInputDeviceTypeID = "sdrangel.samplesource.remoteinput"
 Remote input plugin ID. More...
 
static const QString m_fileInputHardwareID = "FileInput"
 File input hardware ID. More...
 
static const QString m_fileInputDeviceTypeID = "sdrangel.samplesource.fileinput"
 File input plugin ID. More...
 
static const QString m_localOutputHardwareID = "LocalOutput"
 Local output hardware ID. More...
 
static const QString m_localOutputDeviceTypeID = "sdrangel.samplesource.localoutput"
 Local output plugin ID. More...
 
static const QString m_remoteOutputHardwareID = "RemoteOutput"
 Remote output hardware ID. More...
 
static const QString m_remoteOutputDeviceTypeID = "sdrangel.samplesink.remoteoutput"
 Remote output plugin ID. More...
 
static const QString m_fileSinkHardwareID = "FileSink"
 FileSink sink hardware ID. More...
 
static const QString m_fileSinkDeviceTypeID = "sdrangel.samplesink.filesink"
 FileSink sink plugin ID. More...
 
static const QString m_testMIMOHardwareID = "TestMI"
 Test MIMO hardware ID. More...
 
static const QString m_testMIMODeviceTypeID = "sdrangel.samplemimo.testmi"
 Test MIMO plugin ID. More...
 

Detailed Description

Definition at line 38 of file pluginmanager.h.

Member Typedef Documentation

◆ Plugins

Definition at line 53 of file pluginmanager.h.

◆ SamplingDevices

Definition at line 111 of file pluginmanager.h.

Constructor & Destructor Documentation

◆ PluginManager()

PluginManager::PluginManager ( QObject *  parent = 0)
explicit

Definition at line 50 of file pluginmanager.cpp.

50  :
51  QObject(parent),
52  m_pluginAPI(this)
53 {
54 }
PluginAPI m_pluginAPI

◆ ~PluginManager()

PluginManager::~PluginManager ( )

Definition at line 56 of file pluginmanager.cpp.

57 {
58  // freeAll();
59 }

Member Function Documentation

◆ createRxChannelInstance()

void PluginManager::createRxChannelInstance ( int  channelPluginIndex,
DeviceUISet deviceUISet,
DeviceAPI deviceAPI 
)

Definition at line 221 of file pluginmanager.cpp.

References PluginInterface::createRxChannelBS(), PluginInterface::createRxChannelGUI(), and m_rxChannelRegistrations.

Referenced by MainWindow::channelAddClicked().

222 {
223  if (channelPluginIndex < m_rxChannelRegistrations.size())
224  {
225  PluginInterface *pluginInterface = m_rxChannelRegistrations[channelPluginIndex].m_plugin;
226  BasebandSampleSink *rxChannel = pluginInterface->createRxChannelBS(deviceAPI);
227  pluginInterface->createRxChannelGUI(deviceUISet, rxChannel);
228  }
229 }
virtual BasebandSampleSink * createRxChannelBS(DeviceAPI *deviceAPI)
PluginAPI::ChannelRegistrations m_rxChannelRegistrations
Channel plugins register here.
virtual PluginInstanceGUI * createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createTxChannelInstance()

void PluginManager::createTxChannelInstance ( int  channelPluginIndex,
DeviceUISet deviceUISet,
DeviceAPI deviceAPI 
)

Definition at line 231 of file pluginmanager.cpp.

References PluginInterface::createTxChannelBS(), PluginInterface::createTxChannelGUI(), and m_txChannelRegistrations.

Referenced by MainWindow::channelAddClicked().

232 {
233  if (channelPluginIndex < m_txChannelRegistrations.size())
234  {
235  PluginInterface *pluginInterface = m_txChannelRegistrations[channelPluginIndex].m_plugin;
236  BasebandSampleSource *txChannel = pluginInterface->createTxChannelBS(deviceAPI);
237  pluginInterface->createTxChannelGUI(deviceUISet, txChannel);
238  }
239 }
virtual PluginInstanceGUI * createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
PluginAPI::ChannelRegistrations m_txChannelRegistrations
Channel plugins register here.
virtual BasebandSampleSource * createTxChannelBS(DeviceAPI *deviceAPI)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFileInputDeviceId()

static const QString& PluginManager::getFileInputDeviceId ( )
inlinestatic

Definition at line 83 of file pluginmanager.h.

Referenced by DeviceEnumerator::getFileInputDeviceIndex().

83 { return m_fileInputDeviceTypeID; }
static const QString m_fileInputDeviceTypeID
File input plugin ID.
+ Here is the caller graph for this function:

◆ getFileSinkDeviceId()

static const QString& PluginManager::getFileSinkDeviceId ( )
inlinestatic

Definition at line 84 of file pluginmanager.h.

Referenced by DeviceEnumerator::getFileSinkDeviceIndex().

84 { return m_fileSinkDeviceTypeID; }
static const QString m_fileSinkDeviceTypeID
FileSink sink plugin ID.
+ Here is the caller graph for this function:

◆ getMIMODeviceRegistrations()

PluginAPI::SamplingDeviceRegistrations& PluginManager::getMIMODeviceRegistrations ( )
inline

Definition at line 73 of file pluginmanager.h.

Referenced by DeviceEnumerator::enumerateMIMODevices().

73 { return m_sampleMIMORegistrations; }
PluginAPI::SamplingDeviceRegistrations m_sampleMIMORegistrations
MIMO sink plugins (one per device kind) register here.
+ Here is the caller graph for this function:

◆ getPluginAPI()

PluginAPI* PluginManager::getPluginAPI ( )
inline

Definition at line 58 of file pluginmanager.h.

Referenced by MainCore::addChannel(), MainCore::loadPresetSettings(), and MainWindow::loadPresetSettings().

58 { return &m_pluginAPI; }
PluginAPI m_pluginAPI
+ Here is the caller graph for this function:

◆ getPlugins()

const Plugins& PluginManager::getPlugins ( ) const
inline

Definition at line 62 of file pluginmanager.h.

Referenced by PluginsDialog::PluginsDialog().

62 { return m_plugins; }
Plugins m_plugins
+ Here is the caller graph for this function:

◆ getRxChannelRegistrations()

PluginAPI::ChannelRegistrations* PluginManager::getRxChannelRegistrations ( )
inline

Definition at line 74 of file pluginmanager.h.

Referenced by WebAPIAdapterGUI::devicesetChannelPost(), WebAPIAdapterSrv::devicesetChannelPost(), PluginAPI::getRxChannelRegistrations(), WebAPIAdapterSrv::instanceChannels(), and WebAPIAdapterGUI::instanceChannels().

74 { return &m_rxChannelRegistrations; }
PluginAPI::ChannelRegistrations m_rxChannelRegistrations
Channel plugins register here.
+ Here is the caller graph for this function:

◆ getSinkDeviceRegistrations()

PluginAPI::SamplingDeviceRegistrations& PluginManager::getSinkDeviceRegistrations ( )
inline

Definition at line 72 of file pluginmanager.h.

Referenced by DeviceEnumerator::enumerateTxDevices().

72 { return m_sampleSinkRegistrations; }
PluginAPI::SamplingDeviceRegistrations m_sampleSinkRegistrations
Output sink plugins (one per device kind) register here.
+ Here is the caller graph for this function:

◆ getSourceDeviceRegistrations()

PluginAPI::SamplingDeviceRegistrations& PluginManager::getSourceDeviceRegistrations ( )
inline

Definition at line 71 of file pluginmanager.h.

Referenced by DeviceEnumerator::enumerateRxDevices().

PluginAPI::SamplingDeviceRegistrations m_sampleSourceRegistrations
Input source plugins (one per device kind) register here.
+ Here is the caller graph for this function:

◆ getTestMIMODeviceId()

static const QString& PluginManager::getTestMIMODeviceId ( )
inlinestatic

Definition at line 85 of file pluginmanager.h.

Referenced by DeviceEnumerator::getTestMIMODeviceIndex().

85 { return m_testMIMODeviceTypeID; }
static const QString m_testMIMODeviceTypeID
Test MIMO plugin ID.
+ Here is the caller graph for this function:

◆ getTxChannelRegistrations()

PluginAPI::ChannelRegistrations* PluginManager::getTxChannelRegistrations ( )
inline

Definition at line 75 of file pluginmanager.h.

Referenced by WebAPIAdapterGUI::devicesetChannelPost(), WebAPIAdapterSrv::devicesetChannelPost(), PluginAPI::getTxChannelRegistrations(), WebAPIAdapterSrv::instanceChannels(), and WebAPIAdapterGUI::instanceChannels().

75 { return &m_txChannelRegistrations; }
PluginAPI::ChannelRegistrations m_txChannelRegistrations
Channel plugins register here.
+ Here is the caller graph for this function:

◆ listRxChannels()

void PluginManager::listRxChannels ( QList< QString > &  list)

Definition at line 210 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, and m_rxChannelRegistrations.

Referenced by MainWindow::addMIMODevice(), and MainWindow::addSourceDevice().

211 {
212  list.clear();
213 
214  for(PluginAPI::ChannelRegistrations::iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
215  {
216  const PluginDescriptor& pluginDesciptor = it->m_plugin->getPluginDescriptor();
217  list.append(pluginDesciptor.displayedName);
218  }
219 }
const QString displayedName
PluginAPI::ChannelRegistrations m_rxChannelRegistrations
Channel plugins register here.
+ Here is the caller graph for this function:

◆ listTxChannels()

void PluginManager::listTxChannels ( QList< QString > &  list)

Definition at line 199 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, and m_txChannelRegistrations.

Referenced by MainWindow::addMIMODevice(), and MainWindow::addSinkDevice().

200 {
201  list.clear();
202 
203  for(PluginAPI::ChannelRegistrations::iterator it = m_txChannelRegistrations.begin(); it != m_txChannelRegistrations.end(); ++it)
204  {
205  const PluginDescriptor& pluginDescipror = it->m_plugin->getPluginDescriptor();
206  list.append(pluginDescipror.displayedName);
207  }
208 }
const QString displayedName
PluginAPI::ChannelRegistrations m_txChannelRegistrations
Channel plugins register here.
+ Here is the caller graph for this function:

◆ loadPlugins()

void PluginManager::loadPlugins ( const QString &  pluginsSubDir)

Definition at line 61 of file pluginmanager.cpp.

References loadPluginsFinal(), and loadPluginsPart().

Referenced by MainCore::MainCore(), and MainWindow::MainWindow().

62 {
63  loadPluginsPart(pluginsSubDir);
65 }
void loadPluginsPart(const QString &pluginsSubDir)
void loadPluginsFinal()
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadPluginsDir()

void PluginManager::loadPluginsDir ( const QDir &  dir)
private

Definition at line 165 of file pluginmanager.cpp.

References m_plugins.

Referenced by loadPluginsPart().

166 {
167  QDir pluginsDir(dir);
168 
169  foreach (QString fileName, pluginsDir.entryList(QDir::Files))
170  {
171  if (QLibrary::isLibrary(fileName))
172  {
173  qDebug("PluginManager::loadPluginsDir: fileName: %s", qPrintable(fileName));
174 
175  QPluginLoader* pluginLoader = new QPluginLoader(pluginsDir.absoluteFilePath(fileName));
176  if (!pluginLoader->load())
177  {
178  qWarning("PluginManager::loadPluginsDir: %s", qPrintable(pluginLoader->errorString()));
179  delete pluginLoader;
180  continue;
181  }
182 
183  PluginInterface* instance = qobject_cast<PluginInterface*>(pluginLoader->instance());
184  if (instance == nullptr)
185  {
186  qWarning("PluginManager::loadPluginsDir: Unable to get main instance of plugin: %s", qPrintable(fileName) );
187  delete pluginLoader;
188  continue;
189  }
190 
191  delete(pluginLoader);
192 
193  qInfo("PluginManager::loadPluginsDir: loaded plugin %s", qPrintable(fileName));
194  m_plugins.append(Plugin(fileName, instance));
195  }
196  }
197 }
Plugins m_plugins
+ Here is the caller graph for this function:

◆ loadPluginsFinal()

void PluginManager::loadPluginsFinal ( )

Definition at line 106 of file pluginmanager.cpp.

References DeviceEnumerator::enumerateMIMODevices(), DeviceEnumerator::enumerateRxDevices(), DeviceEnumerator::enumerateTxDevices(), DeviceEnumerator::instance(), m_pluginAPI, and m_plugins.

Referenced by loadPlugins().

107 {
108  qSort(m_plugins);
109 
110  for (Plugins::const_iterator it = m_plugins.begin(); it != m_plugins.end(); ++it)
111  {
112  it->pluginInterface->initPlugin(&m_pluginAPI);
113  }
114 
118 }
void enumerateTxDevices(PluginManager *pluginManager)
void enumerateMIMODevices(PluginManager *pluginManager)
void enumerateRxDevices(PluginManager *pluginManager)
PluginAPI m_pluginAPI
Plugins m_plugins
static DeviceEnumerator * instance()
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadPluginsPart()

void PluginManager::loadPluginsPart ( const QString &  pluginsSubDir)

Definition at line 67 of file pluginmanager.cpp.

References loadPluginsDir().

Referenced by loadPlugins().

68 {
69  QString applicationDirPath = QCoreApplication::instance()->applicationDirPath();
70  QStringList PluginsPath;
71 
72  // NOTE: not the best solution but for now this is
73  // on make install [PREFIX]/bin and [PREFIX]/lib/sdrangel
74  PluginsPath << applicationDirPath + "/../lib/sdrangel/" + pluginsSubDir;
75  // on build
76  PluginsPath << applicationDirPath + "/lib/" + pluginsSubDir;
77 #ifdef __APPLE__
78  // on SDRAngel.app
79  PluginsPath << applicationDirPath + "/../Resources/lib/" + pluginsSubDir;
80 #elif defined(_WIN32) || defined(WIN32)
81  PluginsPath << applicationDirPath + "/" + pluginsSubDir;
82 #endif
83 
84  // NOTE: exit on the first folder found
85  bool found = false;
86  foreach (QString dir, PluginsPath)
87  {
88  QDir d(dir);
89  if (d.entryList(QDir::Files).count() == 0) {
90  qDebug("PluginManager::loadPluginsPart folder %s is empty", qPrintable(dir));
91  continue;
92  }
93 
94  found = true;
95  loadPluginsDir(d);
96  break;
97  }
98 
99  if (!found)
100  {
101  qCritical("No plugins found. Exit immediately.");
102  exit(EXIT_FAILURE);
103  }
104 }
void loadPluginsDir(const QDir &dir)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerRxChannel()

void PluginManager::registerRxChannel ( const QString &  channelIdURI,
const QString &  channelId,
PluginInterface plugin 
)

Definition at line 120 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, PluginInterface::getPluginDescriptor(), and m_rxChannelRegistrations.

Referenced by PluginAPI::registerRxChannel().

121 {
122  qDebug() << "PluginManager::registerRxChannel "
123  << plugin->getPluginDescriptor().displayedName.toStdString().c_str()
124  << " with channel name " << channelIdURI;
125 
126  m_rxChannelRegistrations.append(PluginAPI::ChannelRegistration(channelIdURI, channelId, plugin));
127 }
const QString displayedName
PluginAPI::ChannelRegistrations m_rxChannelRegistrations
Channel plugins register here.
virtual const PluginDescriptor & getPluginDescriptor() const =0
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerSampleMIMO()

void PluginManager::registerSampleMIMO ( const QString &  mimoName,
PluginInterface plugin 
)

Definition at line 156 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, PluginInterface::getPluginDescriptor(), and m_sampleMIMORegistrations.

Referenced by PluginAPI::registerSampleMIMO().

157 {
158  qDebug() << "PluginManager::registerSampleMIMO "
159  << plugin->getPluginDescriptor().displayedName.toStdString().c_str()
160  << " with MIMO name " << mimoName.toStdString().c_str();
161 
163 }
const QString displayedName
virtual const PluginDescriptor & getPluginDescriptor() const =0
PluginAPI::SamplingDeviceRegistrations m_sampleMIMORegistrations
MIMO sink plugins (one per device kind) register here.
< This is the device registration
Definition: pluginapi.h:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerSampleSink()

void PluginManager::registerSampleSink ( const QString &  sinkName,
PluginInterface plugin 
)

Definition at line 147 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, PluginInterface::getPluginDescriptor(), and m_sampleSinkRegistrations.

Referenced by PluginAPI::registerSampleSink().

148 {
149  qDebug() << "PluginManager::registerSampleSink "
150  << plugin->getPluginDescriptor().displayedName.toStdString().c_str()
151  << " with sink name " << sinkName.toStdString().c_str();
152 
154 }
const QString displayedName
virtual const PluginDescriptor & getPluginDescriptor() const =0
PluginAPI::SamplingDeviceRegistrations m_sampleSinkRegistrations
Output sink plugins (one per device kind) register here.
< This is the device registration
Definition: pluginapi.h:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerSampleSource()

void PluginManager::registerSampleSource ( const QString &  sourceName,
PluginInterface plugin 
)

Definition at line 138 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, PluginInterface::getPluginDescriptor(), and m_sampleSourceRegistrations.

Referenced by PluginAPI::registerSampleSource().

139 {
140  qDebug() << "PluginManager::registerSampleSource "
141  << plugin->getPluginDescriptor().displayedName.toStdString().c_str()
142  << " with source name " << sourceName.toStdString().c_str();
143 
145 }
const QString displayedName
virtual const PluginDescriptor & getPluginDescriptor() const =0
< This is the device registration
Definition: pluginapi.h:20
PluginAPI::SamplingDeviceRegistrations m_sampleSourceRegistrations
Input source plugins (one per device kind) register here.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerTxChannel()

void PluginManager::registerTxChannel ( const QString &  channelIdURI,
const QString &  channelId,
PluginInterface plugin 
)

Definition at line 129 of file pluginmanager.cpp.

References PluginDescriptor::displayedName, PluginInterface::getPluginDescriptor(), and m_txChannelRegistrations.

Referenced by PluginAPI::registerTxChannel().

130 {
131  qDebug() << "PluginManager::registerTxChannel "
132  << plugin->getPluginDescriptor().displayedName.toStdString().c_str()
133  << " with channel name " << channelIdURI;
134 
135  m_txChannelRegistrations.append(PluginAPI::ChannelRegistration(channelIdURI, channelId, plugin));
136 }
const QString displayedName
virtual const PluginDescriptor & getPluginDescriptor() const =0
PluginAPI::ChannelRegistrations m_txChannelRegistrations
Channel plugins register here.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_fileInputDeviceTypeID

const QString PluginManager::m_fileInputDeviceTypeID = "sdrangel.samplesource.fileinput"
staticprivate

File input plugin ID.

Definition at line 130 of file pluginmanager.h.

◆ m_fileInputHardwareID

const QString PluginManager::m_fileInputHardwareID = "FileInput"
staticprivate

File input hardware ID.

Definition at line 129 of file pluginmanager.h.

◆ m_fileSinkDeviceTypeID

const QString PluginManager::m_fileSinkDeviceTypeID = "sdrangel.samplesink.filesink"
staticprivate

FileSink sink plugin ID.

Definition at line 138 of file pluginmanager.h.

◆ m_fileSinkHardwareID

const QString PluginManager::m_fileSinkHardwareID = "FileSink"
staticprivate

FileSink sink hardware ID.

Definition at line 137 of file pluginmanager.h.

◆ m_localInputDeviceTypeID

const QString PluginManager::m_localInputDeviceTypeID = "sdrangel.samplesource.localinput"
staticprivate

Local input plugin ID.

Definition at line 126 of file pluginmanager.h.

◆ m_localInputHardwareID

const QString PluginManager::m_localInputHardwareID = "LocalInput"
staticprivate

Local input hardware ID.

Definition at line 125 of file pluginmanager.h.

◆ m_localOutputDeviceTypeID

const QString PluginManager::m_localOutputDeviceTypeID = "sdrangel.samplesource.localoutput"
staticprivate

Local output plugin ID.

Definition at line 134 of file pluginmanager.h.

◆ m_localOutputHardwareID

const QString PluginManager::m_localOutputHardwareID = "LocalOutput"
staticprivate

Local output hardware ID.

Definition at line 133 of file pluginmanager.h.

◆ m_pluginAPI

PluginAPI PluginManager::m_pluginAPI
private

Definition at line 113 of file pluginmanager.h.

Referenced by loadPluginsFinal().

◆ m_plugins

Plugins PluginManager::m_plugins
private

Definition at line 114 of file pluginmanager.h.

Referenced by loadPluginsDir(), and loadPluginsFinal().

◆ m_remoteInputDeviceTypeID

const QString PluginManager::m_remoteInputDeviceTypeID = "sdrangel.samplesource.remoteinput"
staticprivate

Remote input plugin ID.

Definition at line 128 of file pluginmanager.h.

◆ m_remoteInputHardwareID

const QString PluginManager::m_remoteInputHardwareID = "RemoteInput"
staticprivate

Remote input hardware ID.

Definition at line 127 of file pluginmanager.h.

◆ m_remoteOutputDeviceTypeID

const QString PluginManager::m_remoteOutputDeviceTypeID = "sdrangel.samplesink.remoteoutput"
staticprivate

Remote output plugin ID.

Definition at line 136 of file pluginmanager.h.

◆ m_remoteOutputHardwareID

const QString PluginManager::m_remoteOutputHardwareID = "RemoteOutput"
staticprivate

Remote output hardware ID.

Definition at line 135 of file pluginmanager.h.

◆ m_rxChannelRegistrations

PluginAPI::ChannelRegistrations PluginManager::m_rxChannelRegistrations
private

Channel plugins register here.

Definition at line 116 of file pluginmanager.h.

Referenced by createRxChannelInstance(), listRxChannels(), and registerRxChannel().

◆ m_sampleMIMORegistrations

PluginAPI::SamplingDeviceRegistrations PluginManager::m_sampleMIMORegistrations
private

MIMO sink plugins (one per device kind) register here.

Definition at line 122 of file pluginmanager.h.

Referenced by registerSampleMIMO().

◆ m_sampleSinkRegistrations

PluginAPI::SamplingDeviceRegistrations PluginManager::m_sampleSinkRegistrations
private

Output sink plugins (one per device kind) register here.

Definition at line 120 of file pluginmanager.h.

Referenced by registerSampleSink().

◆ m_sampleSourceRegistrations

PluginAPI::SamplingDeviceRegistrations PluginManager::m_sampleSourceRegistrations
private

Input source plugins (one per device kind) register here.

Definition at line 117 of file pluginmanager.h.

Referenced by registerSampleSource().

◆ m_testMIMODeviceTypeID

const QString PluginManager::m_testMIMODeviceTypeID = "sdrangel.samplemimo.testmi"
staticprivate

Test MIMO plugin ID.

Definition at line 142 of file pluginmanager.h.

◆ m_testMIMOHardwareID

const QString PluginManager::m_testMIMOHardwareID = "TestMI"
staticprivate

Test MIMO hardware ID.

Definition at line 141 of file pluginmanager.h.

◆ m_txChannelRegistrations

PluginAPI::ChannelRegistrations PluginManager::m_txChannelRegistrations
private

Channel plugins register here.

Definition at line 119 of file pluginmanager.h.

Referenced by createTxChannelInstance(), listTxChannels(), and registerTxChannel().


The documentation for this class was generated from the following files: