From a5ba481653b44ff372c386fb88cf100d820103a0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 23 May 2026 17:51:14 +0200 Subject: [PATCH] feat: allow unregistering group backends Signed-off-by: Robin Appelman --- lib/private/Group/Manager.php | 8 ++++++++ lib/public/IGroupManager.php | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/lib/private/Group/Manager.php b/lib/private/Group/Manager.php index cb3b0d3b12a..415a38ef418 100644 --- a/lib/private/Group/Manager.php +++ b/lib/private/Group/Manager.php @@ -104,6 +104,14 @@ class Manager extends PublicEmitter implements IGroupManager { $this->clearCaches(); } + #[\Override] + public function removeBackend(GroupInterface $backend): void { + $this->clearCaches(); + if (($i = array_search($backend, $this->backends)) !== false) { + unset($this->backends[$i]); + } + } + #[\Override] public function clearBackends() { $this->backends = []; diff --git a/lib/public/IGroupManager.php b/lib/public/IGroupManager.php index d0ca043e923..5f2fd334759 100644 --- a/lib/public/IGroupManager.php +++ b/lib/public/IGroupManager.php @@ -39,6 +39,11 @@ interface IGroupManager { */ public function addBackend($backend); + /** + * @since 34.0.0 + */ + public function removeBackend(GroupInterface $backend): void; + /** * @since 8.0.0 */