summaryrefslogtreecommitdiffstats
path: root/ldap/xpcom/public/nsILDAPServer.idl
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/xpcom/public/nsILDAPServer.idl')
-rw-r--r--ldap/xpcom/public/nsILDAPServer.idl86
1 files changed, 86 insertions, 0 deletions
diff --git a/ldap/xpcom/public/nsILDAPServer.idl b/ldap/xpcom/public/nsILDAPServer.idl
new file mode 100644
index 000000000..5fc9522e4
--- /dev/null
+++ b/ldap/xpcom/public/nsILDAPServer.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+#include "nsILDAPConnection.idl"
+
+interface nsILDAPURL;
+
+/**
+ * this interface provides a way to store, retrieve and manipulate
+ * information related to a specific LDAP server. This includes the
+ * LDAP URL, as well as certain user specific data (e.g. credentials).
+ *
+ * The implementation of nsILDAPService relies heavily on this
+ * interface, managing all LDAP connections (nsILDAPConnection).
+ * The Service manages LDAP connections (connect and disconnect etc.),
+ * using the information available from these LDAP Server objects.
+ */
+
+
+[scriptable, uuid(8aa717a4-1dd2-11b2-99c7-f01e2d449ded)]
+interface nsILDAPServer : nsISupports {
+
+ /**
+ * unique identifier for this server, used (typically) to identify a
+ * particular server object in a list of servers. This key can be
+ * any "string", but in our case it will most likely be the same
+ * identifier as used in a Mozilla preferences files.
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer to GET method
+ * @exception NS_ERROR_OUT_OF_MEMORY ran out of memory
+ */
+ attribute wstring key;
+
+ /**
+ * the password string used to bind to this server. An empty
+ * string here implies binding as anonymous.
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer to GET method
+ * @exception NS_ERROR_OUT_OF_MEMORY ran out of memory
+ */
+ attribute AUTF8String password;
+
+ /**
+ * the user name to authenticate as. An empty string here would
+ * imply binding as anonymous.
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer to GET method
+ * @exception NS_ERROR_OUT_OF_MEMORY ran out of memory
+ */
+ attribute AUTF8String username;
+
+ /**
+ * the bind DN (Distinguished Name).
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer to GET method
+ * @exception NS_ERROR_OUT_OF_MEMORY ran out of memory
+ */
+ attribute AUTF8String binddn;
+
+ /** maximum number of hits we want to accept from an LDAP search
+ * operation.
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer to GET method
+ */
+ attribute unsigned long sizelimit;
+
+ /**
+ * the URL for this server.
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer to GET method
+ */
+ attribute nsILDAPURL url;
+
+ /**
+ * protocol version to be used (see nsILDAPConnection.idl for constants)
+ * Defaults to 3.
+ *
+ * @exception NS_ERROR_NULL_POINTER NULL pointer passed to getter
+ * @exception NS_ERROR_INVALID_ARG Invalid version passed to setter
+ */
+ attribute unsigned long protocolVersion;
+};