19 #ifndef SDRBASE_DSP_DEVICESAMPLEMIMO_H_ 20 #define SDRBASE_DSP_DEVICESAMPLEMIMO_H_ 32 class SWGDeviceSettings;
34 class SWGDeviceReport;
48 virtual void destroy() = 0;
50 virtual void init() = 0;
51 virtual bool start() = 0;
52 virtual void stop() = 0;
54 virtual QByteArray serialize()
const = 0;
55 virtual bool deserialize(
const QByteArray& data) = 0;
57 virtual const QString& getDeviceDescription()
const = 0;
59 virtual int getSinkSampleRate(
int index)
const = 0;
60 virtual void setSinkSampleRate(
int sampleRate,
int index) = 0;
61 virtual quint64 getSinkCenterFrequency(
int index)
const = 0;
62 virtual void setSinkCenterFrequency(qint64 centerFrequency,
int index) = 0;
64 virtual int getSourceSampleRate(
int index)
const = 0;
65 virtual void setSourceSampleRate(
int sampleRate,
int index) = 0;
66 virtual quint64 getSourceCenterFrequency(
int index)
const = 0;
67 virtual void setSourceCenterFrequency(qint64 centerFrequency,
int index) = 0;
69 virtual bool handleMessage(
const Message& message) = 0;
73 QString& errorMessage)
76 errorMessage =
"Not implemented";
82 const QStringList& deviceSettingsKeys,
84 QString& errorMessage)
87 (void) deviceSettingsKeys;
89 errorMessage =
"Not implemented";
95 QString& errorMessage)
98 errorMessage =
"Not implemented";
104 QString& errorMessage)
108 errorMessage =
"Not implemented";
114 QString& errorMessage)
117 errorMessage =
"Not implemented";
122 virtual void setMessageQueueToGUI(
MessageQueue *queue) = 0;
136 void handleInputMessages();
145 #endif // SDRBASE_DSP_DEVICESAMPLEMIMO_H_
unsigned int getNbSourceFifos() const
Get the number of Tx FIFOs.
virtual int webapiSettingsPutPatch(bool force, const QStringList &deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings &response, QString &errorMessage)
MessageQueue * getInputMessageQueue()
virtual int webapiRunGet(SWGSDRangel::SWGDeviceState &response, QString &errorMessage)
unsigned int getNbSourceStreams() const
Commodity function same as getNbSinkFifos (Rx or source streams)
virtual int webapiSettingsGet(SWGSDRangel::SWGDeviceSettings &response, QString &errorMessage)
virtual int webapiReportGet(SWGSDRangel::SWGDeviceReport &response, QString &errorMessage)
std::vector< SampleSinkFifo > m_sampleSinkFifos
Rx FIFOs.
std::vector< SampleSourceFifo > m_sampleSourceFifos
Tx FIFOs.
unsigned int getNbSinkStreams() const
Commodity function same as getNbSourceFifos (Tx or sink streams)
unsigned int getNbSinkFifos() const
Get the number of Rx FIFOs.
MessageQueue * getMessageQueueToGUI()
MessageQueue * m_guiMessageQueue
Input message queue to the GUI.
MessageQueue m_inputMessageQueue
Input queue to the sink.
virtual int webapiRun(bool run, SWGSDRangel::SWGDeviceState &response, QString &errorMessage)