mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-05 07:24:44 -04:00
Rotator controller and dependent plugins: implemented new message pipes and other fixes. Part of #1154
This commit is contained in:
+27
-10
@@ -55,12 +55,22 @@ AIS::AIS(WebAPIAdapterInterface *webAPIAdapterInterface) :
|
||||
&AIS::networkManagerFinished
|
||||
);
|
||||
scanAvailableChannels();
|
||||
connect(MainCore::instance(), SIGNAL(channelAdded(int, ChannelAPI*)), this, SLOT(handleChannelAdded(int, ChannelAPI*)));
|
||||
QObject::connect(
|
||||
MainCore::instance(),
|
||||
&MainCore::channelAdded,
|
||||
this,
|
||||
&AIS::handleChannelAdded
|
||||
);
|
||||
}
|
||||
|
||||
AIS::~AIS()
|
||||
{
|
||||
disconnect(MainCore::instance(), SIGNAL(channelAdded(int, ChannelAPI*)), this, SLOT(handleChannelAdded(int, ChannelAPI*)));
|
||||
QObject::disconnect(
|
||||
MainCore::instance(),
|
||||
&MainCore::channelAdded,
|
||||
this,
|
||||
&AIS::handleChannelAdded
|
||||
);
|
||||
QObject::disconnect(
|
||||
m_networkManager,
|
||||
&QNetworkAccessManager::finished,
|
||||
@@ -356,7 +366,12 @@ void AIS::scanAvailableChannels()
|
||||
[=](){ this->handleChannelMessageQueue(messageQueue); },
|
||||
Qt::QueuedConnection
|
||||
);
|
||||
connect(pipe, SIGNAL(toBeDeleted(int, QObject*)), this, SLOT(handleMessagePipeToBeDeleted(int, QObject*)));
|
||||
QObject::connect(
|
||||
pipe,
|
||||
&ObjectPipe::toBeDeleted,
|
||||
this,
|
||||
&AIS::handleMessagePipeToBeDeleted
|
||||
);
|
||||
m_availableChannels.insert(channel);
|
||||
}
|
||||
}
|
||||
@@ -386,7 +401,12 @@ void AIS::handleChannelAdded(int deviceSetIndex, ChannelAPI *channel)
|
||||
[=](){ this->handleChannelMessageQueue(messageQueue); },
|
||||
Qt::QueuedConnection
|
||||
);
|
||||
connect(pipe, SIGNAL(toBeDeleted(int, QObject*)), this, SLOT(handleMessagePipeToBeDeleted(int, QObject*)));
|
||||
QObject::connect(
|
||||
pipe,
|
||||
&ObjectPipe::toBeDeleted,
|
||||
this,
|
||||
&AIS::handleMessagePipeToBeDeleted
|
||||
);
|
||||
m_availableChannels.insert(channel);
|
||||
}
|
||||
}
|
||||
@@ -394,13 +414,10 @@ void AIS::handleChannelAdded(int deviceSetIndex, ChannelAPI *channel)
|
||||
|
||||
void AIS::handleMessagePipeToBeDeleted(int reason, QObject* object)
|
||||
{
|
||||
if (reason == 0) // producer (channel)
|
||||
if ((reason == 0) && m_availableChannels.contains((ChannelAPI*) object)) // producer (channel)
|
||||
{
|
||||
if (m_availableChannels.contains((ChannelAPI*) object))
|
||||
{
|
||||
qDebug("AIS::handleMessagePipeToBeDeleted: removing channel at (%p)", object);
|
||||
m_availableChannels.remove((ChannelAPI*) object);
|
||||
}
|
||||
qDebug("AIS::handleMessagePipeToBeDeleted: removing channel at (%p)", object);
|
||||
m_availableChannels.remove((ChannelAPI*) object);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user