Bug 1115603 - Part 1: Add nsITelephonyCallInfo (interface). r=hsinyi

This commit is contained in:
Szu-Yu Chen [:aknow] 2015-01-08 16:33:50 +08:00
parent cbbb84d89b
commit 3ee126d1fe
2 changed files with 90 additions and 94 deletions

View File

@ -0,0 +1,73 @@
/* 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"
[scriptable, uuid(3ea2d155-8ea2-42be-85d7-bd8ede8afc40)]
interface nsITelephonyCallInfo : nsISupports
{
/**
* Indicate the RIL client, 0 ~ (number of client - 1).
*/
readonly attribute unsigned long clientId;
/**
* Call identifier assigned by the RIL.
*/
readonly attribute unsigned long callIndex;
/**
* One of the nsITelephonyService::CALL_STATE_* values.
*/
readonly attribute unsigned short callState;
/**
* Number of the other party.
*/
readonly attribute DOMString number;
/**
* Presentation of the call number.
* One of the nsITelephonyService::CALL_PRESENTATION_* values.
*/
readonly attribute unsigned short numberPresentation;
/**
* Name of the other party.
*/
readonly attribute DOMString name;
/**
* Presentation of the call name.
* One of the nsITelephonyService::CALL_PRESENTATION_* values.
*/
readonly attribute unsigned short namePresentation;
/**
* Indicates whether this call is outgoing or incoming.
*/
readonly attribute boolean isOutgoing;
/**
* Indicates whether this call is an emergency call.
*/
readonly attribute boolean isEmergency;
/**
* Indicates whether this call is a conference call.
*/
readonly attribute boolean isConference;
/**
* Indicates whether this call can be switched between states of
* nsITelephonyService::CALL_STATE_CONNECTED and
* nsITelephonyService::CALL_STATE_HELD.
*/
readonly attribute boolean isSwitchable;
/**
* Indicates whether this call be be added into a conference.
*/
readonly attribute boolean isMergeable;
};

View File

@ -5,54 +5,28 @@
#include "nsISupports.idl"
interface nsIMobileCallForwardingOptions;
interface nsITelephonyCallInfo;
[scriptable, uuid(464d4cf8-454a-4cdb-9329-bfe7ede97103)]
[scriptable, uuid(3cdc0b98-0c5f-489d-9190-083d137f40da)]
interface nsITelephonyListener : nsISupports
{
/**
* Notified when a telephony call changes state.
*
* @param clientId
Indicate the RIL client, 0 ~ (number of client - 1).
* @param callIndex
* Call identifier assigned by the RIL.
* @param callState
* One of the nsITelephonyService::CALL_STATE_* values.
* @param number
* Number of the other party.
* @param numberPresentation
* Presentation of the call number.
* One of the nsITelephonyProvider::CALL_PRESENTATION_* values.
* @param name
* Name of the other party.
* @param namePresentation
* Presentation of the call name.
* One of the nsITelephonyProvider::CALL_PRESENTATION_* values.
* @param isOutgoing
* Indicates whether this call is outgoing or incoming.
* @param isEmergency
* Indicates whether this call is an emergency call.
* @param isConference
* Indicates whether this call is a conference call.
* @param isSwitchable
* Indicates whether this call can be switched between states of
* nsITelephonyService::CALL_STATE_CONNECTED and
* nsITelephonyService::CALL_STATE_HELD.
* @param isMergeable
* Indicates whether this call be be added into a conference.
* Called when enumeration asked by nsITelephonyService::enumerateCalls
* is completed.
*/
void callStateChanged(in unsigned long clientId,
in unsigned long callIndex,
in unsigned short callState,
in AString number,
in unsigned short numberPresentation,
in AString name,
in unsigned short namePresentation,
in boolean isOutgoing,
in boolean isEmergency,
in boolean isConference,
in boolean isSwitchable,
in boolean isMergeable);
void enumerateCallStateComplete();
/**
* Called when nsITelephonyService is asked to enumerate the current
* telephony call state (nsITelephonyService::enumerateCalls). This is
* called once per call that is currently managed by the RIL.
*/
void enumerateCallState(in nsITelephonyCallInfo info);
/**
* Notified when a telephony call changes state.
*/
void callStateChanged(in nsITelephonyCallInfo info);
/**
* Called when participants of a conference call have been updated, and the
@ -65,57 +39,6 @@ interface nsITelephonyListener : nsISupports
*/
void conferenceCallStateChanged(in unsigned short callState);
/**
* Called when enumeration asked by nsITelephonyService::enumerateCalls
* is completed.
*/
void enumerateCallStateComplete();
/**
* Called when nsITelephonyService is asked to enumerate the current
* telephony call state (nsITelephonyService::enumerateCalls). This is
* called once per call that is currently managed by the RIL.
*
* @param clientId
Indicate the RIL client, 0 ~ (number of client - 1).
* @param callIndex
* Call identifier assigned by the RIL.
* @param callState
* One of the nsITelephonyService::CALL_STATE_* values.
* @param number
* Number of the other party.
* @param numberPresentation
* Presentation of the call number.
* One of the nsITelephonyProvider::CALL_PRESENTATION_* values.
* @param name
* Name of the other party.
* @param namePresentation
* Presentation of the call name.
* One of the nsITelephonyProvider::CALL_PRESENTATION_* values.
* @param isOutgoing
* Indicates whether this call is outgoing or incoming.
* @param isConference
* Indicates whether this call is a conference call.
* @param isSwitchable
* Indicates whether this call can be switched between states of
* nsITelephonyService::CALL_STATE_CONNECTED and
* nsITelephonyService::CALL_STATE_HELD.
* @param isMergeable
* Indicates whether this call be be added into a conference.
*/
void enumerateCallState(in unsigned long clientId,
in unsigned long callIndex,
in unsigned short callState,
in AString number,
in unsigned short numberPresentation,
in AString name,
in unsigned short namePresentation,
in boolean isOutgoing,
in boolean isEmergency,
in boolean isConference,
in boolean isSwitchable,
in boolean isMergeable);
/**
* Notify when RIL receives supplementary service notification.
*