diff options
Diffstat (limited to 'mailnews/addrbook/public/nsIAbMDBDirectory.idl')
-rw-r--r-- | mailnews/addrbook/public/nsIAbMDBDirectory.idl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/mailnews/addrbook/public/nsIAbMDBDirectory.idl b/mailnews/addrbook/public/nsIAbMDBDirectory.idl new file mode 100644 index 000000000..200fcd8ee --- /dev/null +++ b/mailnews/addrbook/public/nsIAbMDBDirectory.idl @@ -0,0 +1,71 @@ +/* -*- 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 nsIFile; +interface nsIAbDirectory; +interface nsIAbCard; +interface nsIAddrDatabase; + +%{C++ +#define kMDBDirectoryRoot "moz-abmdbdirectory://" +#define kMDBDirectoryRootLen 21 +%} + +[scriptable, uuid(744072be-1ba0-46bc-af24-46e22567a2ea)] +interface nsIAbMDBDirectory : nsISupports { + + // Creates a directory component from the + // uriName, adds it to its children and returns + // the component + nsIAbDirectory addDirectory(in string uriName); + + /** + * Supplies a nsIFile point to the database file for this directory + * + * @exception NS_ERROR_NOT_INITIALIZED If there is no filename preference + * present or it is empty + */ + readonly attribute nsIFile databaseFile; + + /** + * Supplies a nsIAddrDatabase that uses the databaseFile. See also + * databaseFile for possible exceptions. + */ + readonly attribute nsIAddrDatabase database; + + // Mail list specific + // + + // Removes all elements from the addressLists + // property + [noscript] void removeElementsFromAddressList(); + + // Specific to a directory which stores mail lists + // + + // Adds a directory to the addressLists attribute + void addMailListToDirectory(in nsIAbDirectory mailList); + + // Specific to a directory which is a mail list + // + + // Copies mail list properties from the srcList + void copyDBMailList(in nsIAbMDBDirectory srcListDB); + + // Adds a card to the addressList attribute + void addAddressToList(in nsIAbCard card); + + // Removes items from the addressLists member + void removeEmailAddressAt(in unsigned long aIndex); + + attribute unsigned long dbRowID; + + // Empty implementation, called by the data base + [noscript] void notifyDirItemAdded(in nsISupports item); + + [noscript] void clearDatabase(); +}; |