1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-09-03 13:47:50 -04:00

Plugin interface: simplify createTxChannel

This commit is contained in:
f4exb 2017-12-23 10:16:27 +01:00
parent 703aa21159
commit 0f7faff299
15 changed files with 21 additions and 61 deletions

View File

@ -61,15 +61,9 @@ PluginInstanceGUI* AMModPlugin::createTxChannelGUI(const QString& channelName, D
} }
} }
BasebandSampleSource* AMModPlugin::createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI) BasebandSampleSource* AMModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
{ {
if(channelName == AMMod::m_channelIdURI) return new AMMod(deviceAPI);
{
AMMod* source = new AMMod(deviceAPI);
return source;
} else {
return 0;
}
} }
ChannelSourceAPI* AMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* AMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)

View File

@ -35,7 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI);
private: private:

View File

@ -61,15 +61,9 @@ PluginInstanceGUI* ATVModPlugin::createTxChannelGUI(const QString& channelName,
} }
} }
BasebandSampleSource* ATVModPlugin::createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI) BasebandSampleSource* ATVModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
{ {
if(channelName == ATVMod::m_channelIdURI) return new ATVMod(deviceAPI);
{
ATVMod* source = new ATVMod(deviceAPI);
return source;
} else {
return 0;
}
} }
ChannelSourceAPI* ATVModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* ATVModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)

View File

@ -35,7 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI);
private: private:

View File

@ -70,15 +70,9 @@ PluginInstanceGUI* NFMModPlugin::createTxChannelGUI(const QString& channelName,
} }
#endif #endif
BasebandSampleSource* NFMModPlugin::createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI) BasebandSampleSource* NFMModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
{ {
if(channelName == NFMMod::m_channelIdURI) return new NFMMod(deviceAPI);
{
NFMMod* source = new NFMMod(deviceAPI);
return source;
} else {
return 0;
}
} }
ChannelSourceAPI* NFMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* NFMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)

View File

@ -35,7 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel); virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel);
virtual BasebandSampleSource* createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI);
private: private:

View File

@ -61,15 +61,9 @@ PluginInstanceGUI* SSBModPlugin::createTxChannelGUI(const QString& channelName,
} }
} }
BasebandSampleSource* SSBModPlugin::createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI) BasebandSampleSource* SSBModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
{ {
if(channelName == SSBMod::m_channelIdURI) return new SSBMod(deviceAPI);
{
SSBMod* source = new SSBMod(deviceAPI);
return source;
} else {
return 0;
}
} }
ChannelSourceAPI* SSBModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* SSBModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)

View File

@ -35,7 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI);
private: private:

View File

@ -61,15 +61,9 @@ PluginInstanceGUI* WFMModPlugin::createTxChannelGUI(const QString& channelName,
} }
} }
BasebandSampleSource* WFMModPlugin::createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI) BasebandSampleSource* WFMModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
{ {
if(channelName == WFMMod::m_channelIdURI) return new WFMMod(deviceAPI);
{
WFMMod* source = new WFMMod(deviceAPI);
return source;
} else {
return 0;
}
} }
ChannelSourceAPI* WFMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* WFMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)

View File

@ -34,7 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI);
private: private:

View File

@ -63,15 +63,9 @@ PluginInstanceGUI* UDPSinkPlugin::createTxChannelGUI(const QString& channelName,
} }
} }
BasebandSampleSource* UDPSinkPlugin::createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI) BasebandSampleSource* UDPSinkPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI)
{ {
if(channelName == UDPSink::m_channelIdURI) return new UDPSink(deviceAPI);
{
UDPSink* source = new UDPSink(deviceAPI);
return source;
} else {
return 0;
}
} }
ChannelSourceAPI* UDPSinkPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* UDPSinkPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI)

View File

@ -36,7 +36,7 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(const QString& channelName, DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI);
private: private:

View File

@ -101,7 +101,6 @@ public:
{ return 0; } { return 0; }
virtual BasebandSampleSource* createTxChannelBS( virtual BasebandSampleSource* createTxChannelBS(
const QString& channelName __attribute__((unused)),
DeviceSinkAPI *deviceAPI __attribute__((unused)) ) DeviceSinkAPI *deviceAPI __attribute__((unused)) )
{ return 0; } { return 0; }

View File

@ -193,8 +193,7 @@ void PluginManager::createTxChannelInstance(int channelPluginIndex, DeviceUISet
if (channelPluginIndex < m_txChannelRegistrations.size()) if (channelPluginIndex < m_txChannelRegistrations.size())
{ {
PluginInterface *pluginInterface = m_txChannelRegistrations[channelPluginIndex].m_plugin; PluginInterface *pluginInterface = m_txChannelRegistrations[channelPluginIndex].m_plugin;
BasebandSampleSource *txChannel = pluginInterface->createTxChannelBS( BasebandSampleSource *txChannel = pluginInterface->createTxChannelBS(deviceAPI);
m_txChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceAPI);
pluginInterface->createTxChannelGUI(m_txChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceUISet, txChannel); pluginInterface->createTxChannelGUI(m_txChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceUISet, txChannel);
} }
} }

View File

@ -274,12 +274,10 @@ void DeviceUISet::loadTxChannelSettings(const Preset *preset, PluginAPI *pluginA
if((*channelRegistrations)[i].m_channelIdURI == channelConfig.m_channelIdURI) if((*channelRegistrations)[i].m_channelIdURI == channelConfig.m_channelIdURI)
{ {
qDebug("DeviceUISet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channelIdURI)); qDebug("DeviceUISet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channelIdURI));
BasebandSampleSource *txChannel = (*channelRegistrations)[i].m_plugin->createTxChannelBS( BasebandSampleSource *txChannel = (*channelRegistrations)[i].m_plugin->createTxChannelBS(m_deviceSinkAPI);
channelConfig.m_channelIdURI, m_deviceSinkAPI);
PluginInstanceGUI *txChannelGUI = (*channelRegistrations)[i].m_plugin->createTxChannelGUI( PluginInstanceGUI *txChannelGUI = (*channelRegistrations)[i].m_plugin->createTxChannelGUI(
channelConfig.m_channelIdURI, this, txChannel); channelConfig.m_channelIdURI, this, txChannel);
reg = ChannelInstanceRegistration( reg = ChannelInstanceRegistration(channelConfig.m_channelIdURI, txChannelGUI);
channelConfig.m_channelIdURI, txChannelGUI);
break; break;
} }
} }