michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * vim: sw=2 ts=8 et : michael@0: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "domstubs.idl" michael@0: michael@0: /** michael@0: * We expose Gecko-internal helpers related to "web apps" through this michael@0: * sub-interface. michael@0: */ michael@0: [scriptable, uuid(7bd62430-c374-49eb-be1b-ce821a180360)] michael@0: interface mozIApplication: nsISupports michael@0: { michael@0: /* Return true if this app has |permission|. */ michael@0: boolean hasPermission(in string permission); michael@0: michael@0: /* Application status as defined in nsIPrincipal. */ michael@0: readonly attribute unsigned short appStatus; michael@0: michael@0: /* Returns the uuid of the app. */ michael@0: readonly attribute DOMString id; michael@0: michael@0: /* Returns the origin of the app. */ michael@0: readonly attribute DOMString origin; michael@0: michael@0: /* Returns the manifest url of the app. */ michael@0: readonly attribute DOMString manifestURL; michael@0: michael@0: /* Returns the local id of the app. */ michael@0: readonly attribute unsigned long localId; michael@0: michael@0: /* Returns the base directory for the app */ michael@0: readonly attribute DOMString basePath; michael@0: michael@0: /* Name copied from the manifest */ michael@0: readonly attribute DOMString name; michael@0: michael@0: /* CSP copied from the manifest */ michael@0: readonly attribute DOMString csp; michael@0: michael@0: /* Store ID if the app is installed from a store */ michael@0: readonly attribute DOMString storeID; michael@0: michael@0: /* Store version if the app is installed from a store */ michael@0: readonly attribute unsigned long storeVersion; michael@0: michael@0: /* role copied from the manifest */ michael@0: readonly attribute DOMString role; michael@0: };