1<?php 2/** 3 * @copyright Copyright (c) 2016, Roger Szabo (roger.szabo@web.de) 4 * 5 * @author Robin Appelman <robin@icewind.nl> 6 * @author Roeland Jago Douma <roeland@famdouma.nl> 7 * @author Roger Szabo <roger.szabo@web.de> 8 * @author root <root@localhost.localdomain> 9 * 10 * @license GNU AGPL version 3 or any later version 11 * 12 * This program is free software: you can redistribute it and/or modify 13 * it under the terms of the GNU Affero General Public License as 14 * published by the Free Software Foundation, either version 3 of the 15 * License, or (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU Affero General Public License for more details. 21 * 22 * You should have received a copy of the GNU Affero General Public License 23 * along with this program. If not, see <http://www.gnu.org/licenses/>. 24 * 25 */ 26namespace OCP\LDAP; 27 28use OCP\IServerContainer; 29 30/** 31 * Interface ILDAPProviderFactory 32 * 33 * This class is responsible for instantiating and returning an ILDAPProvider 34 * instance. 35 * 36 * @since 11.0.0 37 */ 38interface ILDAPProviderFactory { 39 40 /** 41 * Constructor for the LDAP provider factory 42 * 43 * @param IServerContainer $serverContainer server container 44 * @since 11.0.0 45 */ 46 public function __construct(IServerContainer $serverContainer); 47 48 /** 49 * creates and returns an instance of the ILDAPProvider 50 * 51 * @return ILDAPProvider 52 * @since 11.0.0 53 */ 54 public function getLDAPProvider(); 55 56 /** 57 * Check if an ldap provider is available 58 * 59 * @return bool 60 * @since 21.0.0 61 */ 62 public function isAvailable(): bool; 63} 64