mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-27 02:47:31 +09:00
71 lines
2 KiB
Text
71 lines
2 KiB
Text
/* -*- 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();
|
|
};
|