2009-11-04 18:39:56 +00:00
|
|
|
<?php
|
|
|
|
/* vim: set expandtab tabstop=4 shiftwidth=4: */
|
|
|
|
/**
|
|
|
|
* File containing the Net_LDAP2_SchemaCache interface class.
|
|
|
|
*
|
|
|
|
* PHP version 5
|
|
|
|
*
|
|
|
|
* @category Net
|
|
|
|
* @package Net_LDAP2
|
|
|
|
* @author Benedikt Hallinger <beni@php.net>
|
|
|
|
* @copyright 2009 Benedikt Hallinger
|
|
|
|
* @license http://www.gnu.org/licenses/lgpl-3.0.txt LGPLv3
|
2016-01-28 12:34:45 +00:00
|
|
|
* @version SVN: $Id$
|
2009-11-04 18:39:56 +00:00
|
|
|
* @link http://pear.php.net/package/Net_LDAP2/
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Interface describing a custom schema cache object
|
|
|
|
*
|
|
|
|
* To implement a custom schema cache, one must implement this interface and
|
|
|
|
* pass the instanciated object to Net_LDAP2s registerSchemaCache() method.
|
|
|
|
*/
|
|
|
|
interface Net_LDAP2_SchemaCache
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Return the schema object from the cache
|
|
|
|
*
|
|
|
|
* Net_LDAP2 will consider anything returned invalid, except
|
|
|
|
* a valid Net_LDAP2_Schema object.
|
|
|
|
* In case you return a Net_LDAP2_Error, this error will be routed
|
|
|
|
* to the return of the $ldap->schema() call.
|
|
|
|
* If you return something else, Net_LDAP2 will
|
|
|
|
* fetch a fresh Schema object from the LDAP server.
|
|
|
|
*
|
|
|
|
* You may want to implement a cache aging mechanism here too.
|
|
|
|
*
|
|
|
|
* @return Net_LDAP2_Schema|Net_LDAP2_Error|false
|
|
|
|
*/
|
|
|
|
public function loadSchema();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Store a schema object in the cache
|
|
|
|
*
|
|
|
|
* This method will be called, if Net_LDAP2 has fetched a fresh
|
|
|
|
* schema object from LDAP and wants to init or refresh the cache.
|
|
|
|
*
|
|
|
|
* In case of errors you may return a Net_LDAP2_Error which will
|
|
|
|
* be routet to the client.
|
|
|
|
* Note that doing this prevents, that the schema object fetched from LDAP
|
|
|
|
* will be given back to the client, so only return errors if storing
|
|
|
|
* of the cache is something crucial (e.g. for doing something else with it).
|
|
|
|
* Normaly you dont want to give back errors in which case Net_LDAP2 needs to
|
|
|
|
* fetch the schema once per script run and instead use the error
|
|
|
|
* returned from loadSchema().
|
|
|
|
*
|
|
|
|
* @return true|Net_LDAP2_Error
|
|
|
|
*/
|
|
|
|
public function storeSchema($schema);
|
|
|
|
}
|