0
0
Fork 0
mirror of https://github.com/verdigado/organization_folders.git synced 2024-11-24 21:50:26 +01:00
organization_folders/lib/OrganizationProvider/OrganizationProviderManager.php

47 lines
No EOL
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace OCA\OrganizationFolders\OrganizationProvider;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Server;
use OCA\OrganizationFolders\Events\RegisterOrganizationProviderEvent;
class OrganizationProviderManager {
private array $organizationProviders = [];
public function __construct(
IEventDispatcher $dispatcher,
) {
$event = new RegisterOrganizationProviderEvent($this);
$dispatcher->dispatchTyped($event);
}
/**
* @return OrganizationProvider[]
*/
public function getOrganizationProviders(): array {
return $this->organizationProviders;
}
/**
* @return bool
*/
public function hasOrganizationProvider($id): bool {
return array_key_exists($id, $this->organizationProviders);
}
/**
* @return OrganizationProvider
*/
public function getOrganizationProvider($id): ?OrganizationProvider {
return $this->organizationProviders[$id];
}
public function registerOrganizationProvider(OrganizationProvider $organizationProvider): self {
$this->organizationProviders[$organizationProvider->getId()] = $organizationProvider;
return $this;
}
}