From 8a89b8f261c6fbb70586cc6cf6cabaabb7464873 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 29 Oct 2019 23:58:57 +0100 Subject: [PATCH] [AFV] Ref T739, context function to unregister per identifier --- src/blackcore/context/contextaudio.h | 7 +++++-- src/blackcore/context/contextaudioimpl.cpp | 5 +++++ src/blackcore/context/contextaudioimpl.h | 3 ++- src/blackcore/context/contextaudioproxy.cpp | 5 +++++ src/blackcore/context/contextaudioproxy.h | 3 ++- 5 files changed, 19 insertions(+), 4 deletions(-) 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: