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.
pluginapi.h
Go to the documentation of this file.
1 #ifndef INCLUDE_PLUGINAPI_H
2 #define INCLUDE_PLUGINAPI_H
3 
4 #include <QObject>
5 #include <QList>
6 
7 #include "export.h"
9 
10 class QString;
11 
12 class PluginManager;
13 class MessageQueue;
14 class PluginInstanceGUI;
15 
16 class SDRBASE_API PluginAPI : public QObject {
17  Q_OBJECT
18 
19 public:
21  {
22  QString m_deviceId;
24  SamplingDeviceRegistration(const QString& deviceId, PluginInterface* plugin) :
25  m_deviceId(deviceId),
26  m_plugin(plugin)
27  { }
28  };
29 
30  typedef QList<SamplingDeviceRegistration> SamplingDeviceRegistrations;
31 
33  {
34  QString m_channelIdURI;
35  QString m_channelId;
37  ChannelRegistration(const QString& channelIdURI, const QString& channelId, PluginInterface* plugin) :
38  m_channelIdURI(channelIdURI),
39  m_channelId(channelId),
40  m_plugin(plugin)
41  { }
42  };
43 
44  typedef QList<ChannelRegistration> ChannelRegistrations;
45 
46  // Rx Channel stuff
47  void registerRxChannel(const QString& channelIdURI, const QString& channelId, PluginInterface* plugin);
48  ChannelRegistrations *getRxChannelRegistrations();
49 
50  // Tx Channel stuff
51  void registerTxChannel(const QString& channelIdURI, const QString& channelId, PluginInterface* plugin);
52  ChannelRegistrations *getTxChannelRegistrations();
53 
54  // Sample Source stuff
55  void registerSampleSource(const QString& sourceName, PluginInterface* plugin);
56 
57  // Sample Sink stuff
58  void registerSampleSink(const QString& sinkName, PluginInterface* plugin);
59 
60  // Sample MIMO stuff
61  void registerSampleMIMO(const QString& sinkName, PluginInterface* plugin);
62 
63 protected:
65 
66  PluginAPI(PluginManager* pluginManager);
67  ~PluginAPI();
68 
69  friend class PluginManager;
70 };
71 
72 #endif // INCLUDE_PLUGINAPI_H
QList< ChannelRegistration > ChannelRegistrations
Definition: pluginapi.h:44
PluginInterface * m_plugin
Definition: pluginapi.h:36
ChannelRegistration(const QString &channelIdURI, const QString &channelId, PluginInterface *plugin)
Definition: pluginapi.h:37
QList< SamplingDeviceRegistration > SamplingDeviceRegistrations
Definition: pluginapi.h:30
QString m_channelId
Channel type ID in short form from object name.
Definition: pluginapi.h:35
< This is the device registration
Definition: pluginapi.h:20
QString m_channelIdURI
Channel type ID in URI form.
Definition: pluginapi.h:34
SamplingDeviceRegistration(const QString &deviceId, PluginInterface *plugin)
Definition: pluginapi.h:24
PluginManager * m_pluginManager
Definition: pluginapi.h:64
#define SDRBASE_API
Definition: export.h:40