/* 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 "nsIMobileConnectionService.idl" %{C++ #define GONK_MOBILECONNECTION_SERVICE_CONTRACTID \ "@mozilla.org/mobileconnection/gonkmobileconnectionservice;1" %} [scriptable, uuid(3c306f88-86bf-11e5-91af-3b2233acec65)] interface nsIGonkMobileConnectionService : nsIMobileConnectionService { void notifyNetworkInfoChanged(in unsigned long clientId, in jsval networkInfo); void notifyVoiceInfoChanged(in unsigned long clientId, in jsval voiceInfo); void notifyDataInfoChanged(in unsigned long clientId, in jsval dataInfo); void notifyDataError(in unsigned long clientId, in DOMString message); void notifySignalStrengthChanged(in unsigned long clientId, in jsval signal); void notifyOperatorChanged(in unsigned long clientId, in jsval info); void notifyOtaStatusChanged(in unsigned long clientId, in DOMString status); void notifyRadioStateChanged(in unsigned long clientId, in long radioState); void notifyEmergencyCallbackModeChanged(in unsigned long clientId, in boolean active, in unsigned long timeoutMs); void notifyNetworkSelectModeChanged(in unsigned long clientId, in long mode); void notifySpnAvailable(in unsigned long clientId); void notifyLastHomeNetworkChanged(in unsigned long clientId, in DOMString network); void notifyCFStateChanged(in unsigned long clientId, in unsigned short action, in unsigned short reason, in DOMString number, in unsigned short timeSeconds, in unsigned short serviceClass); /** * Notify Display Info from received Cdma-Info-Record. * See 3.7.4.1 Display in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param display The string to be displayed. */ void notifyCdmaInfoRecDisplay(in unsigned long clientId, in DOMString display); /** * Notify Called Party Number from received Cdma-Info-Record. * See 3.7.4.2 Called Party Number in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param type * The type of number. (3-bit binary) * See Table 2.7.1.3.2.4-2 in 3GPP2 C.S0005-F. * @param plan * The numbering plan. (4-bit binary) * See Table 2.7.1.3.2.4-3 in 3GPP2 C.S0005-F. * @param number * The string presentation of the number. * @param pi (2-bit binary) * The Presentation indicator of the number. * See Table 2.7.4.4-1 in 3GPP2 C.S0005-F. * @param si (2-bit binary) * The Screening Indicator of the number. * See Table 2.7.4.4-2 in 3GPP2 C.S0005-F. */ void notifyCdmaInfoRecCalledPartyNumber(in unsigned long clientId, in unsigned short type, in unsigned short plan, in DOMString number, in unsigned short pi, in unsigned short si); /** * Notify Calling Party Number from received Cdma-Info-Record. * See 3.7.4.3 Calling Party Number in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param type * The type of number. (3-bit binary) * See Table 2.7.1.3.2.4-2 in 3GPP2 C.S0005-F. * @param plan * The numbering plan. (4-bit binary) * See Table 2.7.1.3.2.4-3 in 3GPP2 C.S0005-F. * @param number * The string presentation of the number. * @param pi (2-bit binary) * The Presentation indicator of the number. * See Table 2.7.4.4-1 in 3GPP2 C.S0005-F. * @param si (2-bit binary) * The Screening Indicator of the number. * See Table 2.7.4.4-2 in 3GPP2 C.S0005-F. */ void notifyCdmaInfoRecCallingPartyNumber(in unsigned long clientId, in unsigned short type, in unsigned short plan, in DOMString number, in unsigned short pi, in unsigned short si); /** * Notify Connected Party Number from received Cdma-Info-Record. * See 3.7.4.4 Connected Party Number in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param type * The type of number. (3-bit binary) * See Table 2.7.1.3.2.4-2 in 3GPP2 C.S0005-F. * @param plan * The numbering plan. (4-bit binary) * See Table 2.7.1.3.2.4-3 in 3GPP2 C.S0005-F. * @param number * The string presentation of the number. * @param pi (2-bit binary) * The Presentation indicator of the number. * See Table 2.7.4.4-1 in 3GPP2 C.S0005-F. * @param si (2-bit binary) * The Screening Indicator of the number. * See Table 2.7.4.4-2 in 3GPP2 C.S0005-F. */ void notifyCdmaInfoRecConnectedPartyNumber(in unsigned long clientId, in unsigned short type, in unsigned short plan, in DOMString number, in unsigned short pi, in unsigned short si); /** * Notify Signal Info from received Cdma-Info-Record. * See 3.7.4.5 Signal in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param type * The signal type. (2-bit binary) * See Table 3.7.5.5-1 in 3GPP2 C.S0005-F. * @param alertPitch * The pitch of the alerting signal. (2-bit binary) * See Table 3.7.5.5-2 in 3GPP2 C.S0005-F. * @param signal * The signal code. (6-bit binary) * See Table 3.7.5.5-3, 3.7.5.5-4, 3.7.5.5-5 in 3GPP2 C.S0005-F. */ void notifyCdmaInfoRecSignal(in unsigned long clientId, in unsigned short type, in unsigned short alertPitch, in unsigned short signal); /** * Notify Redirecting Number from received Cdma-Info-Record. * See 3.7.4.11 Redirecting Number in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param type * The type of number. (3-bit binary) * See Table 2.7.1.3.2.4-2 in 3GPP2 C.S0005-F. * @param plan * The numbering plan. (4-bit binary) * See Table 2.7.1.3.2.4-3 in 3GPP2 C.S0005-F. * @param number * The string presentation of the number. * @param pi (2-bit binary) * The Presentation indicator of the number. * See Table 2.7.4.4-1 in 3GPP2 C.S0005-F. * @param si (2-bit binary) * The Screening Indicator of the number. * See Table 2.7.4.4-2 in 3GPP2 C.S0005-F. * @param reason (4-bit binary) * The redirection reason. * See Table 3.7.5.11-1 in 3GPP2 C.S0005-F. */ void notifyCdmaInfoRecRedirectingNumber(in unsigned long clientId, in unsigned short type, in unsigned short plan, in DOMString number, in unsigned short pi, in unsigned short si, in unsigned short reason); /** * Notify Line Control from received Cdma-Info-Record. * See 3.7.4.15 Line Control in 3GPP2 C.S0005-F. * * @param clientId * The ID of radioInterface where this info is notified from. * @param polarityIncluded (1-bit) * Polarity parameter included. * @param toggle (1-bit) * Toggle mode. * @param reverse (1-bit) * Reverse polarity. * @param powerDenial (8-bit) * Power denial timeout. */ void notifyCdmaInfoRecLineControl(in unsigned long clientId, in unsigned short polarityIncluded, in unsigned short toggle, in unsigned short reverse, in unsigned short powerDenial); /** * Notify CLIR from received Cdma-Info-Record. * See 'ANNEX 1 Country-Specific Record Type for Japan' in T53. * http://www.arib.or.jp/english/html/overview/doc/T53v6_5_pdf/5_ANNEX_v6_5.pdf * * @param clientId * The ID of radioInterface where this info is notified from. * @param cause * Reason code. (8-bit binary) * See Table A 1.1-1 in T53. */ void notifyCdmaInfoRecClir(in unsigned long clientId, in unsigned short cause); /** * Notify Audio Control from received Cdma-Info-Record. * * Note: No information from ARIB about Audio Control. * It seems obsolete according to ANNEX 1 in T53. * upLink/downLink are 'byte' value according to ril.h. * Treat them as 'signed short' to preserve the flexibility when needed. * * @param clientId * The ID of radioInterface where this info is notified from. * @param upLink * @param downLink */ void notifyCdmaInfoRecAudioControl(in unsigned long clientId, in short upLink, in short downLink); /** * Notify Device Identities. * * @param aClientId * The ID of radioInterface where this info is notified from. * @param aImei * Device IMEI, valid if GSM subscription is available. * @param aImeisv * Device IMEISV, valid if GSM subscription is available. * @param aEsn * Device ESN, valid if CDMA subscription is available. * @param aMeid * Device MEID, valid if CDMA subscription is available. * * Note: The value might be dummy like "000..." from modem * if the corresponding subscription is not available. */ void notifyDeviceIdentitiesChanged(in unsigned long aClientId, in DOMString aImei, in DOMString aImeisv, in DOMString aEsn, in DOMString aMeid); };