mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-07-25 19:44:12 -04:00
Separate construction/destruction for the source input plugin core and the GUI
This commit is contained in:
@@ -38,8 +38,7 @@ AirspyGui::AirspyGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_sampleSource(0),
|
||||
m_lastEngineState((DSPDeviceSourceEngine::State)-1)
|
||||
{
|
||||
m_sampleSource = new AirspyInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (AirspyInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
@@ -59,7 +58,6 @@ AirspyGui::AirspyGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
|
||||
AirspyGui::~AirspyGui()
|
||||
{
|
||||
delete m_sampleSource; // Valgrind memcheck
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ class AirspyGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit AirspyGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~AirspyGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -37,8 +37,7 @@ BladerfInputGui::BladerfInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_sampleRate(0),
|
||||
m_lastEngineState((DSPDeviceSourceEngine::State)-1)
|
||||
{
|
||||
m_sampleSource = new BladerfInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (BladerfInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
@@ -65,7 +64,6 @@ BladerfInputGui::BladerfInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
|
||||
BladerfInputGui::~BladerfInputGui()
|
||||
{
|
||||
delete m_sampleSource; // Valgrind memcheck
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class BladerfInputGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit BladerfInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~BladerfInputGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -34,8 +34,7 @@ FCDProGui::FCDProGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_sampleSource(NULL),
|
||||
m_lastEngineState((DSPDeviceSourceEngine::State)-1)
|
||||
{
|
||||
m_sampleSource = new FCDProInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (FCDProInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
|
||||
@@ -36,7 +36,7 @@ class FCDProGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit FCDProGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~FCDProGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -35,8 +35,7 @@ FCDProPlusGui::FCDProPlusGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_sampleSource(NULL),
|
||||
m_lastEngineState((DSPDeviceSourceEngine::State)-1)
|
||||
{
|
||||
m_sampleSource = new FCDProPlusInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (FCDProPlusInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class FCDProPlusGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit FCDProPlusGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~FCDProPlusGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -66,9 +66,8 @@ FileSourceGui::FileSourceGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
ui->playLoop->setChecked(true); // FIXME: always play in a loop
|
||||
ui->playLoop->setEnabled(false);
|
||||
|
||||
m_sampleSource = new FileSourceInput(m_deviceAPI);
|
||||
m_sampleSource = m_deviceAPI->getSampleSource();
|
||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
|
||||
connect(m_deviceAPI->getDeviceEngineOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ class FileSourceGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit FileSourceGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~FileSourceGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -40,8 +40,7 @@ HackRFInputGui::HackRFInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_sampleSource(NULL),
|
||||
m_lastEngineState((DSPDeviceSourceEngine::State)-1)
|
||||
{
|
||||
m_sampleSource = new HackRFInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (HackRFInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
@@ -64,7 +63,6 @@ HackRFInputGui::HackRFInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
|
||||
HackRFInputGui::~HackRFInputGui()
|
||||
{
|
||||
delete m_sampleSource; // Valgrind memcheck
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
|
||||
explicit HackRFInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~HackRFInputGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -40,9 +40,8 @@ LimeSDRInputGUI::LimeSDRInputGUI(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_statusCounter(0),
|
||||
m_deviceStatusCounter(0)
|
||||
{
|
||||
m_limeSDRInput = new LimeSDRInput(m_deviceAPI);
|
||||
m_sampleSource = (DeviceSampleSource *) m_limeSDRInput;
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = m_deviceAPI->getSampleSource();
|
||||
m_limeSDRInput = (LimeSDRInput*) m_sampleSource;
|
||||
|
||||
ui->setupUi(this);
|
||||
|
||||
@@ -81,7 +80,6 @@ LimeSDRInputGUI::LimeSDRInputGUI(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
|
||||
LimeSDRInputGUI::~LimeSDRInputGUI()
|
||||
{
|
||||
delete m_sampleSource; // Valgrind memcheck
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class LimeSDRInputGUI : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit LimeSDRInputGUI(DeviceSourceAPI *deviceAPI, QWidget* parent = 0);
|
||||
virtual ~LimeSDRInputGUI();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -40,8 +40,7 @@ PlutoSDRInputGui::PlutoSDRInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent)
|
||||
m_doApplySettings(true),
|
||||
m_statusCounter(0)
|
||||
{
|
||||
m_sampleSource = new PlutoSDRInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (PlutoSDRInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
|
||||
@@ -36,8 +36,7 @@ RTLSDRGui::RTLSDRGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
m_sampleSource(0),
|
||||
m_lastEngineState((DSPDeviceSourceEngine::State)-1)
|
||||
{
|
||||
m_sampleSource = new RTLSDRInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (RTLSDRInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
@@ -61,7 +60,6 @@ RTLSDRGui::RTLSDRGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
RTLSDRGui::~RTLSDRGui()
|
||||
{
|
||||
delete ui;
|
||||
delete m_sampleSource;
|
||||
}
|
||||
|
||||
void RTLSDRGui::destroy()
|
||||
|
||||
@@ -36,7 +36,7 @@ class RTLSDRGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit RTLSDRGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~RTLSDRGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -102,9 +102,8 @@ SDRdaemonSourceGui::SDRdaemonSourceGui(DeviceSourceAPI *deviceAPI, QWidget* pare
|
||||
connect(&(deviceAPI->getMainWindow()->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
|
||||
connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
|
||||
|
||||
m_sampleSource = new SDRdaemonSourceInput(m_deviceAPI);
|
||||
m_sampleSource = (SDRdaemonSourceInput*) m_deviceAPI->getSampleSource();
|
||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
|
||||
displaySettings();
|
||||
|
||||
@@ -121,7 +120,6 @@ SDRdaemonSourceGui::SDRdaemonSourceGui(DeviceSourceAPI *deviceAPI, QWidget* pare
|
||||
|
||||
SDRdaemonSourceGui::~SDRdaemonSourceGui()
|
||||
{
|
||||
delete m_sampleSource;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ class SDRdaemonSourceGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit SDRdaemonSourceGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~SDRdaemonSourceGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
@@ -33,8 +33,7 @@ SDRPlayGui::SDRPlayGui(DeviceSourceAPI *deviceAPI, QWidget* parent) :
|
||||
ui(new Ui::SDRPlayGui),
|
||||
m_deviceAPI(deviceAPI)
|
||||
{
|
||||
m_sampleSource = new SDRPlayInput(m_deviceAPI);
|
||||
m_deviceAPI->setSampleSource(m_sampleSource);
|
||||
m_sampleSource = (SDRPlayInput*) m_deviceAPI->getSampleSource();
|
||||
|
||||
ui->setupUi(this);
|
||||
ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||
|
||||
@@ -38,7 +38,7 @@ class SDRPlayGui : public QWidget, public PluginInstanceUI {
|
||||
public:
|
||||
explicit SDRPlayGui(DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
|
||||
virtual ~SDRPlayGui();
|
||||
void destroy();
|
||||
virtual void destroy();
|
||||
|
||||
void setName(const QString& name);
|
||||
QString getName() const;
|
||||
|
||||
Reference in New Issue
Block a user