gecko/dom/icc/interfaces/nsIIccProvider.idl

93 lines
3.1 KiB
Plaintext

/* 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/. */
#include "nsISupports.idl"
interface nsIDOMContact;
interface nsIDOMDOMRequest;
interface nsIDOMMozIccInfo;
interface nsIDOMWindow;
[scriptable, uuid(82d25440-c913-11e2-8b8b-0800200c9a66)]
interface nsIIccListener : nsISupports
{
void notifyStkCommand(in DOMString aMessage);
void notifyStkSessionEnd();
void notifyIccCardLockError(in DOMString lockType,
in unsigned long retryCount);
void notifyCardStateChanged();
void notifyIccInfoChanged();
};
/**
* XPCOM component (in the content process) that provides the ICC information.
*/
[scriptable, uuid(52fa6780-c913-11e2-8b8b-0800200c9a66)]
interface nsIIccProvider : nsISupports
{
/**
* Called when a content process registers receiving unsolicited messages from
* RadioInterfaceLayer in the chrome process. Only a content process that has
* the 'mobileconnection' permission is allowed to register.
*/
void registerIccMsg(in nsIIccListener listener);
void unregisterIccMsg(in nsIIccListener listener);
/**
* UICC Information
*/
readonly attribute nsIDOMMozIccInfo iccInfo;
/**
* Card State
*/
readonly attribute DOMString cardState;
/**
* STK interfaces.
*/
void sendStkResponse(in nsIDOMWindow window,
in jsval command,
in jsval response);
void sendStkMenuSelection(in nsIDOMWindow window,
in unsigned short itemIdentifier,
in boolean helpRequested);
void sendStkTimerExpiration(in nsIDOMWindow window,
in jsval timer);
void sendStkEventDownload(in nsIDOMWindow window,
in jsval event);
/**
* Card lock interfaces.
*/
nsIDOMDOMRequest getCardLockState(in nsIDOMWindow window, in DOMString lockType);
nsIDOMDOMRequest unlockCardLock(in nsIDOMWindow window, in jsval info);
nsIDOMDOMRequest setCardLock(in nsIDOMWindow window, in jsval info);
nsIDOMDOMRequest getCardLockRetryCount(in nsIDOMWindow window, in DOMString lockType);
/**
* Phonebook interfaces.
*/
nsIDOMDOMRequest readContacts(in nsIDOMWindow window,
in DOMString contactType);
nsIDOMDOMRequest updateContact(in nsIDOMWindow window,
in DOMString contactType,
in nsIDOMContact contact,
in DOMString pin2);
/**
* Secure Card Icc communication channel
*/
nsIDOMDOMRequest iccOpenChannel(in nsIDOMWindow window,
in DOMString aid);
nsIDOMDOMRequest iccExchangeAPDU(in nsIDOMWindow window,
in long channel,
in jsval apdu);
nsIDOMDOMRequest iccCloseChannel(in nsIDOMWindow window,
in long channel);
};