1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-04 06:54:39 -04:00

Sink plugins: put a serializer and deserializer in the core plugin for server

This commit is contained in:
f4exb
2017-12-28 04:04:50 +01:00
parent fa1e772383
commit 0dd36d4f3e
21 changed files with 386 additions and 25 deletions
@@ -194,6 +194,33 @@ void BladerfOutput::stop()
m_running = false;
}
QByteArray BladerfOutput::serialize() const
{
return m_settings.serialize();
}
bool BladerfOutput::deserialize(const QByteArray& data)
{
bool success = true;
if (!m_settings.deserialize(data))
{
m_settings.resetToDefaults();
success = false;
}
MsgConfigureBladerf* message = MsgConfigureBladerf::create(m_settings, true);
m_inputMessageQueue.push(message);
if (m_guiMessageQueue)
{
MsgConfigureBladerf* messageToGUI = MsgConfigureBladerf::create(m_settings, true);
m_guiMessageQueue->push(messageToGUI);
}
return success;
}
const QString& BladerfOutput::getDeviceDescription() const
{
return m_deviceDescription;
@@ -210,6 +237,21 @@ quint64 BladerfOutput::getCenterFrequency() const
return m_settings.m_centerFrequency;
}
void BladerfOutput::setCenterFrequency(qint64 centerFrequency)
{
BladeRFOutputSettings settings = m_settings;
settings.m_centerFrequency = centerFrequency;
MsgConfigureBladerf* message = MsgConfigureBladerf::create(settings, false);
m_inputMessageQueue.push(message);
if (m_guiMessageQueue)
{
MsgConfigureBladerf* messageToGUI = MsgConfigureBladerf::create(settings, false);
m_guiMessageQueue->push(messageToGUI);
}
}
bool BladerfOutput::handleMessage(const Message& message)
{
if (MsgConfigureBladerf::match(message))