blob: 6761623f2321fe3407341b1ed0f190fb01faa642 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;
};
|