1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-02 14:04:46 -04:00

Tx support: interim state (1)

This commit is contained in:
f4exb
2016-12-29 12:41:10 +01:00
parent ddb3c6909b
commit f68f949c19
34 changed files with 433 additions and 37 deletions
+109
View File
@@ -15,6 +15,7 @@
///////////////////////////////////////////////////////////////////////////////////
#include "device/devicesinkapi.h"
#include "device/devicesourceapi.h"
#include "plugin/plugingui.h"
#include "plugin/pluginapi.h"
#include "plugin/plugininterface.h"
@@ -146,6 +147,11 @@ void DeviceSinkAPI::setOutputGUI(QWidget* outputGUI, const QString& sinkDisplayN
m_mainWindow->setDeviceGUI(m_deviceTabIndex, outputGUI, sinkDisplayName, false);
}
void DeviceSinkAPI::setHardwareId(const QString& id)
{
m_hardwareId = id;
}
void DeviceSinkAPI::setSampleSinkId(const QString& id)
{
m_sampleSinkId = id;
@@ -377,4 +383,107 @@ bool DeviceSinkAPI::ChannelInstanceRegistration::operator<(const ChannelInstance
}
}
void DeviceSinkAPI::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("DeviceSinkAPI::addSourceBuddy: buddy %s(%s) already in the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSourceSerial()));
return;
}
}
m_sourceBuddies.push_back(buddy);
qDebug("DeviceSinkAPI::addSourceBuddy: added buddy %s(%s) to the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSourceSerial()));
}
void DeviceSinkAPI::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("DeviceSinkAPI::addSinkBuddy: buddy %s(%s) already in the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSinkSerial()));
return;
}
}
m_sinkBuddies.push_back(buddy);
qDebug("DeviceSinkAPI::addSinkBuddy: added buddy %s(%s) to the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSinkSerial()));
}
void DeviceSinkAPI::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("DeviceSinkAPI::removeSourceBuddy: buddy %s(%s) removed from the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSourceSerial()));
return;
}
}
qDebug("DeviceSinkAPI::removeSourceBuddy: buddy %s(%s) not found in the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSourceSerial()));
}
void DeviceSinkAPI::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("DeviceSinkAPI::removeSinkBuddy: buddy %s(%s) removed from the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSinkSerial()));
return;
}
}
qDebug("DeviceSinkAPI::removeSinkBuddy: buddy %s(%s) not found in the list",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSampleSinkSerial()));
}
void DeviceSinkAPI::removeFromBuddies()
{
std::vector<DeviceSourceAPI*>::iterator itSource = m_sourceBuddies.begin();
std::vector<DeviceSinkAPI*>::iterator itSink = m_sinkBuddies.begin();
for (;itSource != m_sourceBuddies.end(); ++itSource)
{
(*itSource)->removeSinkBuddy(this);
}
for (;itSink != m_sinkBuddies.end(); ++itSink)
{
(*itSink)->removeSinkBuddy(this);
}
}