summaryrefslogtreecommitdiffstats
path: root/mailnews/addrbook/public/nsIAbLDAPCard.idl
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews/addrbook/public/nsIAbLDAPCard.idl')
-rw-r--r--mailnews/addrbook/public/nsIAbLDAPCard.idl56
1 files changed, 56 insertions, 0 deletions
diff --git a/mailnews/addrbook/public/nsIAbLDAPCard.idl b/mailnews/addrbook/public/nsIAbLDAPCard.idl
new file mode 100644
index 000000000..6761623f2
--- /dev/null
+++ b/mailnews/addrbook/public/nsIAbLDAPCard.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIAbCard.idl"
+
+interface nsIAbLDAPAttributeMap;
+interface nsILDAPModification;
+interface nsILDAPMessage;
+interface nsIArray;
+
+[scriptable, uuid(2831b3b0-30ef-4070-8ad3-90ae04980e11)]
+interface nsIAbLDAPCard : nsISupports
+{
+ /**
+ * Returns the required information for an LDAP update message.
+ *
+ * @param aAttrMap The map between LDAP attributes and card properties
+ * @param aClassCount The number of objectClass values
+ * @param aClasses The objectClass values that the card needs to have
+ * @param updateType This should be one of:
+ * nsILDAPModification::MOD_ADD
+ * nsILDAPModification::MOD_REPLACE
+ *
+ * @return Returns an array of modifications required to
+ * add or replace the card in the ldap directory.
+ */
+ nsIArray getLDAPMessageInfo(in nsIAbLDAPAttributeMap aAttrMap,
+ in unsigned long aClassCount,
+ [array, size_is(aClassCount)] in string aClasses,
+ in long updateType);
+
+ /**
+ * Builds a relative distinguished name (RDN) with the given set of
+ * attributes.
+ *
+ * @param aAttrMap The map between LDAP attributes and card properties
+ * @param aAttrCount The number of attributes to use for the RDN
+ * @param aAttributes The name of the attributes to use for the RDN
+ *
+ */
+ ACString buildRdn(in nsIAbLDAPAttributeMap aAttrMap,
+ in unsigned long aAttrCount,
+ [array, size_is(aAttrCount)] in string aAttributes);
+
+ /**
+ * Stores meta-properties from a raw LDAP search result.
+ *
+ * @param aMessage The LDAP search result message.
+ *
+ */
+ void setMetaProperties(in nsILDAPMessage aMessage);
+
+ attribute ACString dn;
+};