1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-07 08:24:43 -04:00

Multi device support: pass plugin API to devices input handlers to give access to DSP device engine methods

This commit is contained in:
f4exb
2016-05-12 23:35:30 +02:00
parent 7b0e6fd42e
commit 7707858d57
25 changed files with 62 additions and 45 deletions
@@ -88,7 +88,7 @@ SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, QWidget* parent) :
m_statusTimer.start(500);
connect(&(m_pluginAPI->getMainWindow()->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
m_sampleSource = new SDRdaemonInput(m_pluginAPI->getMainWindow()->getMasterTimer());
m_sampleSource = new SDRdaemonInput(m_pluginAPI->getMainWindow()->getMasterTimer(), m_pluginAPI);
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
DSPEngine::instance()->setSource(m_sampleSource);
@@ -18,6 +18,7 @@
#include <errno.h>
#include <QDebug>
#include "plugin/pluginapi.h"
#include "util/simpleserializer.h"
#include "dsp/dspcommands.h"
#include "dsp/dspengine.h"
@@ -37,7 +38,8 @@ MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonAcquisition, Message)
MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamData, Message)
MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamTiming, Message)
SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer) :
SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer, PluginAPI *pluginAPI) :
m_pluginAPI(pluginAPI),
m_address("127.0.0.1"),
m_port(9090),
m_SDRdaemonUDPHandler(0),
@@ -24,6 +24,7 @@
#include <iostream>
#include <stdint.h>
class PluginAPI;
class SDRdaemonUDPHandler;
class SDRdaemonInput : public SampleSource {
@@ -273,7 +274,7 @@ public:
{ }
};
SDRdaemonInput(const QTimer& masterTimer);
SDRdaemonInput(const QTimer& masterTimer, PluginAPI *pluginAPI);
virtual ~SDRdaemonInput();
virtual bool init(const Message& message);
@@ -289,6 +290,7 @@ public:
virtual bool handleMessage(const Message& message);
private:
PluginAPI *m_pluginAPI;
QMutex m_mutex;
QString m_address;
quint16 m_port;