Interface representing a system for the installation and management of
Extensions, Themes etc.
XXXben - Some of this stuff should go into a management-ey interface,
some into an app-startup-ey interface.
[scriptable, uuid(a3f5396c-a6e8-414a-8fbc-c8d831746328)]
Attributes
The Extensions Datasource
XXXben - the datasource should be registered with the RDF system, so it
can be accessed via rdf:extensions, and not exposed through the API
like this.
An enumeration of all registered Install Items
Methods
Adds active download entries to the UI
@param items
A list of nsIUpdateItems to entries to add
@param itemCount
The length of |items|
@param fromChrome
true when called from chrome
false when not called from chrome (e.g. web page)
void
addDownloads([array, size_is(itemCount)] in nsIUpdateItem items, in unsigned long itemCount, in boolean fromChrome)
Adds a download progress listener so the front end can listen to download
and install progress.
@param listener
The listener to add
@returns the index of the added listen in the listener list.
Determines if there are incompatible items installed (and offers to
upgrade them to newer versions if available, via a UI).
@returns true if there were incompatible items that were disabled
and the application needs to restart to re-register components,
chrome etc, false otherwise.
Retrieves a list of nsIUpdateItems of items that are incompatible
with the supplied parameters.
@param id
The id of the application to check compatibility against
@param version
The version of the application to check compatibility against
@param type
The type of item to return
@param includeDisabled
true if disabled items should be included in the result set,
false otherwise
@param countRef
The XPCJS reference to the number of items returned.
@returns An array of incompatible nsIUpdateItems.
void
getIncompatibleItemList(in AString id, in AString version, in unsigned long type, in boolean includeDisabled, out unsigned long itemCount, [array, retval, size_is(itemCount)] out nsIUpdateItem items)
Gets the Install Location for an item
@param id
The GUID of the item
@returns The Install Location where the item is installed.
Gets a nsIUpdateItem for the item with the specified id.
@param id
The GUID of the item to construct a nsIUpdateItem for.
@returns The nsIUpdateItem representing the item.
Retrieves a list of visible nsIUpdateItems of items matching the
specified type.
@param type
The type of item to return.
@param countRef
The XPCJS reference to the number of items returned.
@returns An array of nsIUpdateItems matching the id/type filter.
XXXben - it would be good if this function took an optional
install location.
void
getItemList(in unsigned long type, out unsigned long itemCount, [array, retval, size_is(itemCount)] out nsIUpdateItem items)
Handle command line flags, e.g. -install-global-[extension|theme]
@param cmdLine
the command line the application was started with
XXXben - move this off this API - currently it is only used for
global installation, and the apprunner can do this directly
with |installItemFromFile|
Installs an item from a XPI/JAR file into the location specified.
@param xpiFile
The source file to install from. This function stages a copy
of this file for persistence across potential application
restarts, you are responsible for removing the file you pass
in.
@param installLocationKey
The name identifier of an Install Location to install into.
Move an Item to the index of another item in its container.
@param movingID
The ID of an item to be moved.
@param destinationID
The ID of an item to move an item to.
Removes an active download from the UI
@param url
The URL of the active download to remove
Removes a download progress listener.
@param index
The index of the listener to remove.
Starts the Extension Manager, checking for item changes, additions and
removals, and finishing pending operations.
@param commandLine
The command line the application was started with.
@returns true if the application has rewritten the extensions.ini file
and needs to restart to register components/chrome etc,
false otherwise
Checks for updates to a list of items.
@param items
An array of nsIUpdateItems to check for updates for.
@param itemCount
The length of |items|
@param versionUpdateOnly
false if this check should find the newest versions available,
true if it should only find newer target application compatibility
information for the currently installed version.
2 if this check should only find target application compatibility
information for the currently installed version and synchronize
the values.
@param listener
An nsIAddonUpdateCheckListener object which will be notified during
the update check process.
void
update([array, size_is(itemCount)] in nsIUpdateItem items, in unsigned long itemCount, in unsigned long versionUpdateOnly, in nsIAddonUpdateCheckListener listener)
Compare to: