1
0
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:
f4exb
2016-05-16 01:12:37 +02:00
parent a26174eb8b
commit be918a217b
40 changed files with 120 additions and 69 deletions
+4 -2
View File
@@ -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);
}
+3 -1
View File
@@ -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;
+2 -2
View File
@@ -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;
}
+1 -1
View File
@@ -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;