mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-22 09:31:10 -05:00
Implement MainCore in MainWindow step3: device sets: fixes
This commit is contained in:
parent
febbb4fa0f
commit
c9e0425616
@ -34,8 +34,9 @@ DeviceSet::ChannelInstanceRegistration::ChannelInstanceRegistration(const QStrin
|
||||
m_channelAPI(channelAPI)
|
||||
{}
|
||||
|
||||
DeviceSet::DeviceSet(int tabIndex)
|
||||
DeviceSet::DeviceSet(int tabIndex, int deviceType)
|
||||
{
|
||||
(void) deviceType;
|
||||
m_deviceAPI = nullptr;
|
||||
m_deviceSourceEngine = nullptr;
|
||||
m_deviceSinkEngine = nullptr;
|
||||
@ -413,3 +414,32 @@ bool DeviceSet::ChannelInstanceRegistration::operator<(const ChannelInstanceRegi
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceSet::addChannelInstance(const QString& channelURI, ChannelAPI *channelAPI)
|
||||
{
|
||||
ChannelInstanceRegistration reg = ChannelInstanceRegistration(channelURI, channelAPI);
|
||||
m_channelInstanceRegistrations.append(reg);
|
||||
}
|
||||
|
||||
void DeviceSet::removeChannelInstanceAt(int index)
|
||||
{
|
||||
if (index < m_channelInstanceRegistrations.size()) {
|
||||
m_channelInstanceRegistrations.removeAt(index);
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceSet::removeChannelInstance(ChannelAPI *channelAPI)
|
||||
{
|
||||
for (int i = 0; i < m_channelInstanceRegistrations.count(); i++)
|
||||
{
|
||||
if (m_channelInstanceRegistrations.at(i).m_channelAPI == channelAPI)
|
||||
{
|
||||
m_channelInstanceRegistrations.removeAt(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceSet::clearChannels()
|
||||
{
|
||||
m_channelInstanceRegistrations.clear();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
DSPDeviceSinkEngine *m_deviceSinkEngine;
|
||||
DSPDeviceMIMOEngine *m_deviceMIMOEngine;
|
||||
|
||||
DeviceSet(int tabIndex);
|
||||
DeviceSet(int tabIndex, int deviceType);
|
||||
~DeviceSet();
|
||||
|
||||
int getNumberOfChannels() const { return m_channelInstanceRegistrations.size(); }
|
||||
|
@ -262,7 +262,7 @@ void MainServer::addSinkDevice()
|
||||
sprintf(uidCStr, "UID:%d", dspDeviceSinkEngineUID);
|
||||
|
||||
int deviceTabIndex = m_mainCore->m_deviceSets.size();
|
||||
m_mainCore->m_deviceSets.push_back(new DeviceSet(deviceTabIndex));
|
||||
m_mainCore->m_deviceSets.push_back(new DeviceSet(deviceTabIndex, 1));
|
||||
m_mainCore->m_deviceSets.back()->m_deviceSourceEngine = nullptr;
|
||||
m_mainCore->m_deviceSets.back()->m_deviceSinkEngine = dspDeviceSinkEngine;
|
||||
m_mainCore->m_deviceSets.back()->m_deviceMIMOEngine = nullptr;
|
||||
@ -308,7 +308,7 @@ void MainServer::addSourceDevice()
|
||||
sprintf(uidCStr, "UID:%d", dspDeviceSourceEngineUID);
|
||||
|
||||
int deviceTabIndex = m_mainCore->m_deviceSets.size();
|
||||
m_mainCore->m_deviceSets.push_back(new DeviceSet(deviceTabIndex));
|
||||
m_mainCore->m_deviceSets.push_back(new DeviceSet(deviceTabIndex, 0));
|
||||
m_mainCore->m_deviceSets.back()->m_deviceSourceEngine = dspDeviceSourceEngine;
|
||||
m_mainCore->m_deviceSets.back()->m_deviceSinkEngine = nullptr;
|
||||
m_mainCore->m_deviceSets.back()->m_deviceMIMOEngine = nullptr;
|
||||
|
Loading…
Reference in New Issue
Block a user