diff --git a/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp b/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp index a7bcda72b..0a4eca655 100644 --- a/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp +++ b/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp @@ -56,11 +56,7 @@ BasebandSampleSink* ChannelAnalyzerPlugin::createRxChannel(const QString& channe } } -void ChannelAnalyzerPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* ChannelAnalyzerPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == ChannelAnalyzer::m_channelIdURI) { - *channelSinkAPI = new ChannelAnalyzer(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new ChannelAnalyzer(deviceAPI); } diff --git a/plugins/channelrx/chanalyzer/chanalyzerplugin.h b/plugins/channelrx/chanalyzer/chanalyzerplugin.h index 885bb7c39..1dee36035 100644 --- a/plugins/channelrx/chanalyzer/chanalyzerplugin.h +++ b/plugins/channelrx/chanalyzer/chanalyzerplugin.h @@ -19,9 +19,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp index c5c106e69..e01807ffc 100644 --- a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp +++ b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp @@ -71,12 +71,8 @@ BasebandSampleSink* ChannelAnalyzerNGPlugin::createRxChannel(const QString& chan } } -void ChannelAnalyzerNGPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* ChannelAnalyzerNGPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == ChannelAnalyzerNG::m_channelIdURI) { - *channelSinkAPI = new ChannelAnalyzerNG(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new ChannelAnalyzerNG(deviceAPI); } diff --git a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h index fc9ca19d3..f5e6daae9 100644 --- a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h +++ b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h @@ -35,9 +35,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demodam/amdemodplugin.cpp b/plugins/channelrx/demodam/amdemodplugin.cpp index ce06d8a9a..540ee995e 100644 --- a/plugins/channelrx/demodam/amdemodplugin.cpp +++ b/plugins/channelrx/demodam/amdemodplugin.cpp @@ -56,12 +56,8 @@ BasebandSampleSink* AMDemodPlugin::createRxChannel(const QString& channelName, D } } -void AMDemodPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* AMDemodPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == AMDemod::m_channelIdURI) { - *channelSinkAPI = new AMDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new AMDemod(deviceAPI); } diff --git a/plugins/channelrx/demodam/amdemodplugin.h b/plugins/channelrx/demodam/amdemodplugin.h index bfe9b8144..1af76b331 100644 --- a/plugins/channelrx/demodam/amdemodplugin.h +++ b/plugins/channelrx/demodam/amdemodplugin.h @@ -34,9 +34,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demodatv/atvdemodplugin.cpp b/plugins/channelrx/demodatv/atvdemodplugin.cpp index ea844e538..cdfcc3b7a 100644 --- a/plugins/channelrx/demodatv/atvdemodplugin.cpp +++ b/plugins/channelrx/demodatv/atvdemodplugin.cpp @@ -78,12 +78,8 @@ BasebandSampleSink* ATVDemodPlugin::createRxChannel(const QString& channelName, } } -void ATVDemodPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* ATVDemodPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == ATVDemod::m_channelIdURI) { - *channelSinkAPI = new ATVDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new ATVDemod(deviceAPI); } diff --git a/plugins/channelrx/demodatv/atvdemodplugin.h b/plugins/channelrx/demodatv/atvdemodplugin.h index 78c38b516..f7ad3dbe1 100644 --- a/plugins/channelrx/demodatv/atvdemodplugin.h +++ b/plugins/channelrx/demodatv/atvdemodplugin.h @@ -36,9 +36,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* ptrPluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& strChannelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& strChannelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_ptrPluginDescriptor; diff --git a/plugins/channelrx/demodbfm/bfmplugin.cpp b/plugins/channelrx/demodbfm/bfmplugin.cpp index 5001d6902..dd1ab203e 100644 --- a/plugins/channelrx/demodbfm/bfmplugin.cpp +++ b/plugins/channelrx/demodbfm/bfmplugin.cpp @@ -74,12 +74,8 @@ BasebandSampleSink* BFMPlugin::createRxChannel(const QString& channelName, Devic } } -void BFMPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* BFMPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == BFMDemod::m_channelIdURI) { - *channelSinkAPI = new BFMDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new BFMDemod(deviceAPI); } diff --git a/plugins/channelrx/demodbfm/bfmplugin.h b/plugins/channelrx/demodbfm/bfmplugin.h index fda214bad..d0bff22c2 100644 --- a/plugins/channelrx/demodbfm/bfmplugin.h +++ b/plugins/channelrx/demodbfm/bfmplugin.h @@ -34,9 +34,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.cpp b/plugins/channelrx/demoddsd/dsddemodplugin.cpp index 478dd1f95..15f240eab 100644 --- a/plugins/channelrx/demoddsd/dsddemodplugin.cpp +++ b/plugins/channelrx/demoddsd/dsddemodplugin.cpp @@ -73,12 +73,8 @@ BasebandSampleSink* DSDDemodPlugin::createRxChannel(const QString& channelName, } } -void DSDDemodPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* DSDDemodPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == DSDDemod::m_channelIdURI) { - *channelSinkAPI = new DSDDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new DSDDemod(deviceAPI); } diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.h b/plugins/channelrx/demoddsd/dsddemodplugin.h index 62a4ba58a..e9a66448f 100644 --- a/plugins/channelrx/demoddsd/dsddemodplugin.h +++ b/plugins/channelrx/demoddsd/dsddemodplugin.h @@ -35,9 +35,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demodlora/loraplugin.cpp b/plugins/channelrx/demodlora/loraplugin.cpp index 98e14b5f4..f8fb8ad92 100644 --- a/plugins/channelrx/demodlora/loraplugin.cpp +++ b/plugins/channelrx/demodlora/loraplugin.cpp @@ -55,12 +55,8 @@ BasebandSampleSink* LoRaPlugin::createRxChannel(const QString& channelName, Devi } } -void LoRaPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* LoRaPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == LoRaDemod::m_channelIdURI) { - *channelSinkAPI = new LoRaDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new LoRaDemod(deviceAPI); } diff --git a/plugins/channelrx/demodlora/loraplugin.h b/plugins/channelrx/demodlora/loraplugin.h index 6cc5ac048..a63830aa1 100644 --- a/plugins/channelrx/demodlora/loraplugin.h +++ b/plugins/channelrx/demodlora/loraplugin.h @@ -18,9 +18,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demodnfm/nfmplugin.cpp b/plugins/channelrx/demodnfm/nfmplugin.cpp index 22642c3d9..1d3610f89 100644 --- a/plugins/channelrx/demodnfm/nfmplugin.cpp +++ b/plugins/channelrx/demodnfm/nfmplugin.cpp @@ -64,12 +64,8 @@ BasebandSampleSink* NFMPlugin::createRxChannel(const QString& channelName, Devic } } -void NFMPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* NFMPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == NFMDemod::m_channelIdURI) { - *channelSinkAPI = new NFMDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new NFMDemod(deviceAPI); } diff --git a/plugins/channelrx/demodnfm/nfmplugin.h b/plugins/channelrx/demodnfm/nfmplugin.h index 3a03a169e..3747f3222 100644 --- a/plugins/channelrx/demodnfm/nfmplugin.h +++ b/plugins/channelrx/demodnfm/nfmplugin.h @@ -18,9 +18,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demodssb/ssbplugin.cpp b/plugins/channelrx/demodssb/ssbplugin.cpp index 4926bca56..c76aeff39 100644 --- a/plugins/channelrx/demodssb/ssbplugin.cpp +++ b/plugins/channelrx/demodssb/ssbplugin.cpp @@ -56,12 +56,8 @@ BasebandSampleSink* SSBPlugin::createRxChannel(const QString& channelName, Devic } } -void SSBPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* SSBPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == SSBDemod::m_channelIdURI) { - *channelSinkAPI = new SSBDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new SSBDemod(deviceAPI); } diff --git a/plugins/channelrx/demodssb/ssbplugin.h b/plugins/channelrx/demodssb/ssbplugin.h index 3f2164060..c6df3c17f 100644 --- a/plugins/channelrx/demodssb/ssbplugin.h +++ b/plugins/channelrx/demodssb/ssbplugin.h @@ -18,9 +18,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/demodwfm/wfmplugin.cpp b/plugins/channelrx/demodwfm/wfmplugin.cpp index 40c60139a..3f6715935 100644 --- a/plugins/channelrx/demodwfm/wfmplugin.cpp +++ b/plugins/channelrx/demodwfm/wfmplugin.cpp @@ -56,12 +56,8 @@ BasebandSampleSink* WFMPlugin::createRxChannel(const QString& channelName, Devic } } -void WFMPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* WFMPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == WFMDemod::m_channelIdURI) { - *channelSinkAPI = new WFMDemod(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new WFMDemod(deviceAPI); } diff --git a/plugins/channelrx/demodwfm/wfmplugin.h b/plugins/channelrx/demodwfm/wfmplugin.h index b4faa04c7..6e98d2380 100644 --- a/plugins/channelrx/demodwfm/wfmplugin.h +++ b/plugins/channelrx/demodwfm/wfmplugin.h @@ -18,9 +18,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp b/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp index ef69adc8e..44ea03e52 100644 --- a/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp +++ b/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp @@ -58,12 +58,8 @@ BasebandSampleSink* TCPSrcPlugin::createRxChannel(const QString& channelName, De } } -void TCPSrcPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* TCPSrcPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == TCPSrc::m_channelIdURI) { - *channelSinkAPI = new TCPSrc(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new TCPSrc(deviceAPI); } diff --git a/plugins/channelrx/tcpsrc/tcpsrcplugin.h b/plugins/channelrx/tcpsrc/tcpsrcplugin.h index 236bc9efe..a71ce6f57 100644 --- a/plugins/channelrx/tcpsrc/tcpsrcplugin.h +++ b/plugins/channelrx/tcpsrc/tcpsrcplugin.h @@ -18,9 +18,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channelrx/udpsrc/udpsrcplugin.cpp b/plugins/channelrx/udpsrc/udpsrcplugin.cpp index 007462cc6..7f5cf8dc2 100644 --- a/plugins/channelrx/udpsrc/udpsrcplugin.cpp +++ b/plugins/channelrx/udpsrc/udpsrcplugin.cpp @@ -75,12 +75,8 @@ BasebandSampleSink* UDPSrcPlugin::createRxChannel(const QString& channelName, De } } -void UDPSrcPlugin::createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI) +ChannelSinkAPI* UDPSrcPlugin::createRxChannel(DeviceSourceAPI *deviceAPI) { - if(channelName == UDPSrc::m_channelIdURI) { - *channelSinkAPI = new UDPSrc(deviceAPI); - } else { - *channelSinkAPI = 0; - } + return new UDPSrc(deviceAPI); } diff --git a/plugins/channelrx/udpsrc/udpsrcplugin.h b/plugins/channelrx/udpsrc/udpsrcplugin.h index 3d58f2b82..bd6515e64 100644 --- a/plugins/channelrx/udpsrc/udpsrcplugin.h +++ b/plugins/channelrx/udpsrc/udpsrcplugin.h @@ -35,9 +35,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); - BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); - void createRxChannel(ChannelSinkAPI **channelSinkAPI, const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); + virtual BasebandSampleSink* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); + virtual ChannelSinkAPI* createRxChannel(DeviceSourceAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channeltx/modam/ammodplugin.cpp b/plugins/channeltx/modam/ammodplugin.cpp index d8de54d5b..304bebd04 100644 --- a/plugins/channeltx/modam/ammodplugin.cpp +++ b/plugins/channeltx/modam/ammodplugin.cpp @@ -72,12 +72,8 @@ BasebandSampleSource* AMModPlugin::createTxChannel(const QString& channelName, D } } -void AMModPlugin::createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI) +ChannelSourceAPI* AMModPlugin::createTxChannel(DeviceSinkAPI *deviceAPI) { - if(channelName == AMMod::m_channelIdURI) { - *channelSourceAPI = new AMMod(deviceAPI); - } else { - *channelSourceAPI = 0; - } + return new AMMod(deviceAPI); } diff --git a/plugins/channeltx/modam/ammodplugin.h b/plugins/channeltx/modam/ammodplugin.h index bfbfeb569..e8b9fc4fa 100644 --- a/plugins/channeltx/modam/ammodplugin.h +++ b/plugins/channeltx/modam/ammodplugin.h @@ -34,9 +34,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); - BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); - void createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); + virtual BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual ChannelSourceAPI* createTxChannel(DeviceSinkAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channeltx/modatv/atvmodplugin.cpp b/plugins/channeltx/modatv/atvmodplugin.cpp index e4b9dbc9d..0f5eea756 100644 --- a/plugins/channeltx/modatv/atvmodplugin.cpp +++ b/plugins/channeltx/modatv/atvmodplugin.cpp @@ -72,13 +72,9 @@ BasebandSampleSource* ATVModPlugin::createTxChannel(const QString& channelName, } } -void ATVModPlugin::createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI) +ChannelSourceAPI* ATVModPlugin::createTxChannel(DeviceSinkAPI *deviceAPI) { - if(channelName == ATVMod::m_channelIdURI) { - *channelSourceAPI = new ATVMod(deviceAPI); - } else { - *channelSourceAPI = 0; - } + return new ATVMod(deviceAPI); } diff --git a/plugins/channeltx/modatv/atvmodplugin.h b/plugins/channeltx/modatv/atvmodplugin.h index 1afbabd90..aae2d0d44 100644 --- a/plugins/channeltx/modatv/atvmodplugin.h +++ b/plugins/channeltx/modatv/atvmodplugin.h @@ -34,9 +34,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); - BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); - void createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); + virtual BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual ChannelSourceAPI* createTxChannel(DeviceSinkAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channeltx/modnfm/nfmmodplugin.cpp b/plugins/channeltx/modnfm/nfmmodplugin.cpp index 6191c2168..fd701ace8 100644 --- a/plugins/channeltx/modnfm/nfmmodplugin.cpp +++ b/plugins/channeltx/modnfm/nfmmodplugin.cpp @@ -81,13 +81,9 @@ BasebandSampleSource* NFMModPlugin::createTxChannel(const QString& channelName, } } -void NFMModPlugin::createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI) +ChannelSourceAPI* NFMModPlugin::createTxChannel(DeviceSinkAPI *deviceAPI) { - if(channelName == NFMMod::m_channelIdURI) { - *channelSourceAPI = new NFMMod(deviceAPI); - } else { - *channelSourceAPI = 0; - } + return new NFMMod(deviceAPI); } diff --git a/plugins/channeltx/modnfm/nfmmodplugin.h b/plugins/channeltx/modnfm/nfmmodplugin.h index 31069654f..7ae032449 100644 --- a/plugins/channeltx/modnfm/nfmmodplugin.h +++ b/plugins/channeltx/modnfm/nfmmodplugin.h @@ -34,9 +34,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel); - BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); - void createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel); + virtual BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual ChannelSourceAPI* createTxChannel(DeviceSinkAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channeltx/modssb/ssbmodplugin.cpp b/plugins/channeltx/modssb/ssbmodplugin.cpp index 1a01760c0..1407dc29d 100644 --- a/plugins/channeltx/modssb/ssbmodplugin.cpp +++ b/plugins/channeltx/modssb/ssbmodplugin.cpp @@ -72,13 +72,9 @@ BasebandSampleSource* SSBModPlugin::createTxChannel(const QString& channelName, } } -void SSBModPlugin::createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI) +ChannelSourceAPI* SSBModPlugin::createTxChannel(DeviceSinkAPI *deviceAPI) { - if(channelName == SSBMod::m_channelIdURI) { - *channelSourceAPI = new SSBMod(deviceAPI); - } else { - *channelSourceAPI = 0; - } + return new SSBMod(deviceAPI); } diff --git a/plugins/channeltx/modssb/ssbmodplugin.h b/plugins/channeltx/modssb/ssbmodplugin.h index 7f6954427..a7dc018e9 100644 --- a/plugins/channeltx/modssb/ssbmodplugin.h +++ b/plugins/channeltx/modssb/ssbmodplugin.h @@ -34,9 +34,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); - BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); - void createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); + virtual BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual ChannelSourceAPI* createTxChannel(DeviceSinkAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channeltx/modwfm/wfmmodplugin.cpp b/plugins/channeltx/modwfm/wfmmodplugin.cpp index 8a9acae54..8ecb00cea 100644 --- a/plugins/channeltx/modwfm/wfmmodplugin.cpp +++ b/plugins/channeltx/modwfm/wfmmodplugin.cpp @@ -72,13 +72,9 @@ BasebandSampleSource* WFMModPlugin::createTxChannel(const QString& channelName, } } -void WFMModPlugin::createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI) +ChannelSourceAPI* WFMModPlugin::createTxChannel(DeviceSinkAPI *deviceAPI) { - if(channelName == WFMMod::m_channelIdURI) { - *channelSourceAPI = new WFMMod(deviceAPI); - } else { - *channelSourceAPI = 0; - } + return new WFMMod(deviceAPI); } diff --git a/plugins/channeltx/modwfm/wfmmodplugin.h b/plugins/channeltx/modwfm/wfmmodplugin.h index 78376f0e6..24eca2a93 100644 --- a/plugins/channeltx/modwfm/wfmmodplugin.h +++ b/plugins/channeltx/modwfm/wfmmodplugin.h @@ -33,9 +33,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); - BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); - void createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); + virtual BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual ChannelSourceAPI* createTxChannel(DeviceSinkAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/plugins/channeltx/udpsink/udpsinkplugin.cpp b/plugins/channeltx/udpsink/udpsinkplugin.cpp index 395e51b65..fb5c9b019 100644 --- a/plugins/channeltx/udpsink/udpsinkplugin.cpp +++ b/plugins/channeltx/udpsink/udpsinkplugin.cpp @@ -74,13 +74,9 @@ BasebandSampleSource* UDPSinkPlugin::createTxChannel(const QString& channelName, } } -void UDPSinkPlugin::createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI) +ChannelSourceAPI* UDPSinkPlugin::createTxChannel(DeviceSinkAPI *deviceAPI) { - if(channelName == UDPSink::m_channelIdURI) { - *channelSourceAPI = new UDPSink(deviceAPI); - } else { - *channelSourceAPI = 0; - } + return new UDPSink(deviceAPI); } diff --git a/plugins/channeltx/udpsink/udpsinkplugin.h b/plugins/channeltx/udpsink/udpsinkplugin.h index 2246c3e8d..215b2b31f 100644 --- a/plugins/channeltx/udpsink/udpsinkplugin.h +++ b/plugins/channeltx/udpsink/udpsinkplugin.h @@ -35,9 +35,9 @@ public: const PluginDescriptor& getPluginDescriptor() const; void initPlugin(PluginAPI* pluginAPI); - PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); - BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); - void createTxChannel(ChannelSourceAPI **channelSourceAPI, const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); + virtual BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI); + virtual ChannelSourceAPI* createTxChannel(DeviceSinkAPI *deviceAPI); private: static const PluginDescriptor m_pluginDescriptor; diff --git a/sdrbase/plugin/plugininterface.h b/sdrbase/plugin/plugininterface.h index 6c6207327..cdec27afc 100644 --- a/sdrbase/plugin/plugininterface.h +++ b/sdrbase/plugin/plugininterface.h @@ -89,11 +89,9 @@ public: DeviceSourceAPI *deviceAPI __attribute__((unused)) ) { return 0; } - virtual void createRxChannel( - ChannelSinkAPI **channelSinkAPI, - const QString& channelName __attribute__((unused)), + virtual ChannelSinkAPI* createRxChannel( DeviceSourceAPI *deviceAPI __attribute__((unused)) ) - { *channelSinkAPI = 0; } + { return 0; } // channel Tx plugins @@ -108,11 +106,9 @@ public: DeviceSinkAPI *deviceAPI __attribute__((unused)) ) { return 0; } - virtual void createTxChannel( - ChannelSourceAPI **channelSourceAPI, - const QString& channelName __attribute__((unused)), - DeviceSourceAPI *deviceAPI __attribute__((unused)) ) - { *channelSourceAPI = 0; } + virtual ChannelSourceAPI* createTxChannel( + DeviceSinkAPI *deviceAPI __attribute__((unused)) ) + { return 0; } // device source plugins only diff --git a/sdrbase/plugin/pluginmanager.cpp b/sdrbase/plugin/pluginmanager.cpp index 37eff559b..dd719eab4 100644 --- a/sdrbase/plugin/pluginmanager.cpp +++ b/sdrbase/plugin/pluginmanager.cpp @@ -199,21 +199,3 @@ void PluginManager::createTxChannelInstance(int channelPluginIndex, DeviceUISet pluginInterface->createTxChannelGUI(m_txChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceUISet, txChannel); } } - -void PluginManager::createRxChannelServerInstance(int channelPluginIndex, DeviceSourceAPI *deviceAPI) -{ - if (channelPluginIndex < m_rxChannelRegistrations.size()) - { - PluginInterface *pluginInterface = m_rxChannelRegistrations[channelPluginIndex].m_plugin; - pluginInterface->createRxChannel(m_rxChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceAPI); - } -} - -void PluginManager::createTxChannelServerInstance(int channelPluginIndex, DeviceSinkAPI *deviceAPI) -{ - if (channelPluginIndex < m_txChannelRegistrations.size()) - { - PluginInterface *pluginInterface = m_txChannelRegistrations[channelPluginIndex].m_plugin; - pluginInterface->createTxChannel(m_txChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceAPI); - } -} diff --git a/sdrbase/plugin/pluginmanager.h b/sdrbase/plugin/pluginmanager.h index 0b587a427..442a21719 100644 --- a/sdrbase/plugin/pluginmanager.h +++ b/sdrbase/plugin/pluginmanager.h @@ -57,11 +57,9 @@ public: PluginAPI::ChannelRegistrations *getTxChannelRegistrations() { return &m_txChannelRegistrations; } void createRxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet, DeviceSourceAPI *deviceAPI); - void createRxChannelServerInstance(int channelPluginIndex, DeviceSourceAPI *deviceAPI); void listRxChannels(QList& list); void createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet, DeviceSinkAPI *deviceAPI); - void createTxChannelServerInstance(int channelPluginIndex, DeviceSinkAPI *deviceAPI); void listTxChannels(QList& list); static const QString& getFileSourceDeviceId() { return m_fileSourceDeviceTypeID; } diff --git a/sdrsrv/device/deviceset.cpp b/sdrsrv/device/deviceset.cpp index 015b30010..da9c53b61 100644 --- a/sdrsrv/device/deviceset.cpp +++ b/sdrsrv/device/deviceset.cpp @@ -99,6 +99,24 @@ void DeviceSet::freeTxChannels() } } +void DeviceSet::addRxChannel(int selectedChannelIndex, PluginAPI *pluginAPI) +{ + PluginAPI::ChannelRegistrations *channelRegistrations = pluginAPI->getRxChannelRegistrations(); // Available channel plugins + ChannelSinkAPI *rxChannel =(*channelRegistrations)[selectedChannelIndex].m_plugin->createRxChannel(m_deviceSourceAPI); + ChannelInstanceRegistration reg = ChannelInstanceRegistration(rxChannel->getName(), rxChannel); + m_rxChannelInstanceRegistrations.append(reg); + qDebug("DeviceSet::addRxChannel: %s", qPrintable(rxChannel->getName())); +} + +void DeviceSet::addTxChannel(int selectedChannelIndex, PluginAPI *pluginAPI) +{ + PluginAPI::ChannelRegistrations *channelRegistrations = pluginAPI->getTxChannelRegistrations(); // Available channel plugins + ChannelSourceAPI *txChannel = (*channelRegistrations)[selectedChannelIndex].m_plugin->createTxChannel(m_deviceSinkAPI); + ChannelInstanceRegistration reg = ChannelInstanceRegistration(txChannel->getName(), txChannel); + m_txChannelInstanceRegistrations.append(reg); + qDebug("DeviceSet::addTxChannel: %s", qPrintable(txChannel->getName())); +} + void DeviceSet::loadRxChannelSettings(const Preset *preset, PluginAPI *pluginAPI) { if (preset->isSourcePreset()) @@ -143,11 +161,8 @@ void DeviceSet::loadRxChannelSettings(const Preset *preset, PluginAPI *pluginAPI if((*channelRegistrations)[i].m_channelIdURI == channelConfig.m_channelIdURI) { qDebug("DeviceSet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channelIdURI)); - ChannelSinkAPI *rxChannel; - (*channelRegistrations)[i].m_plugin->createRxChannel( - &rxChannel, channelConfig.m_channelIdURI, m_deviceSourceAPI); - reg = ChannelInstanceRegistration( - channelConfig.m_channelIdURI, rxChannel); + ChannelSinkAPI *rxChannel = (*channelRegistrations)[i].m_plugin->createRxChannel(m_deviceSourceAPI); + reg = ChannelInstanceRegistration(channelConfig.m_channelIdURI, rxChannel); m_rxChannelInstanceRegistrations.append(reg); break; } @@ -242,11 +257,8 @@ void DeviceSet::loadTxChannelSettings(const Preset *preset, PluginAPI *pluginAPI if((*channelRegistrations)[i].m_channelIdURI == channelConfig.m_channelIdURI) { qDebug("DeviceSet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channelIdURI)); - ChannelSourceAPI *txChannel; - (*channelRegistrations)[i].m_plugin->createTxChannel( - &txChannel, channelConfig.m_channelIdURI, m_deviceSourceAPI); - reg = ChannelInstanceRegistration( - channelConfig.m_channelIdURI, txChannel); + ChannelSourceAPI *txChannel = (*channelRegistrations)[i].m_plugin->createTxChannel(m_deviceSinkAPI); + reg = ChannelInstanceRegistration(channelConfig.m_channelIdURI, txChannel); m_txChannelInstanceRegistrations.append(reg); break; } diff --git a/sdrsrv/device/deviceset.h b/sdrsrv/device/deviceset.h index d3a52072a..5cdaec0f9 100644 --- a/sdrsrv/device/deviceset.h +++ b/sdrsrv/device/deviceset.h @@ -38,6 +38,8 @@ struct DeviceSet DeviceSet(int tabIndex); ~DeviceSet(); + void addRxChannel(int selectedChannelIndex, PluginAPI *pluginAPI); + void addTxChannel(int selectedChannelIndex, PluginAPI *pluginAPI); void registerRxChannelInstance(const QString& channelName, ChannelSinkAPI* channelAPI); void registerTxChannelInstance(const QString& channelName, ChannelSourceAPI* channelAPI); void removeRxChannelInstance(ChannelSinkAPI* channelAPI); diff --git a/sdrsrv/maincore.cpp b/sdrsrv/maincore.cpp index 86a890b6a..c0f58ee64 100644 --- a/sdrsrv/maincore.cpp +++ b/sdrsrv/maincore.cpp @@ -476,11 +476,11 @@ void MainCore::addChannel(int deviceSetIndex, int selectedChannelIndex) if (deviceSet->m_deviceSourceEngine) // source device => Rx channels { - m_pluginManager->createRxChannelServerInstance(selectedChannelIndex, deviceSet->m_deviceSourceAPI); + deviceSet->addRxChannel(selectedChannelIndex, m_pluginManager->getPluginAPI()); } else if (deviceSet->m_deviceSinkEngine) // sink device => Tx channels { - m_pluginManager->createTxChannelServerInstance(selectedChannelIndex, deviceSet->m_deviceSinkAPI); + deviceSet->addTxChannel(selectedChannelIndex, m_pluginManager->getPluginAPI()); } } }