Bumping manifests a=b2g-bump
[gecko.git] / dom / secureelement / SEUtils.jsm
blobe11c4b6933a96ef284917719ea7e37dc99dd429d
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 /* Copyright © 2015, Deutsche Telekom, Inc. */
7 "use strict";
9 this.SEUtils = {
10   byteArrayToHexString: function byteArrayToHexString(array) {
11     let hexStr = "";
13     let len = array ? array.length : 0;
14     for (let i = 0; i < len; i++) {
15       let hex = (array[i] & 0xff).toString(16);
16       hex = (hex.length === 1) ? "0" + hex : hex;
17       hexStr += hex;
18     }
20     return hexStr.toUpperCase();
21   },
23   hexStringToByteArray: function hexStringToByteArray(hexStr) {
24     if (typeof hexStr !== "string" || hexStr.length % 2 !== 0) {
25       return [];
26     }
28     let array = [];
29     for (let i = 0, len = hexStr.length; i < len; i += 2) {
30       array.push(parseInt(hexStr.substr(i, 2), 16));
31     }
33     return array;
34   },
36   arraysEqual: function arraysEqual(a1, a2) {
37     if (!a1 || !a2) {
38       return false;
39     }
41     if (a1.length !== a2.length) {
42       return false;
43     }
45     for (let i = 0, len = a1.length; i < len; i++) {
46       if (a1[i] !== a2[i]) {
47         return false;
48       }
49     }
51     return true;
52   },
55 this.EXPORTED_SYMBOLS = ["SEUtils"];