summaryrefslogtreecommitdiff
path: root/plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-03-24 14:11:01 -0700
committerBrion Vibber <brion@pobox.com>2010-03-24 14:11:01 -0700
commitc3ceaa893fa878d531b0af05a3a8ed367177848c (patch)
tree69373ab2bbdb6dd516487752efd8889eeed8b31e /plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php
parent886e28aaa9e4e9a524d5b1a933a2d2a13994aec9 (diff)
parentecb009bcf5a6893b90d153be18c423dd7377796d (diff)
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 1.0.x
Diffstat (limited to 'plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php')
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php b/plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php
new file mode 100644
index 000000000..e0c3094c4
--- /dev/null
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php
@@ -0,0 +1,59 @@
+<?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
+* @version SVN: $Id: SchemaCache.interface.php 286718 2009-08-03 07:30:49Z beni $
+* @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);
+}