Extension Manager:Sqlite Storage:nsIAddon
Jump to navigation
Jump to search
This replaces nsIUpdateItem
nsIAddon
/**
* An item managed by the Extension System. Contains metadata that describes
* the item.
*/
[scriptable, uuid(89c8d1a5-ac74-46e0-b983-7778c275d625)]
interface nsIAddon : nsISupports
{
const unsigned long TYPE_APP = 0x01;
const unsigned long TYPE_EXTENSION = 0x02;
const unsigned long TYPE_THEME = 0x04;
const unsigned long TYPE_LOCALE = 0x08;
const unsigned long TYPE_MULTI_XPI = 0x20;
const unsigned long TYPE_ADDON = TYPE_EXTENSION + TYPE_THEME + TYPE_LOCALE;
const unsigned long TYPE_ANY = 0xff;
/**
* The GUID of the item.
*/
readonly attribute AString id;
/**
* The name of the Install Location where this item is installed.
*/
readonly attribute AString installLocationKey;
/**
* The Version of the item, in FVF format.
*/
readonly attribute AString version;
/**
* The type of this item.
*/
readonly attribute long type;
/**
* The URL of the update manifest for this item.
*/
readonly attribute AString updateURL;
/**
* The public key to verify updates for this item. This must be the public
* part of the key that was used to sign update manifests for this add-on.
*/
readonly attribute AString updateKey;
/**
* The URL of the options dialog for for this item.
*/
readonly attribute AString optionsURL;
/**
* The URL of the about dialog for this item.
*/
readonly attribute AString aboutURL;
/**
* The URL of the icon that can be shown for this item.
*/
readonly attribute AString iconURL;
/**
* The internal chrome name for this item if it is a theme.
*/
readonly attribute AString internalName;
/**
* This attribute is true if the item is locked and cannot be
* uninstalled.
*/
readonly attribute boolean locked;
/**
* This attribute is true if the item is hidden and should not be
* displayed to the user.
*/
readonly attribute boolean hidden;
/**
* This attribute is true if the item is managed by the application.
*/
readonly attribute boolean appManaged;
/**
* This attribute is true if the user has disabled the item.
*/
readonly attribute boolean userDisabled;
/**
* This attribute is true if anything is causing the item to be
* disabled.
*/
readonly attribute boolean isDisabled;
/**
* This attribute is true if the item is blocklisted.
*/
readonly attribute boolean isBlocklisted;
/**
* This attribute is true if the item is compatible with the
* current application.
*/
readonly attribute boolean isCompatible;
/**
* The target application ID used for checking compatibility for this item.
*
* @note Add-ons can specify a targetApplication id of toolkit@mozilla.org in
* their install manifest for compatibility with all apps using a
* specific release of the toolkit.
*/
readonly attribute AString targetAppID;
/**
* The minimum version of this application that this item works with,
* in FVF format.
*/
readonly attribute AString minAppVersion;
/**
* The maximum version of this application that this item works with,
* in FVF format.
*/
readonly attribute AString maxAppVersion;
/**
* The name of this item.
*/
readonly attribute AString name;
/**
* The description of this item.
*/
readonly attribute AString description;
/**
* The creator of this item.
*/
readonly attribute AString creator;
/**
* The homepageURL of this item.
*/
readonly attribute AString homepageURL;
/**
* Retrieve the list of developers of this item.
*/
void getDevelopers(out unsigned long count,
[retval, array, size_is(count)] out AString developers)
/**
* Retrieve the list of translators of this item.
*/
void getTranslators(out unsigned long count,
[retval, array, size_is(count)] out AString translators)
/**
* Retrieve the list of contributors of this item.
*/
void getContributors(out unsigned long count,
[retval, array, size_is(count)] out AString contributors)
};
nsIAddonDownload
/**
* An item that is currently waiting to be downloaded/installed.
* Certain of the nsIAddon properties are only available after the
* xpi has been downloaded.
*/
[scriptable, uuid(89c8d1a5-ac74-46e0-b983-7778c275d625)]
interface nsIAddonDownload : nsIAddon
{
/**
* Before download has started, e.g. for available updates.
*/
const unsigned long STATE_PENDING = 0;
const unsigned long STATE_DOWNLOADING = 1;
/**
* This state may be skipped if no check is necessary.
*/
const unsigned long STATE_CHECKING_COMPATIBILITY = 2;
const unsigned long STATE_INSTALLING = 3;
/**
* This state may be skipped if no restart is necessary.
*/
const unsigned long STATE_PENDING_RESTART = 4;
const unsigned long STATE_INSTALLED = 5;
/**
* The current state of the install. There are notifications
* in nsIAddonInstallListener whenever this changes.
*/
readonly attribute unsigned long state
/**
* The url of any information about the update
*/
readonly attribute nsIURL updateInfoURL
/**
* The url of the xpi
*/
readonly attribute nsIURL xpiURL
/**
* The expected hash of the xpi
*/
readonly attribute AString xpiHash
/**
* The certificate signing the xpi
*/
readonly attribute nsIPrincipal certificate
/**
* Adds an install listener that will be notified of state changes
* for this install.
*/
void addInstallListener(in nsIAddonInstallListener installListener);
}