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 | List of all members
PluginInterface Class Referenceabstract

#include <plugininterface.h>

+ Inheritance diagram for PluginInterface:

Classes

struct  SamplingDevice
 

Public Types

typedef QList< SamplingDeviceSamplingDevices
 

Public Member Functions

virtual ~PluginInterface ()
 
virtual const PluginDescriptorgetPluginDescriptor () const =0
 
virtual void initPlugin (PluginAPI *pluginAPI)=0
 
virtual PluginInstanceGUIcreateRxChannelGUI (DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 
virtual BasebandSampleSinkcreateRxChannelBS (DeviceAPI *deviceAPI)
 
virtual ChannelAPIcreateRxChannelCS (DeviceAPI *deviceAPI)
 
virtual PluginInstanceGUIcreateTxChannelGUI (DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
 
virtual BasebandSampleSourcecreateTxChannelBS (DeviceAPI *deviceAPI)
 
virtual ChannelAPIcreateTxChannelCS (DeviceAPI *deviceAPI)
 
virtual SamplingDevices enumSampleSources ()
 
virtual PluginInstanceGUIcreateSampleSourcePluginInstanceGUI (const QString &sourceId, QWidget **widget, DeviceUISet *deviceUISet)
 
virtual DeviceSampleSourcecreateSampleSourcePluginInstance (const QString &sourceId, DeviceAPI *deviceAPI)
 
virtual void deleteSampleSourcePluginInstanceGUI (PluginInstanceGUI *ui)
 
virtual void deleteSampleSourcePluginInstanceInput (DeviceSampleSource *source)
 
virtual SamplingDevices enumSampleSinks ()
 
virtual PluginInstanceGUIcreateSampleSinkPluginInstanceGUI (const QString &sinkId, QWidget **widget, DeviceUISet *deviceUISet)
 
virtual DeviceSampleSinkcreateSampleSinkPluginInstance (const QString &sinkId, DeviceAPI *deviceAPI)
 
virtual void deleteSampleSinkPluginInstanceGUI (PluginInstanceGUI *ui)
 
virtual void deleteSampleSinkPluginInstanceOutput (DeviceSampleSink *sink)
 
virtual SamplingDevices enumSampleMIMO ()
 
virtual PluginInstanceGUIcreateSampleMIMOPluginInstanceGUI (const QString &mimoId, QWidget **widget, DeviceUISet *deviceUISet)
 
virtual DeviceSampleMIMOcreateSampleMIMOPluginInstance (const QString &mimoId, DeviceAPI *deviceAPI)
 
virtual void deleteSampleMIMOPluginInstanceGUI (PluginInstanceGUI *ui)
 
virtual void deleteSampleMIMOPluginInstanceMIMO (DeviceSampleMIMO *mimo)
 

Detailed Description

Definition at line 31 of file plugininterface.h.

Member Typedef Documentation

◆ SamplingDevices

Definition at line 80 of file plugininterface.h.

Constructor & Destructor Documentation

◆ ~PluginInterface()

virtual PluginInterface::~PluginInterface ( )
inlinevirtual

Definition at line 82 of file plugininterface.h.

82 { }

Member Function Documentation

◆ createRxChannelBS()

virtual BasebandSampleSink* PluginInterface::createRxChannelBS ( DeviceAPI deviceAPI)
inlinevirtual

Reimplemented in DATVDemodPlugin, ATVDemodPlugin, ChannelAnalyzerPlugin, DSDDemodPlugin, LocalSinkPlugin, RemoteSinkPlugin, UDPSinkPlugin, AMDemodPlugin, BFMPlugin, FreeDVPlugin, FreqTrackerPlugin, LoRaPlugin, NFMPlugin, SSBPlugin, and WFMPlugin.

Definition at line 98 of file plugininterface.h.

Referenced by PluginManager::createRxChannelInstance().

100  {
101  (void) deviceAPI;
102  return nullptr;
103  }
+ Here is the caller graph for this function:

◆ createRxChannelCS()

virtual ChannelAPI* PluginInterface::createRxChannelCS ( DeviceAPI deviceAPI)
inlinevirtual

Reimplemented in DATVDemodPlugin, ATVDemodPlugin, ChannelAnalyzerPlugin, DSDDemodPlugin, LocalSinkPlugin, RemoteSinkPlugin, UDPSinkPlugin, AMDemodPlugin, BFMPlugin, FreeDVPlugin, FreqTrackerPlugin, LoRaPlugin, NFMPlugin, SSBPlugin, and WFMPlugin.

Definition at line 105 of file plugininterface.h.

107  {
108  (void) deviceAPI;
109  return nullptr;
110  }

◆ createRxChannelGUI()

virtual PluginInstanceGUI* PluginInterface::createRxChannelGUI ( DeviceUISet deviceUISet,
BasebandSampleSink rxChannel 
)
inlinevirtual

Reimplemented in DATVDemodPlugin, ATVDemodPlugin, ChannelAnalyzerPlugin, DSDDemodPlugin, LocalSinkPlugin, RemoteSinkPlugin, UDPSinkPlugin, AMDemodPlugin, BFMPlugin, FreeDVPlugin, FreqTrackerPlugin, LoRaPlugin, NFMPlugin, SSBPlugin, and WFMPlugin.

Definition at line 89 of file plugininterface.h.

Referenced by PluginManager::createRxChannelInstance().

92  {
93  (void) deviceUISet;
94  (void) rxChannel;
95  return nullptr;
96  }
+ Here is the caller graph for this function:

◆ createSampleMIMOPluginInstance()

virtual DeviceSampleMIMO* PluginInterface::createSampleMIMOPluginInstance ( const QString &  mimoId,
DeviceAPI deviceAPI 
)
inlinevirtual

Reimplemented in TestMIPlugin.

Definition at line 205 of file plugininterface.h.

References Q_DECLARE_INTERFACE().

Referenced by MainWindow::sampleMIMOChanged().

208  {
209  (void) mimoId;
210  (void) deviceAPI;
211  return nullptr;
212  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createSampleMIMOPluginInstanceGUI()

virtual PluginInstanceGUI* PluginInterface::createSampleMIMOPluginInstanceGUI ( const QString &  mimoId,
QWidget **  widget,
DeviceUISet deviceUISet 
)
inlinevirtual

Reimplemented in TestMIPlugin.

Definition at line 194 of file plugininterface.h.

Referenced by MainWindow::sampleMIMOChanged().

198  {
199  (void) mimoId;
200  (void) widget;
201  (void) deviceUISet;
202  return nullptr;
203  }
+ Here is the caller graph for this function:

◆ createSampleSinkPluginInstance()

virtual DeviceSampleSink* PluginInterface::createSampleSinkPluginInstance ( const QString &  sinkId,
DeviceAPI deviceAPI 
)
inlinevirtual

Reimplemented in Bladerf1OutputPlugin, BladeRF2OutputPlugin, SoapySDROutputPlugin, FileSinkPlugin, RemoteOutputPlugin, HackRFOutputPlugin, LimeSDROutputPlugin, LocalOutputPlugin, PlutoSDROutputPlugin, and XTRXOutputPlugin.

Definition at line 178 of file plugininterface.h.

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

181  {
182  (void) sinkId;
183  (void) deviceAPI;
184  return nullptr;
185  }
+ Here is the caller graph for this function:

◆ createSampleSinkPluginInstanceGUI()

virtual PluginInstanceGUI* PluginInterface::createSampleSinkPluginInstanceGUI ( const QString &  sinkId,
QWidget **  widget,
DeviceUISet deviceUISet 
)
inlinevirtual

Reimplemented in Bladerf1OutputPlugin, BladeRF2OutputPlugin, FileSinkPlugin, RemoteOutputPlugin, SoapySDROutputPlugin, HackRFOutputPlugin, LimeSDROutputPlugin, LocalOutputPlugin, PlutoSDROutputPlugin, and XTRXOutputPlugin.

Definition at line 167 of file plugininterface.h.

Referenced by MainWindow::sampleSinkChanged().

171  {
172  (void) sinkId;
173  (void) widget;
174  (void) deviceUISet;
175  return nullptr;
176  }
+ Here is the caller graph for this function:

◆ createSampleSourcePluginInstance()

virtual DeviceSampleSource* PluginInterface::createSampleSourcePluginInstance ( const QString &  sourceId,
DeviceAPI deviceAPI 
)
inlinevirtual

◆ createSampleSourcePluginInstanceGUI()

virtual PluginInstanceGUI* PluginInterface::createSampleSourcePluginInstanceGUI ( const QString &  sourceId,
QWidget **  widget,
DeviceUISet deviceUISet 
)
inlinevirtual

Reimplemented in Blderf1InputPlugin, Blderf2InputPlugin, SoapySDRInputPlugin, KiwiSDRPlugin, XTRXInputPlugin, AirspyPlugin, AirspyHFPlugin, FileInputPlugin, HackRFInputPlugin, LimeSDRInputPlugin, LocalInputPlugin, PerseusPlugin, PlutoSDRInputPlugin, RemoteInputPlugin, SDRPlayPlugin, TestSourcePlugin, FCDProPlugin, FCDProPlusPlugin, and RTLSDRPlugin.

Definition at line 141 of file plugininterface.h.

Referenced by MainWindow::sampleSourceChanged().

145  {
146  (void) sourceId;
147  (void) widget;
148  (void) deviceUISet;
149  return nullptr;
150  }
+ Here is the caller graph for this function:

◆ createTxChannelBS()

virtual BasebandSampleSource* PluginInterface::createTxChannelBS ( DeviceAPI deviceAPI)
inlinevirtual

Reimplemented in LocalSourcePlugin, UDPSourcePlugin, FileSourcePlugin, AMModPlugin, ATVModPlugin, FreeDVModPlugin, NFMModPlugin, SSBModPlugin, RemoteSourcePlugin, and WFMModPlugin.

Definition at line 123 of file plugininterface.h.

Referenced by PluginManager::createTxChannelInstance().

125  {
126  (void) deviceAPI;
127  return nullptr;
128  }
+ Here is the caller graph for this function:

◆ createTxChannelCS()

virtual ChannelAPI* PluginInterface::createTxChannelCS ( DeviceAPI deviceAPI)
inlinevirtual

Reimplemented in LocalSourcePlugin, UDPSourcePlugin, FileSourcePlugin, AMModPlugin, ATVModPlugin, FreeDVModPlugin, NFMModPlugin, SSBModPlugin, RemoteSourcePlugin, and WFMModPlugin.

Definition at line 130 of file plugininterface.h.

132  {
133  (void) deviceAPI;
134  return nullptr;
135  }

◆ createTxChannelGUI()

virtual PluginInstanceGUI* PluginInterface::createTxChannelGUI ( DeviceUISet deviceUISet,
BasebandSampleSource txChannel 
)
inlinevirtual

Reimplemented in LocalSourcePlugin, UDPSourcePlugin, FileSourcePlugin, AMModPlugin, ATVModPlugin, FreeDVModPlugin, NFMModPlugin, SSBModPlugin, RemoteSourcePlugin, and WFMModPlugin.

Definition at line 114 of file plugininterface.h.

Referenced by PluginManager::createTxChannelInstance().

117  {
118  (void) deviceUISet;
119  (void) txChannel;
120  return nullptr;
121  }
+ Here is the caller graph for this function:

◆ deleteSampleMIMOPluginInstanceGUI()

void PluginInterface::deleteSampleMIMOPluginInstanceGUI ( PluginInstanceGUI ui)
virtual

Definition at line 28 of file plugininterface.cpp.

References PluginInstanceGUI::destroy().

Referenced by MainWindow::sampleMIMOChanged().

29 {
30  if (ui) { ui->destroy(); }
31 }
virtual void destroy()=0
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteSampleMIMOPluginInstanceMIMO()

void PluginInterface::deleteSampleMIMOPluginInstanceMIMO ( DeviceSampleMIMO mimo)
virtual

Definition at line 33 of file plugininterface.cpp.

References DeviceSampleMIMO::destroy().

Referenced by MainWindow::sampleMIMOChanged().

34 {
35  if (mimo) { mimo->destroy(); }
36 }
virtual void destroy()=0
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteSampleSinkPluginInstanceGUI()

void PluginInterface::deleteSampleSinkPluginInstanceGUI ( PluginInstanceGUI ui)
virtual

Definition at line 18 of file plugininterface.cpp.

References PluginInstanceGUI::destroy().

19 {
20  if (ui) { ui->destroy(); }
21 }
virtual void destroy()=0
+ Here is the call graph for this function:

◆ deleteSampleSinkPluginInstanceOutput()

void PluginInterface::deleteSampleSinkPluginInstanceOutput ( DeviceSampleSink sink)
virtual

Definition at line 23 of file plugininterface.cpp.

References DeviceSampleSink::destroy().

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

24 {
25  if (sink) { sink->destroy(); }
26 }
virtual void destroy()=0
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteSampleSourcePluginInstanceGUI()

void PluginInterface::deleteSampleSourcePluginInstanceGUI ( PluginInstanceGUI ui)
virtual

Definition at line 8 of file plugininterface.cpp.

References PluginInstanceGUI::destroy().

Referenced by MainWindow::sampleSinkChanged(), and MainWindow::sampleSourceChanged().

9 {
10  if (ui) { ui->destroy(); }
11 }
virtual void destroy()=0
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteSampleSourcePluginInstanceInput()

void PluginInterface::deleteSampleSourcePluginInstanceInput ( DeviceSampleSource source)
virtual

Definition at line 13 of file plugininterface.cpp.

References DeviceSampleSource::destroy().

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

14 {
15  if (source) { source->destroy(); }
16 }
virtual void destroy()=0
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ enumSampleMIMO()

virtual SamplingDevices PluginInterface::enumSampleMIMO ( )
inlinevirtual

Reimplemented in TestMIPlugin.

Definition at line 192 of file plugininterface.h.

192 { return SamplingDevices(); }
QList< SamplingDevice > SamplingDevices

◆ enumSampleSinks()

virtual SamplingDevices PluginInterface::enumSampleSinks ( )
inlinevirtual

◆ enumSampleSources()

virtual SamplingDevices PluginInterface::enumSampleSources ( )
inlinevirtual

◆ getPluginDescriptor()

virtual const PluginDescriptor& PluginInterface::getPluginDescriptor ( ) const
pure virtual

◆ initPlugin()

virtual void PluginInterface::initPlugin ( PluginAPI pluginAPI)
pure virtual

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