mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-11-22 20:50:26 +01:00
47 lines
No EOL
1.1 KiB
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;
|
|
}
|
|
} |