dom/icc/interfaces/nsIIccProvider.idl

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:47aadb1f5974
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/. */
4
5 #include "nsISupports.idl"
6
7 interface nsIDOMDOMRequest;
8 interface nsIDOMMozIccInfo;
9 interface nsIDOMWindow;
10
11 [scriptable, uuid(7c0ada3d-d8d4-493e-9243-fa3df39855e4)]
12 interface nsIIccListener : nsISupports
13 {
14 void notifyStkCommand(in DOMString aMessage);
15 void notifyStkSessionEnd();
16 void notifyCardStateChanged();
17 void notifyIccInfoChanged();
18 };
19
20 /**
21 * XPCOM component (in the content process) that provides the ICC information.
22 */
23 [scriptable, uuid(7c67ab92-52a3-4e11-995c-c0ad2f66c4cb)]
24 interface nsIIccProvider : nsISupports
25 {
26 /**
27 * Called when a content process registers receiving unsolicited messages from
28 * RadioInterfaceLayer in the chrome process. Only a content process that has
29 * the 'mobileconnection' permission is allowed to register.
30 */
31 void registerIccMsg(in unsigned long clientId, in nsIIccListener listener);
32 void unregisterIccMsg(in unsigned long clientId, in nsIIccListener listener);
33
34 /**
35 * UICC Information
36 */
37 nsIDOMMozIccInfo getIccInfo(in unsigned long clientId);
38
39 /**
40 * Card State
41 */
42 DOMString getCardState(in unsigned long clientId);
43
44 /**
45 * STK interfaces.
46 */
47 void sendStkResponse(in unsigned long clientId,
48 in nsIDOMWindow window,
49 in jsval command,
50 in jsval response);
51 void sendStkMenuSelection(in unsigned long clientId,
52 in nsIDOMWindow window,
53 in unsigned short itemIdentifier,
54 in boolean helpRequested);
55 void sendStkTimerExpiration(in unsigned long clientId,
56 in nsIDOMWindow window,
57 in jsval timer);
58 void sendStkEventDownload(in unsigned long clientId,
59 in nsIDOMWindow window,
60 in jsval event);
61
62 /**
63 * Card lock interfaces.
64 */
65 nsIDOMDOMRequest getCardLockState(in unsigned long clientId,
66 in nsIDOMWindow window,
67 in DOMString lockType);
68 nsIDOMDOMRequest unlockCardLock(in unsigned long clientId,
69 in nsIDOMWindow window,
70 in jsval info);
71 nsIDOMDOMRequest setCardLock(in unsigned long clientId,
72 in nsIDOMWindow window,
73 in jsval info);
74 nsIDOMDOMRequest getCardLockRetryCount(in unsigned long clientId,
75 in nsIDOMWindow window,
76 in DOMString lockType);
77
78 /**
79 * Phonebook interfaces.
80 */
81 nsIDOMDOMRequest readContacts(in unsigned long clientId,
82 in nsIDOMWindow window,
83 in DOMString contactType);
84
85 nsIDOMDOMRequest updateContact(in unsigned long clientId,
86 in nsIDOMWindow window,
87 in DOMString contactType,
88 in jsval contact,
89 in DOMString pin2);
90
91 /**
92 * Secure Card Icc communication channel
93 */
94 nsIDOMDOMRequest iccOpenChannel(in unsigned long clientId,
95 in nsIDOMWindow window,
96 in DOMString aid);
97
98 nsIDOMDOMRequest iccExchangeAPDU(in unsigned long clientId,
99 in nsIDOMWindow window,
100 in long channel,
101 in jsval apdu);
102
103 nsIDOMDOMRequest iccCloseChannel(in unsigned long clientId,
104 in nsIDOMWindow window,
105 in long channel);
106
107 /**
108 * Helpers
109 */
110 nsIDOMDOMRequest matchMvno(in unsigned long clientId,
111 in nsIDOMWindow window,
112 in DOMString mvnoType,
113 in DOMString mvnoData);
114 };

mercurial