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 */