Public Attributes

nsIAbLDAPAutoCompFormatter Interface Reference

An interface for formatter LDAP messages to be used as nsAutoCompleteItems for use in RFC 2822 message headers. More...

import "nsIAbLDAPAutoCompFormatter.idl";

Inheritance diagram for nsIAbLDAPAutoCompFormatter:
Collaboration diagram for nsIAbLDAPAutoCompFormatter:

List of all members.

Public Attributes

attribute AString nameFormat
 All three Format attributes are templates, which work as follows:
attribute AString addressFormat
attribute AString commentFormat

Detailed Description

An interface for formatter LDAP messages to be used as nsAutoCompleteItems for use in RFC 2822 message headers.


Member Data Documentation

All three Format attributes are templates, which work as follows:

Required LDAP attributes are delimited by curly braces, and optional LDAP attributes are determined by brackets. Backslash escapes any character, including itself. Someday perhaps we'll rev this interface and change these to a more flexible format; perhaps something regexp based.

If any of these are unset, components implementing this interface are free to choose reasonable defaults. As an example, the "@mozilla.org/ldap-autocomplete-formatter;1?type=addrbook" implementation currently happens to use the following default strings:

nameFormat: "[cn]" addressFormat: "{mail}" commentFormat: ""

and generates autocomplete items like this:

value: John Doe <john.doe@foo.org> comment: Foo Organization

Note that nsILDAPAutoCompFormatter::getAttributes() is only required to be called by the nsILDAPAutoCompleteSession implementation when the nsILDAPAutoCompleteSession::formatter IDL attribute is set. So if for some reason the format attributes exposed through this interface get changed (eg a user changes their prefs), it is the changing code's responsibly to re-set the nsILDAPAutoCompleteSession::formatter IDL attribute to the same object to force a new getAttributes() call.


The documentation for this interface was generated from the following file: