diff --git a/src/blackcore/context/contextaudio.h b/src/blackcore/context/contextaudio.h index 5219c7e5c..17c28b5cd 100644 --- a/src/blackcore/context/contextaudio.h +++ b/src/blackcore/context/contextaudio.h @@ -88,14 +88,17 @@ namespace BlackCore public slots: // ------------- DBus --------------- + //! All registered devices + virtual BlackMisc::Audio::CAudioDeviceInfoList getRegisteredDevices() const = 0; + //! Register a device on a machine (for core/GUI it will return all known devices on all machines) virtual void registerDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices) = 0; //! Unregister devices virtual void unRegisterDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices) = 0; - //! All registered devices - virtual BlackMisc::Audio::CAudioDeviceInfoList getRegisteredDevices() const = 0; + //! Remove all devices for identifer (i.e. "a machine") + virtual void unRegisterDevicesFor(const BlackMisc::CIdentifier &identifier) = 0; // ------------- DBus --------------- diff --git a/src/blackcore/context/contextaudioimpl.cpp b/src/blackcore/context/contextaudioimpl.cpp index b50046431..727a2b4d1 100644 --- a/src/blackcore/context/contextaudioimpl.cpp +++ b/src/blackcore/context/contextaudioimpl.cpp @@ -48,6 +48,11 @@ namespace BlackCore m_registeredDevices.unRegisterDevices(devices); } + void CContextAudio::unRegisterDevicesFor(const CIdentifier &identifier) + { + m_registeredDevices.unRegisterDevices(identifier); + } + CAudioDeviceInfoList CContextAudio::getRegisteredDevices() const { return m_registeredDevices; diff --git a/src/blackcore/context/contextaudioimpl.h b/src/blackcore/context/contextaudioimpl.h index b3865507a..6861b8b3f 100644 --- a/src/blackcore/context/contextaudioimpl.h +++ b/src/blackcore/context/contextaudioimpl.h @@ -44,9 +44,10 @@ namespace BlackCore // Interface implementations for DBus //! \publicsection //! @{ + virtual BlackMisc::Audio::CAudioDeviceInfoList getRegisteredDevices() const override; virtual void registerDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices) override; virtual void unRegisterDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices) override; - virtual BlackMisc::Audio::CAudioDeviceInfoList getRegisteredDevices() const override; + virtual void unRegisterDevicesFor(const BlackMisc::CIdentifier &identifier) override; //! @} protected: diff --git a/src/blackcore/context/contextaudioproxy.cpp b/src/blackcore/context/contextaudioproxy.cpp index 531da301e..1748f6b82 100644 --- a/src/blackcore/context/contextaudioproxy.cpp +++ b/src/blackcore/context/contextaudioproxy.cpp @@ -54,6 +54,11 @@ namespace BlackCore m_dBusInterface->callDBus(QLatin1String("unRegisterDevices")); } + void CContextAudioProxy::unRegisterDevicesFor(const CIdentifier &identifier) + { + m_dBusInterface->callDBus(QLatin1String("unRegisterDevicesFor"), identifier); + } + CAudioDeviceInfoList CContextAudioProxy::getRegisteredDevices() const { return m_dBusInterface->callDBusRet(QLatin1String("getRegisteredDevices")); diff --git a/src/blackcore/context/contextaudioproxy.h b/src/blackcore/context/contextaudioproxy.h index 88e43f63d..f0aa233d6 100644 --- a/src/blackcore/context/contextaudioproxy.h +++ b/src/blackcore/context/contextaudioproxy.h @@ -62,9 +62,10 @@ namespace BlackCore //! \publicsection //! @{ //! Register a device on a machine (for core/GUI it will return all known devices on all machines) + virtual BlackMisc::Audio::CAudioDeviceInfoList getRegisteredDevices() const override; virtual void registerDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices) override; virtual void unRegisterDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices) override; - virtual BlackMisc::Audio::CAudioDeviceInfoList getRegisteredDevices() const override; + virtual void unRegisterDevicesFor(const BlackMisc::CIdentifier &identifier) override; //! @} private: