gecko-dev/dom/icc/ipc/PIcc.ipdl

166 строки
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 protocol PContent;
include protocol PIccRequest;
include PIccTypes;
using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
namespace mozilla {
namespace dom {
namespace icc {
union OptionalIccInfoData
{
void_t;
IccInfoData;
};
struct GetCardLockEnabledRequest
{
uint32_t lockType;
};
struct UnlockCardLockRequest
{
uint32_t lockType;
nsString password;
nsString newPin;
};
struct SetCardLockEnabledRequest
{
uint32_t lockType;
nsString password;
bool enabled;
};
struct ChangeCardLockPasswordRequest
{
uint32_t lockType;
nsString password;
nsString newPassword;
};
struct GetCardLockRetryCountRequest
{
uint32_t lockType;
};
struct MatchMvnoRequest
{
uint32_t mvnoType;
nsString mvnoData;
};
struct GetServiceStateEnabledRequest
{
uint32_t service;
};
struct ReadContactsRequest
{
uint32_t contactType;
};
struct UpdateContactRequest
{
uint32_t contactType;
nsString pin2;
IccContactData contact;
};
union IccRequest
{
GetCardLockEnabledRequest;
UnlockCardLockRequest;
SetCardLockEnabledRequest;
ChangeCardLockPasswordRequest;
GetCardLockRetryCountRequest;
MatchMvnoRequest;
GetServiceStateEnabledRequest;
ReadContactsRequest;
UpdateContactRequest;
};
sync protocol PIcc
{
manager PContent;
manages PIccRequest;
child:
/**
* Notify CardStateChanged with updated CardState.
*/
NotifyCardStateChanged(uint32_t aCardState);
/**
* Notify IccInfoChanged with updated IccInfo.
*/
NotifyIccInfoChanged(OptionalIccInfoData aInfoData);
/**
* Notify STK proactive command issue by selected UICC.
*
* @param aStkProactiveCmd
* a MozStkCommand instance serialized in JSON.
*/
NotifyStkCommand(nsString aStkProactiveCmd);
/**
* Notify that STK session is ended by selected UICC.
*/
NotifyStkSessionEnd();
parent:
/**
* Sent when the child no longer needs to use PIcc.
*/
__delete__();
/**
* Sent when the child makes an asynchronous request to the parent.
*/
PIccRequest(IccRequest aRequest);
/**
* Send STK response to the selected UICC.
*
* @param aCommand
* a MozStkCommand instance serialized in JSON.
* @param aResponse
* a MozStkResponse instance serialized in JSON.
*/
StkResponse(nsString aCommand, nsString aResponse);
/**
* Send STK Menu Selection to the selected UICC.
*/
StkMenuSelection(uint16_t aItemIdentifier, bool aHelpRequested);
/**
* Send STK Timer Expiration to the selected UICC.
*/
StkTimerExpiration(uint16_t aTimerId, uint32_t aTimerValue);
/**
* Send STK Event Download to the selected UICC.
*
* @param aEvent
* a MozStkXxxEvent instance serialized in JSON.
*/
StkEventDownload(nsString aEvent);
/**
* Sync call to initialize the updated IccInfo/CardState.
*/
sync Init()
returns (OptionalIccInfoData aInfoData, uint32_t aCardState);
};
} // namespace icc
} // namespace dom
} // namespace mozilla