diff options
Diffstat (limited to 'dom/secureelement/gonk/nsIAccessRulesManager.idl')
-rw-r--r-- | dom/secureelement/gonk/nsIAccessRulesManager.idl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/dom/secureelement/gonk/nsIAccessRulesManager.idl b/dom/secureelement/gonk/nsIAccessRulesManager.idl new file mode 100644 index 000000000..173f57c90 --- /dev/null +++ b/dom/secureelement/gonk/nsIAccessRulesManager.idl @@ -0,0 +1,50 @@ +/* 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/. */ + +/* Copyright © 2015, Deutsche Telekom, Inc. */ + +#include "nsISupports.idl" + +[scriptable, uuid(7baedd2a-3189-4b03-b2a3-34016043b5e2)] +interface nsIAccessRulesManager : nsISupports +{ + /* Wildcard: rule allows all applications to access an SE applet */ + const unsigned short ALLOW_ALL = 1; + /* Wildcard: rule denies all applications to access an SE applet */ + const unsigned short DENY_ALL = 2; + /* Wildcard: rule allows application(s) access to all SE applets */ + const unsigned short ALL_APPLET = 3; + + /** + * Initiates Access Rules Manager, this should perform the initial + * reading of rules from access rule source + * @return Promise which is resolved if init is successful or rejected + * otherwise + */ + jsval init(); + + /** + * Retrieves all access rules. + * + * Rules are stored in an array. Each rule contains the following properties: + * - applet - describes an SE applet referenced by this rule. Might equal + * to an applet AID (as a byte array), or to a wildcard "all" + * meaning all applets. + * - application - describes an application referenced by this rule. Might + * be an array of developer certificate hashes (each as + * a byte array) in which case it lists all applications + * allowed access. Alternatively, might equal to wildcard + * "allowed-all" or "denied-all". + * + * Example rule format: + * [{ applet: ALL_APPLET, + * application: [[0x01, 0x02, ..., 0x20], + * [0x20, 0x19, ...., 0x01]], + * { applet: [0x00, 0x01, ..., 0x05], + * application: ALLOW_ALL}}] + * + * @return Promise which resolves with Array containing parsed access rules + */ + jsval getAccessRules(); +}; |