/* -*- 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/. */ /* Interface for importing mail - ui provided by the import module. If you wish to provide your own UI then implement the nsIImportGeneric interface. Can I get an attribute set method to take a const value??? */ #include "nsISupports.idl" interface nsIFile; /** * Implementation Note: * * The default implementation can be obtained from * nsIImportService::CreateNewABDescriptor(); * * You should only be interested in using this class if you implement * the nsIImportAddressBooks interface in which case, just using the service to * create new ones should work fine for you. If not, implement your * own. */ [scriptable, uuid(2d8983b2-cea6-4ae2-9145-eb772481fa18)] interface nsIImportABDescriptor : nsISupports { /** * use the following 2 attributes however you'd like to * refer to a specific address book */ attribute unsigned long identifier; attribute unsigned long ref; /** * Doesn't have to be accurate, this is merely used to report progress. * If you're importing a file, using file size and reporting progress * as the number of bytes processed so far makes sense. For other formats * returning the number of records may make more sense. */ attribute unsigned long size; /** * The preferred name for this address book. Depending upon how the * user selected import, the caller of the nsIImportAddressBooks interface * may use this name to create the destination address book or it may * ignore it. However, this must be provided in all cases as it is * also displayed in the UI to the user. */ attribute AString preferredName; /** * For address books that want a file descriptor to locate the address book. * For formats that do not, use identifier & ref to refer to the address book * OR implement your own nsIImportABDescriptor that contains additional data * necessary to identify specific address books, */ attribute nsIFile abFile; /** * Set by the UI to indicate whether or not this address book should be imported. */ attribute boolean import; };