mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-24 09:54:16 +08:00
[AFV, Ref T739 register device also based on process
This commit is contained in:
committed by
Mat Sutcliffe
parent
2b1d771275
commit
32c6ef3fd6
@@ -45,6 +45,14 @@ namespace BlackMisc
|
|||||||
stringCompare(device.getMachineName(), this->getMachineName(), Qt::CaseInsensitive);
|
stringCompare(device.getMachineName(), this->getMachineName(), Qt::CaseInsensitive);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CAudioDeviceInfo::matchesNameTypeMachineProcess(const CAudioDeviceInfo &device) const
|
||||||
|
{
|
||||||
|
return device.getType() == this->getType() &&
|
||||||
|
device.getIdentifier().getProcessId() == this->getIdentifier().getProcessId() &&
|
||||||
|
stringCompare(device.getName(), this->getName(), Qt::CaseInsensitive) &&
|
||||||
|
stringCompare(device.getMachineName(), this->getMachineName(), Qt::CaseInsensitive);
|
||||||
|
}
|
||||||
|
|
||||||
CAudioDeviceInfo::DeviceType CAudioDeviceInfo::fromQtMode(QAudio::Mode m)
|
CAudioDeviceInfo::DeviceType CAudioDeviceInfo::fromQtMode(QAudio::Mode m)
|
||||||
{
|
{
|
||||||
switch (m)
|
switch (m)
|
||||||
|
|||||||
@@ -85,6 +85,9 @@ namespace BlackMisc
|
|||||||
//! Matching name, type and machine
|
//! Matching name, type and machine
|
||||||
bool matchesNameTypeMachineName(const CAudioDeviceInfo &device) const;
|
bool matchesNameTypeMachineName(const CAudioDeviceInfo &device) const;
|
||||||
|
|
||||||
|
//! Matching name, type and machine and process
|
||||||
|
bool matchesNameTypeMachineProcess(const CAudioDeviceInfo &device) const;
|
||||||
|
|
||||||
//! Convert the Qt type
|
//! Convert the Qt type
|
||||||
static DeviceType fromQtMode(QAudio::Mode m);
|
static DeviceType fromQtMode(QAudio::Mode m);
|
||||||
|
|
||||||
|
|||||||
@@ -74,11 +74,11 @@ namespace BlackMisc
|
|||||||
return devices;
|
return devices;
|
||||||
}
|
}
|
||||||
|
|
||||||
CAudioDeviceInfo CAudioDeviceInfoList::findRegisteredDevice(const CAudioDeviceInfo &device) const
|
CAudioDeviceInfo CAudioDeviceInfoList::findRegisteredDeviceOrDefault(const CAudioDeviceInfo &device) const
|
||||||
{
|
{
|
||||||
for (const CAudioDeviceInfo &d : *this)
|
for (const CAudioDeviceInfo &d : *this)
|
||||||
{
|
{
|
||||||
if (device.matchesNameTypeMachineName(d)) { return d; }
|
if (device.matchesNameTypeMachineProcess(d)) { return d; }
|
||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
@@ -101,7 +101,7 @@ namespace BlackMisc
|
|||||||
void CAudioDeviceInfoList::unRegisterDevice(const CAudioDeviceInfo &device)
|
void CAudioDeviceInfoList::unRegisterDevice(const CAudioDeviceInfo &device)
|
||||||
{
|
{
|
||||||
if (!device.isValid()) { return; }
|
if (!device.isValid()) { return; }
|
||||||
const CAudioDeviceInfo registeredDevice = this->findRegisteredDevice(device);
|
const CAudioDeviceInfo registeredDevice = this->findRegisteredDeviceOrDefault(device);
|
||||||
if (registeredDevice.isValid())
|
if (registeredDevice.isValid())
|
||||||
{
|
{
|
||||||
this->remove(registeredDevice);
|
this->remove(registeredDevice);
|
||||||
@@ -123,7 +123,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
bool CAudioDeviceInfoList::isRegisteredDevice(const CAudioDeviceInfo &device) const
|
bool CAudioDeviceInfoList::isRegisteredDevice(const CAudioDeviceInfo &device) const
|
||||||
{
|
{
|
||||||
return this->findRegisteredDevice(device).isValid();
|
return this->findRegisteredDeviceOrDefault(device).isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
int CAudioDeviceInfoList::count(CAudioDeviceInfo::DeviceType type) const
|
int CAudioDeviceInfoList::count(CAudioDeviceInfo::DeviceType type) const
|
||||||
@@ -149,7 +149,7 @@ namespace BlackMisc
|
|||||||
if (compareDevices.size() != this->size()) { return false; }
|
if (compareDevices.size() != this->size()) { return false; }
|
||||||
for (const CAudioDeviceInfo &d : *this)
|
for (const CAudioDeviceInfo &d : *this)
|
||||||
{
|
{
|
||||||
if (!compareDevices.findRegisteredDevice(d).isValid()) { return false; }
|
if (!compareDevices.findRegisteredDeviceOrDefault(d).isValid()) { return false; }
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace BlackMisc
|
|||||||
CAudioDeviceInfoList findByHostName(const QString &hostName) const;
|
CAudioDeviceInfoList findByHostName(const QString &hostName) const;
|
||||||
|
|
||||||
//! Find registered device
|
//! Find registered device
|
||||||
CAudioDeviceInfo findRegisteredDevice(const CAudioDeviceInfo &device) const;
|
CAudioDeviceInfo findRegisteredDeviceOrDefault(const CAudioDeviceInfo &device) const;
|
||||||
|
|
||||||
//! Register device
|
//! Register device
|
||||||
void registerDevice(const CAudioDeviceInfo &device);
|
void registerDevice(const CAudioDeviceInfo &device);
|
||||||
|
|||||||
Reference in New Issue
Block a user