mail/components/addrbook, while the back end is in
mailnews/addrbook. This documentation only describes the back end.
nsIAbManagerand implemented as
AddrBookManager. You can get a reference to the manager at
nsIAbManageralso defines the
DIRECTORY_TYPEconstants mentioned below.
AddrBookDirectorywhich handles most of the implementation detail using data provided by a sub-class. It should not be instantiated directly.
SQLiteDirectorywhich, as the name implies, stores data in an SQLite database in the user profile. It inherits from
AddrBookDirectory. Directories of this type have URIs with the scheme
jsaddrbook, and are of type
SQLiteDirectoryby adding CardDAV capabilities. Directories of this type have URIs with the scheme
jscarddav, and are of type
AddrBookDirectoryand adds LDAP capabilities. Directories of this type have URIs with the scheme
moz-abldapdirectory, and are of type
nsAbDirPropertyprovides a base C++ implementation of
nsIAbDirectoryto OS-specific address books
nsAbOutlookDirectory. These are both of type
MAPI_DIRECTORY_TYPE. The OS-specific types are likely to be discontinued.
nsIAbCard. The are accessible by the
childCardsproperty as well as methods for searching, adding, modifying, and deleting contacts. (Confusingly a "card" can also refer to a mailing list, see below.)
AddrBookCardfor all of the JS code, or
nsIAbCard, depending on the situation. Directories provide an array of their mailing lists as
childNodesproperty. They also appear as
childCardsproperty and some of the methods that handle cards.
childNodesof its own. However in a confusing quirk, it can have the card of another mailing list in its
nsIAbDirectoryand "data" is the parent directory's UID.
SecondEmail, but there's nowhere to store the third.
nsIAbCardgains two new members:
supportsVCarda boolean value indicating support for vCard (or lack thereof). Only
AddrBookCardobjects currently support vCard.
VCardPropertiesobject if the card supports vCard, or null.
VCardPropertiesclass contains methods for parsing, manipulating, and serialising vCards. Each piece of information in a card is represented by a
VCardPropertyEntryobject. See VCardUtils.jsm for more information.
_vCardand the value will be the entire vCard.
vCardPropertiesmember is serialised.
VCardPropertiesobject, then serialised.
nsIAbCard(any implementation) into a vCard string.
Mapof keys and values to a vCard string.
VCardUtils.vCardToAbCardconverts a vCard string to an
VCardProperties.fromVCardconverts vCard string to a
Mapof keys and values to a
VCardPropertiesobject to a
Mapof keys and values.
VCardPropertiesobject to a vCard string.