mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-01 21:54:55 -04:00
Multi device support: migrate device specific stuff outside plugin classes
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include <libhackrf/hackrf.h>
|
||||
|
||||
#include "plugin/pluginapi.h"
|
||||
#include "device/deviceapi.h"
|
||||
#include "gui/colormapper.h"
|
||||
#include "gui/glspectrum.h"
|
||||
#include "dsp/dspengine.h"
|
||||
@@ -28,10 +29,11 @@
|
||||
#include "hackrfgui.h"
|
||||
#include "ui_hackrfgui.h"
|
||||
|
||||
HackRFGui::HackRFGui(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
HackRFGui::HackRFGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::HackRFGui),
|
||||
m_pluginAPI(pluginAPI),
|
||||
m_deviceAPI(deviceAPI),
|
||||
m_settings(),
|
||||
m_sampleSource(NULL),
|
||||
m_lastEngineState((DSPDeviceEngine::State)-1)
|
||||
@@ -56,7 +58,7 @@ HackRFGui::HackRFGui(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
char recFileNameCStr[30];
|
||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||
m_pluginAPI->addSink(m_fileSink);
|
||||
m_deviceAPI->addSink(m_fileSink);
|
||||
|
||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#define HACKRF_MAX_DEVICE (32)
|
||||
|
||||
class PluginAPI;
|
||||
class DeviceAPI;
|
||||
class FileSink;
|
||||
|
||||
namespace Ui {
|
||||
@@ -43,7 +44,7 @@ public:
|
||||
HACKRF_IMGREJ_NB
|
||||
} HackRFImgRejValue;
|
||||
|
||||
explicit HackRFGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
|
||||
explicit HackRFGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~HackRFGui();
|
||||
void destroy();
|
||||
|
||||
@@ -61,6 +62,7 @@ private:
|
||||
Ui::HackRFGui* ui;
|
||||
|
||||
PluginAPI* m_pluginAPI;
|
||||
DeviceAPI* m_deviceAPI;
|
||||
HackRFSettings m_settings;
|
||||
QTimer m_updateTimer;
|
||||
QTimer m_statusTimer;
|
||||
|
||||
@@ -112,7 +112,7 @@ PluginInterface::SampleSourceDevices HackRFPlugin::enumSampleSources()
|
||||
return result;
|
||||
}
|
||||
|
||||
PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
|
||||
PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
|
||||
{
|
||||
if (!m_pluginAPI)
|
||||
{
|
||||
@@ -121,7 +121,7 @@ PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, co
|
||||
|
||||
if(sourceId == m_deviceTypeID)
|
||||
{
|
||||
HackRFGui* gui = new HackRFGui(m_pluginAPI);
|
||||
HackRFGui* gui = new HackRFGui(m_pluginAPI, deviceAPI);
|
||||
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
|
||||
return gui;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
void initPlugin(PluginAPI* pluginAPI);
|
||||
|
||||
virtual SampleSourceDevices enumSampleSources();
|
||||
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
|
||||
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
|
||||
|
||||
static const QString m_deviceTypeID;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user