/* -*- 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 "nsISupports.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; };