Message pipes rework: settings pipes change in other plugins

This commit is contained in:
f4exb 2022-03-02 23:07:15 +01:00
parent 283ab64c59
commit cbe643c0b1
66 changed files with 731 additions and 557 deletions

View File

@ -140,10 +140,11 @@ void BeamSteeringCWMod::applySettings(const BeamSteeringCWModSettings& settings,
BeamSteeringCWModBaseband::MsgConfigureBeamSteeringCWModBaseband *msg = BeamSteeringCWModBaseband::MsgConfigureBeamSteeringCWModBaseband::create(settings, force);
m_basebandSource->getInputMessageQueue()->push(msg);
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -412,14 +413,16 @@ void BeamSteeringCWMod::webapiReverseSendSettings(QList<QString>& channelSetting
}
void BeamSteeringCWMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const BeamSteeringCWModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -429,7 +432,8 @@ void BeamSteeringCWMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -34,6 +34,7 @@ class BeamSteeringCWModBaseband;
class QNetworkReply;
class QNetworkAccessManager;
class BasebandSampleSink;
class ObjectPipe;
class BeamSteeringCWMod: public MIMOChannel, public ChannelAPI
{
@ -166,7 +167,7 @@ private:
void calculateFrequencyOffset();
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const BeamSteeringCWModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const BeamSteeringCWModSettings& settings,
bool force

View File

@ -155,10 +155,11 @@ void Interferometer::applySettings(const InterferometerSettings& settings, bool
m_basebandSink->setPhase(settings.m_phase);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -463,14 +464,16 @@ void Interferometer::webapiReverseSendSettings(QList<QString>& channelSettingsKe
}
void Interferometer::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const InterferometerSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -480,7 +483,8 @@ void Interferometer::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,7 +35,7 @@ class DeviceAPI;
class InterferometerBaseband;
class QNetworkReply;
class QNetworkAccessManager;
class ObjectPipe;
class Interferometer: public MIMOChannel, public ChannelAPI
{
public:
@ -171,7 +171,7 @@ private:
void calculateFrequencyOffset();
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const InterferometerSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const InterferometerSettings& settings,
bool force

View File

@ -280,6 +280,13 @@ void ChannelAnalyzer::applySettings(const ChannelAnalyzerSettings& settings, boo
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
}
@ -543,14 +550,16 @@ void ChannelAnalyzer::webapiReverseSendSettings(
}
void ChannelAnalyzer::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ChannelAnalyzerSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -560,7 +569,8 @@ void ChannelAnalyzer::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -36,7 +36,7 @@
class DownChannelizer;
class QNetworkReply;
class QNetworkAccessManager;
class ObjectPipe;
class ChannelAnalyzer : public BasebandSampleSink, public ChannelAPI {
public:
class MsgConfigureChannelAnalyzer : public Message {
@ -140,7 +140,7 @@ private:
void applySettings(const ChannelAnalyzerSettings& settings, bool force = false);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const ChannelAnalyzerSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ChannelAnalyzerSettings& settings,
bool force

View File

@ -249,10 +249,11 @@ void AMDemod::applySettings(const AMDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -520,14 +521,16 @@ void AMDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, con
}
void AMDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const AMDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -537,7 +540,8 @@ void AMDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -34,6 +34,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class QThread;
class DeviceAPI;
class ObjectPipe;
class AMDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -146,7 +147,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const AMDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const AMDemodSettings& settings,
bool force

View File

@ -232,10 +232,11 @@ void BFMDemod::applySettings(const BFMDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -539,14 +540,16 @@ void BFMDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, co
}
void BFMDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const BFMDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -556,7 +559,8 @@ void BFMDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -36,6 +36,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class QThread;
class DeviceAPI;
class ObjectPipe;
namespace SWGSDRangel {
class SWGRDSReport;
@ -161,7 +162,7 @@ private:
void webapiFormatRDSReport(SWGSDRangel::SWGRDSReport *report);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const BFMDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const BFMDemodSettings& settings,
bool force

View File

@ -473,10 +473,11 @@ void ChirpChatDemod::applySettings(const ChirpChatDemodSettings& settings, bool
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -769,14 +770,16 @@ void ChirpChatDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKe
}
void ChirpChatDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ChirpChatDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -786,7 +789,8 @@ void ChirpChatDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -37,6 +37,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class DeviceAPI;
class QThread;
class ObjectPipe;
class ChirpChatDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -294,7 +295,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const ChirpChatDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ChirpChatDemodSettings& settings,
bool force

View File

@ -248,6 +248,13 @@ void DATVDemod::applySettings(const DATVDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
}
@ -532,14 +539,16 @@ void DATVDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& respons
}
void DATVDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const DATVDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -549,7 +558,8 @@ void DATVDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,6 +35,7 @@ class DeviceAPI;
class QNetworkAccessManager;
class QNetworkReply;
class ObjectPipe;
class DATVDemod : public BasebandSampleSink, public ChannelAPI
{
@ -165,7 +166,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const DATVDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const DATVDemodSettings& settings,
bool force

View File

@ -275,10 +275,11 @@ void DSDDemod::applySettings(const DSDDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -593,14 +594,16 @@ void DSDDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, co
}
void DSDDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const DSDDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -610,7 +613,8 @@ void DSDDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,6 +35,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class QThread;
class DownChannelizer;
class ObjectPipe;
class DSDDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -144,7 +145,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const DSDDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const DSDDemodSettings& settings,
bool force

View File

@ -234,10 +234,11 @@ void FreeDVDemod::applySettings(const FreeDVDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -494,14 +495,16 @@ void FreeDVDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys,
}
void FreeDVDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FreeDVDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -511,7 +514,8 @@ void FreeDVDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -34,6 +34,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class DeviceAPI;
class QThread;
class ObjectPipe;
class FreeDVDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -162,7 +163,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const FreeDVDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FreeDVDemodSettings& settings,
bool force

View File

@ -261,10 +261,11 @@ void NFMDemod::applySettings(const NFMDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -551,14 +552,16 @@ void NFMDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, co
}
void NFMDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const NFMDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -568,7 +571,8 @@ void NFMDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -34,6 +34,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class QThread;
class DeviceAPI;
class ObjectPipe;
class NFMDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -144,7 +145,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const NFMDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const NFMDemodSettings& settings,
bool force

View File

@ -214,10 +214,11 @@ void VORDemod::applySettings(const VORDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -449,14 +450,16 @@ void VORDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, co
}
void VORDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const VORDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -466,7 +469,8 @@ void VORDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,6 +35,7 @@ class QNetworkAccessManager;
class QNetworkReply;
class QThread;
class DeviceAPI;
class ObjectPipe;
class VORDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -147,7 +148,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const VORDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const VORDemodSettings& settings,
bool force

View File

@ -277,10 +277,11 @@ void VORDemodSC::applySettings(const VORDemodSCSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -531,14 +532,16 @@ void VORDemodSC::webapiReverseSendSettings(QList<QString>& channelSettingsKeys,
}
void VORDemodSC::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const VORDemodSCSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -548,7 +551,8 @@ void VORDemodSC::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -149,7 +149,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const VORDemodSCSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const VORDemodSCSettings& settings,
bool force

View File

@ -236,10 +236,11 @@ void WFMDemod::applySettings(const WFMDemodSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -494,14 +495,16 @@ void WFMDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, co
}
void WFMDemod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const WFMDemodSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -511,7 +514,8 @@ void WFMDemod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -33,6 +33,7 @@
class QNetworkAccessManager;
class QNetworkReply;
class DeviceAPI;
class ObjectPipe;
class WFMDemod : public BasebandSampleSink, public ChannelAPI {
public:
@ -140,7 +141,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const WFMDemodSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const WFMDemodSettings& settings,
bool force

View File

@ -314,10 +314,11 @@ void FileSink::applySettings(const FileSinkSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -623,14 +624,16 @@ void FileSink::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, co
}
void FileSink::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FileSinkSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -640,7 +643,8 @@ void FileSink::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,6 +35,7 @@ class QNetworkReply;
class DeviceAPI;
class DeviceSampleSource;
class FileSinkBaseband;
class ObjectPipe;
class FileSink : public BasebandSampleSink, public ChannelAPI {
public:
@ -171,7 +172,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const FileSinkSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FileSinkSettings& settings,
bool force

View File

@ -305,10 +305,11 @@ void LocalSink::applySettings(const LocalSinkSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -502,14 +503,16 @@ void LocalSink::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, c
}
void LocalSink::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const LocalSinkSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -519,7 +522,8 @@ void LocalSink::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -34,6 +34,7 @@ class QThread;
class DeviceAPI;
class DeviceSampleSource;
class LocalSinkBaseband;
class ObjectPipe;
class LocalSink : public BasebandSampleSink, public ChannelAPI {
public:
@ -156,7 +157,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const LocalSinkSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const LocalSinkSettings& settings,
bool force

View File

@ -261,10 +261,11 @@ void RemoteSink::applySettings(const RemoteSinkSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -510,14 +511,16 @@ void RemoteSink::webapiReverseSendSettings(QList<QString>& channelSettingsKeys,
}
void RemoteSink::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const RemoteSinkSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -527,7 +530,8 @@ void RemoteSink::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,6 +35,7 @@
class QNetworkAccessManager;
class QNetworkReply;
class DeviceAPI;
class ObjectPipe;
class RemoteSink : public BasebandSampleSink, public ChannelAPI {
public:
@ -135,7 +136,7 @@ private:
void updateWithDeviceData();
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const RemoteSinkSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const RemoteSinkSettings& settings,
bool force

View File

@ -314,10 +314,11 @@ void SigMFFileSink::applySettings(const SigMFFileSinkSettings& settings, bool fo
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -623,14 +624,16 @@ void SigMFFileSink::webapiReverseSendSettings(QList<QString>& channelSettingsKey
}
void SigMFFileSink::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const SigMFFileSinkSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -640,7 +643,8 @@ void SigMFFileSink::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -35,6 +35,7 @@ class QNetworkReply;
class DeviceAPI;
class DeviceSampleSource;
class SigMFFileSinkBaseband;
class ObjectPipe;
class SigMFFileSink : public BasebandSampleSink, public ChannelAPI {
public:
@ -171,7 +172,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const SigMFFileSinkSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const SigMFFileSinkSettings& settings,
bool force

View File

@ -251,10 +251,11 @@ void UDPSink::applySettings(const UDPSinkSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -543,14 +544,16 @@ void UDPSink::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, con
}
void UDPSink::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const UDPSinkSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -560,7 +563,8 @@ void UDPSink::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -32,6 +32,7 @@
class QNetworkAccessManager;
class QNetworkReply;
class DeviceAPI;
class ObjectPipe;
class UDPSink : public BasebandSampleSink, public ChannelAPI {
public:
@ -147,7 +148,7 @@ protected:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const UDPSinkSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const UDPSinkSettings& settings,
bool force

View File

@ -264,10 +264,11 @@ void FileSource::applySettings(const FileSourceSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -564,14 +565,16 @@ void FileSource::webapiReverseSendSettings(QList<QString>& channelSettingsKeys,
}
void FileSource::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FileSourceSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -581,7 +584,8 @@ void FileSource::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -40,6 +40,7 @@ class QNetworkReply;
class DeviceAPI;
class FileSourceBaseband;
class ObjectPipe;
class FileSource : public BasebandSampleSource, public ChannelAPI {
public:
@ -255,7 +256,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const FileSourceSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FileSourceSettings& settings,
bool force

View File

@ -308,10 +308,11 @@ void LocalSource::applySettings(const LocalSourceSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -504,14 +505,16 @@ void LocalSource::webapiReverseSendSettings(QList<QString>& channelSettingsKeys,
}
void LocalSource::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const LocalSourceSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -521,7 +524,8 @@ void LocalSource::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -33,6 +33,7 @@ class QThread;
class DeviceAPI;
class DeviceSampleSink;
class LocalSourceBaseband;
class ObjectPipe;
class LocalSource : public BasebandSampleSource, public ChannelAPI {
public:
@ -154,7 +155,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const LocalSourceSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const LocalSourceSettings& settings,
bool force

View File

@ -375,10 +375,11 @@ void IEEE_802_15_4_Mod::applySettings(const IEEE_802_15_4_ModSettings& settings,
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -736,14 +737,16 @@ void IEEE_802_15_4_Mod::webapiReverseSendSettings(QList<QString>& channelSetting
}
void IEEE_802_15_4_Mod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const IEEE_802_15_4_ModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -753,7 +756,8 @@ void IEEE_802_15_4_Mod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -40,6 +40,7 @@ class QUdpSocket;
class DeviceAPI;
class IEEE_802_15_4_ModBaseband;
class ScopeVis;
class ObjectPipe;
class IEEE_802_15_4_Mod : public BasebandSampleSource, public ChannelAPI {
public:
@ -172,7 +173,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const IEEE_802_15_4_ModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const IEEE_802_15_4_ModSettings& settings,
bool force

View File

@ -456,10 +456,11 @@ void AISMod::applySettings(const AISModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -847,14 +848,16 @@ void AISMod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, cons
}
void AISMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const AISModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -864,7 +867,8 @@ void AISMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -38,6 +38,7 @@ class QUdpSocket;
class DeviceAPI;
class AISModBaseband;
class ScopeVis;
class ObjectPipe;
class AISMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -234,7 +235,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const AISModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const AISModSettings& settings,
bool force

View File

@ -324,10 +324,11 @@ void AMMod::applySettings(const AMModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -640,14 +641,16 @@ void AMMod::webapiReverseSendCWSettings(const CWKeyerSettings& cwKeyerSettings)
}
void AMMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const AMModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -657,7 +660,8 @@ void AMMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -37,6 +37,7 @@ class QThread;
class AMModBaseband;
class DeviceAPI;
class CWKeyer;
class ObjectPipe;
class AMMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -263,7 +264,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const AMModSettings& settings, bool force);
void webapiReverseSendCWSettings(const CWKeyerSettings& settings);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const AMModSettings& settings,
bool force

View File

@ -337,10 +337,11 @@ void ATVMod::applySettings(const ATVModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -663,14 +664,16 @@ void ATVMod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, cons
}
void ATVMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ATVModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -680,7 +683,8 @@ void ATVMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -36,6 +36,7 @@ class QNetworkReply;
class QThread;
class ATVModBaseband;
class DeviceAPI;
class ObjectPipe;
class ATVMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -318,7 +319,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const ATVModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ATVModSettings& settings,
bool force

View File

@ -395,10 +395,11 @@ void ChirpChatMod::applySettings(const ChirpChatModSettings& settings, bool forc
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -813,14 +814,16 @@ void ChirpChatMod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys
}
void ChirpChatMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ChirpChatModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -830,7 +833,8 @@ void ChirpChatMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -39,6 +39,7 @@ class QUdpSocket;
class DeviceAPI;
class CWKeyer;
class ChirpChatModBaseband;
class ObjectPipe;
class ChirpChatMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -167,7 +168,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const ChirpChatModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const ChirpChatModSettings& settings,
bool force

View File

@ -303,10 +303,11 @@ void DATVMod::applySettings(const DATVModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -589,14 +590,16 @@ void DATVMod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, con
}
void DATVMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const DATVModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -606,7 +609,8 @@ void DATVMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -37,6 +37,7 @@ class QNetworkReply;
class QThread;
class DATVModBaseband;
class DeviceAPI;
class ObjectPipe;
class DATVMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -272,7 +273,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const DATVModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const DATVModSettings& settings,
bool force

View File

@ -317,10 +317,11 @@ void FreeDVMod::applySettings(const FreeDVModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -635,14 +636,16 @@ void FreeDVMod::webapiReverseSendCWSettings(const CWKeyerSettings& cwKeyerSettin
}
void FreeDVMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FreeDVModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -652,7 +655,8 @@ void FreeDVMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -39,6 +39,7 @@ class QThread;
class DeviceAPI;
class CWKeyer;
class FreeDVModBaseband;
class ObjectPipe;
struct freedv;
@ -270,7 +271,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const FreeDVModSettings& settings, bool force);
void webapiReverseSendCWSettings(const CWKeyerSettings& settings);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const FreeDVModSettings& settings,
bool force

View File

@ -372,10 +372,11 @@ void NFMMod::applySettings(const NFMModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -708,14 +709,16 @@ void NFMMod::webapiReverseSendCWSettings(const CWKeyerSettings& cwKeyerSettings)
}
void NFMMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const NFMModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -725,7 +728,8 @@ void NFMMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -37,6 +37,7 @@ class QThread;
class DeviceAPI;
class CWKeyer;
class NFMModBaseband;
class ObjectPipe;
class NFMMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -263,7 +264,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const NFMModSettings& settings, bool force);
void webapiReverseSendCWSettings(const CWKeyerSettings& settings);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const NFMModSettings& settings,
bool force

View File

@ -406,10 +406,11 @@ void PacketMod::applySettings(const PacketModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -877,14 +878,16 @@ void PacketMod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, c
}
void PacketMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const PacketModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -894,7 +897,8 @@ void PacketMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -39,6 +39,7 @@ class QThread;
class QUdpSocket;
class DeviceAPI;
class PacketModBaseband;
class ObjectPipe;
class PacketMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -230,7 +231,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const PacketModSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const PacketModSettings& settings,
bool force

View File

@ -345,10 +345,11 @@ void SSBMod::applySettings(const SSBModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -713,14 +714,16 @@ void SSBMod::webapiReverseSendCWSettings(const CWKeyerSettings& cwKeyerSettings)
}
void SSBMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const SSBModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -730,7 +733,8 @@ void SSBMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -39,6 +39,7 @@ class QThread;
class DeviceAPI;
class CWKeyer;
class SSBModBaseband;
class ObjectPipe;
class SSBMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -267,7 +268,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const SSBModSettings& settings, bool force);
void webapiReverseSendCWSettings(const CWKeyerSettings& settings);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const SSBModSettings& settings,
bool force

View File

@ -310,10 +310,11 @@ void WFMMod::applySettings(const WFMModSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -627,14 +628,16 @@ void WFMMod::webapiReverseSendCWSettings(const CWKeyerSettings& cwKeyerSettings)
}
void WFMMod::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const WFMModSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -644,7 +647,8 @@ void WFMMod::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -37,6 +37,7 @@ class QThread;
class DeviceAPI;
class CWKeyer;
class WFMModBaseband;
class ObjectPipe;
class WFMMod : public BasebandSampleSource, public ChannelAPI {
public:
@ -275,7 +276,7 @@ private:
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const WFMModSettings& settings, bool force);
void webapiReverseSendCWSettings(const CWKeyerSettings& settings);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const WFMModSettings& settings,
bool force

View File

@ -243,10 +243,11 @@ void RemoteSource::applySettings(const RemoteSourceSettings& settings, bool forc
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -480,14 +481,16 @@ void RemoteSource::webapiReverseSendSettings(QList<QString>& channelSettingsKeys
}
void RemoteSource::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const RemoteSourceSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -497,7 +500,8 @@ void RemoteSource::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -33,6 +33,7 @@ class QThread;
class DeviceAPI;
class RemoteSourceBaseband;
class ObjectPipe;
class RemoteSource : public BasebandSampleSource, public ChannelAPI {
public:
@ -250,7 +251,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const RemoteSourceSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const RemoteSourceSettings& settings,
bool force

View File

@ -271,10 +271,11 @@ void UDPSource::applySettings(const UDPSourceSettings& settings, bool force)
webapiReverseSendSettings(reverseAPIKeys, settings, fullUpdate || force);
}
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "settings");
QList<ObjectPipe*> pipes;
MainCore::instance()->getMessagePipes2().getMessagePipes(this, "settings", pipes);
if (messageQueues) {
sendChannelSettings(messageQueues, reverseAPIKeys, settings, force);
if (pipes.size() > 0) {
sendChannelSettings(pipes, reverseAPIKeys, settings, force);
}
m_settings = settings;
@ -584,14 +585,16 @@ void UDPSource::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, c
}
void UDPSource::sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const UDPSourceSettings& settings,
bool force)
{
QList<MessageQueue*>::iterator it = messageQueues->begin();
for (const auto& pipe : pipes)
{
MessageQueue *messageQueue = qobject_cast<MessageQueue*>(pipe->m_element);
for (; it != messageQueues->end(); ++it)
if (messageQueue)
{
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
webapiFormatChannelSettings(channelSettingsKeys, swgChannelSettings, settings, force);
@ -601,7 +604,8 @@ void UDPSource::sendChannelSettings(
swgChannelSettings,
force
);
(*it)->push(msg);
messageQueue->push(msg);
}
}
}

View File

@ -34,6 +34,7 @@ class QNetworkReply;
class QThread;
class DeviceAPI;
class UDPSourceBaseband;
class ObjectPipe;
class UDPSource : public BasebandSampleSource, public ChannelAPI {
public:
@ -177,7 +178,7 @@ private:
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response);
void webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const UDPSourceSettings& settings, bool force);
void sendChannelSettings(
QList<MessageQueue*> *messageQueues,
const QList<ObjectPipe*>& pipes,
QList<QString>& channelSettingsKeys,
const UDPSourceSettings& settings,
bool force