mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-01 13:47:01 -04:00
Tx support: interim state (1)
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "device/devicesourceapi.h"
|
||||
#include "device/devicesinkapi.h"
|
||||
#include "plugin/plugingui.h"
|
||||
#include "plugin/pluginapi.h"
|
||||
#include "plugin/plugininterface.h"
|
||||
@@ -137,6 +138,11 @@ void DeviceSourceAPI::setInputGUI(QWidget* inputGUI, const QString& sourceDispla
|
||||
m_mainWindow->setDeviceGUI(m_deviceTabIndex, inputGUI, sourceDisplayName);
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::setHardwareId(const QString& id)
|
||||
{
|
||||
m_hardwareId = id;
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::setSampleSourceId(const QString& id)
|
||||
{
|
||||
m_sampleSourceId = id;
|
||||
@@ -373,3 +379,107 @@ bool DeviceSourceAPI::ChannelInstanceRegistration::operator<(const ChannelInstan
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::addSourceBuddy(DeviceSourceAPI* buddy)
|
||||
{
|
||||
std::vector<DeviceSourceAPI*>::iterator it = m_sourceBuddies.begin();
|
||||
|
||||
for (;it != m_sourceBuddies.end(); ++it)
|
||||
{
|
||||
if (((*it)->getHardwareId() == buddy->getHardwareId()) &&
|
||||
((*it)->getSampleSourceSerial() == buddy->getSampleSourceSerial()))
|
||||
{
|
||||
qDebug("DeviceSourceAPI::addSourceBuddy: buddy %s(%s) already in the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSourceSerial()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
m_sourceBuddies.push_back(buddy);
|
||||
qDebug("DeviceSourceAPI::addSourceBuddy: added buddy %s(%s) to the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSourceSerial()));
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::addSinkBuddy(DeviceSinkAPI* buddy)
|
||||
{
|
||||
std::vector<DeviceSinkAPI*>::iterator it = m_sinkBuddies.begin();
|
||||
|
||||
for (;it != m_sinkBuddies.end(); ++it)
|
||||
{
|
||||
if (((*it)->getHardwareId() == buddy->getHardwareId()) &&
|
||||
((*it)->getSampleSinkSerial() == buddy->getSampleSinkSerial()))
|
||||
{
|
||||
qDebug("DeviceSourceAPI::addSinkBuddy: buddy %s(%s) already in the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSinkSerial()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
m_sinkBuddies.push_back(buddy);
|
||||
qDebug("DeviceSourceAPI::addSinkBuddy: added buddy %s(%s) to the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSinkSerial()));
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::removeSourceBuddy(DeviceSourceAPI* buddy)
|
||||
{
|
||||
std::vector<DeviceSourceAPI*>::iterator it = m_sourceBuddies.begin();
|
||||
|
||||
for (;it != m_sourceBuddies.end(); ++it)
|
||||
{
|
||||
if (((*it)->getHardwareId() == buddy->getHardwareId()) &&
|
||||
((*it)->getSampleSourceSerial() == buddy->getSampleSourceSerial()))
|
||||
{
|
||||
m_sourceBuddies.erase(it);
|
||||
qDebug("DeviceSourceAPI::removeSourceBuddy: buddy %s(%s) removed from the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSourceSerial()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
qDebug("DeviceSourceAPI::removeSourceBuddy: buddy %s(%s) not found in the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSourceSerial()));
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::removeSinkBuddy(DeviceSinkAPI* buddy)
|
||||
{
|
||||
std::vector<DeviceSinkAPI*>::iterator it = m_sinkBuddies.begin();
|
||||
|
||||
for (;it != m_sinkBuddies.end(); ++it)
|
||||
{
|
||||
if (((*it)->getHardwareId() == buddy->getHardwareId()) &&
|
||||
((*it)->getSampleSinkSerial() == buddy->getSampleSinkSerial()))
|
||||
{
|
||||
m_sinkBuddies.erase(it);
|
||||
qDebug("DeviceSourceAPI::removeSinkBuddy: buddy %s(%s) removed from the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSinkSerial()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
qDebug("DeviceSourceAPI::removeSinkBuddy: buddy %s(%s) not found in the list",
|
||||
qPrintable(buddy->getHardwareId()),
|
||||
qPrintable(buddy->getSampleSinkSerial()));
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::removeFromBuddies()
|
||||
{
|
||||
std::vector<DeviceSourceAPI*>::iterator itSource = m_sourceBuddies.begin();
|
||||
std::vector<DeviceSinkAPI*>::iterator itSink = m_sinkBuddies.begin();
|
||||
|
||||
for (;itSource != m_sourceBuddies.end(); ++itSource)
|
||||
{
|
||||
(*itSource)->removeSourceBuddy(this);
|
||||
}
|
||||
|
||||
for (;itSink != m_sinkBuddies.end(); ++itSink)
|
||||
{
|
||||
(*itSink)->removeSourceBuddy(this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user