123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- /* 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/. */
- "use strict"
- function debug(s) {
- //dump("-*- AppsService.js: " + s + "\n");
- }
- const Cc = Components.classes;
- const Ci = Components.interfaces;
- const Cu = Components.utils;
- const Cr = Components.results;
- Cu.import("resource://gre/modules/XPCOMUtils.jsm");
- Cu.import("resource://gre/modules/Services.jsm");
- Cu.import("resource://gre/modules/Promise.jsm");
- const APPS_SERVICE_CID = Components.ID("{05072afa-92fe-45bf-ae22-39b69c117058}");
- function AppsService()
- {
- debug("AppsService Constructor");
- this.inParent = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime)
- .processType == Ci.nsIXULRuntime.PROCESS_TYPE_DEFAULT;
- debug("inParent: " + this.inParent);
- if (!this.inParent) {
- Cu.import("resource://gre/modules/AppsServiceChild.jsm");
- }
- }
- AppsService.prototype = {
- isInvalidId: function(localId) {
- return (localId == Ci.nsIScriptSecurityManager.NO_APP_ID ||
- localId == Ci.nsIScriptSecurityManager.UNKNOWN_APP_ID);
- },
- getAppByManifestURL: function getAppByManifestURL(aManifestURL) {
- debug("GetAppByManifestURL( " + aManifestURL + " )");
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getManifestFor: function getManifestFor(aManifestURL) {
- debug("getManifestFor(" + aManifestURL + ")");
- if (this.inParent) {
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- } else {
- return Promise.reject(
- new Error("Calling getManifestFor() from child is not supported"));
- }
- },
- getAppLocalIdByManifestURL: function getAppLocalIdByManifestURL(aManifestURL) {
- debug("getAppLocalIdByManifestURL( " + aManifestURL + " )");
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getAppLocalIdByStoreId: function getAppLocalIdByStoreId(aStoreId) {
- debug("getAppLocalIdByStoreId( " + aStoreId + " )");
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getAppByLocalId: function getAppByLocalId(aLocalId) {
- debug("getAppByLocalId( " + aLocalId + " )");
- if (this.isInvalidId(aLocalId)) {
- return null;
- }
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getManifestURLByLocalId: function getManifestURLByLocalId(aLocalId) {
- debug("getManifestURLByLocalId( " + aLocalId + " )");
- if (this.isInvalidId(aLocalId)) {
- return null;
- }
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getCoreAppsBasePath: function getCoreAppsBasePath() {
- debug("getCoreAppsBasePath()");
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getWebAppsBasePath: function getWebAppsBasePath() {
- debug("getWebAppsBasePath()");
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- areAnyAppsInstalled: function() {
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getAppInfo: function getAppInfo(aAppId) {
- debug("getAppInfo()");
- throw Cr.NS_ERROR_NOT_IMPLEMENTED;
- },
- getScopeByLocalId: function(aLocalId) {
- debug("getScopeByLocalId( " + aLocalId + " )");
- if (this.isInvalidId(aLocalId)) {
- return null;
- }
- // TODO : implement properly!
- // We just return null for now to not break PushService.jsm
- return null;
- },
- classID : APPS_SERVICE_CID,
- QueryInterface : XPCOMUtils.generateQI([Ci.nsIAppsService])
- }
- this.NSGetFactory = XPCOMUtils.generateNSGetFactory([AppsService])
|