mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-09-10 11:54:40 +00:00
179 lines
6.5 KiB
Plaintext
179 lines
6.5 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 nsIMobileMessageCallback;
|
|
|
|
%{C++
|
|
#define SMS_SERVICE_CID { 0xbada3cb8, 0xa568, 0x4dff, { 0xb5, 0x43, 0x52, 0xbb, 0xb3, 0x14, 0x31, 0x21 } }
|
|
#define SMS_SERVICE_CONTRACTID "@mozilla.org/sms/smsservice;1"
|
|
%}
|
|
|
|
[scriptable, uuid(c8ca5f06-ad76-44b0-a324-9e2910fd37da)]
|
|
interface nsISmsService : nsISupports
|
|
{
|
|
/**
|
|
* Constant definitions of predefined GSM Message Class
|
|
* See 3GPP TS 23.038 clause 4 SMS Data Coding Scheme
|
|
*/
|
|
const unsigned short MESSAGE_CLASS_TYPE_CLASS_0 = 0;
|
|
const unsigned short MESSAGE_CLASS_TYPE_CLASS_1 = 1;
|
|
const unsigned short MESSAGE_CLASS_TYPE_CLASS_2 = 2;
|
|
const unsigned short MESSAGE_CLASS_TYPE_CLASS_3 = 3;
|
|
const unsigned short MESSAGE_CLASS_TYPE_NORMAL = 6;
|
|
|
|
/**
|
|
* Constant definitions of SMS Delivery
|
|
*/
|
|
const unsigned short DELIVERY_TYPE_RECEIVED = 0;
|
|
const unsigned short DELIVERY_TYPE_SENDING = 1;
|
|
const unsigned short DELIVERY_TYPE_SENT = 2;
|
|
const unsigned short DELIVERY_TYPE_ERROR = 3;
|
|
|
|
/**
|
|
* Constant definitions of SMS Delivery Status
|
|
*/
|
|
const unsigned short DELIVERY_STATUS_TYPE_NOT_APPLICABLE = 0;
|
|
const unsigned short DELIVERY_STATUS_TYPE_SUCCESS = 1;
|
|
const unsigned short DELIVERY_STATUS_TYPE_PENDING = 2;
|
|
const unsigned short DELIVERY_STATUS_TYPE_ERROR = 3;
|
|
|
|
/**
|
|
* Constant definitions of SM-RP type of number as defined in
|
|
* |Table 10.5.118: Called party BCD number| of 3GPP TS 24.008.
|
|
*/
|
|
const unsigned short TYPE_OF_NUMBER_UNKNOWN = 0;
|
|
const unsigned short TYPE_OF_NUMBER_INTERNATIONAL = 1;
|
|
const unsigned short TYPE_OF_NUMBER_NATIONAL = 2;
|
|
const unsigned short TYPE_OF_NUMBER_NETWORK_SPECIFIC = 3;
|
|
const unsigned short TYPE_OF_NUMBER_DEDICATED_ACCESS_SHORT_CODE = 4;
|
|
|
|
/**
|
|
* Constant definitions of SM-RP number plan identification as defined in
|
|
* |Table 10.5.118: Called party BCD number| of 3GPP TS 24.008. These values
|
|
* do not represent the actual protocol values defined in the 3GPP standard,
|
|
* but rather the corresponding enum values of NumberPlanIdentification in
|
|
* MozMobileMessageManager.
|
|
*/
|
|
const unsigned short NUMBER_PLAN_IDENTIFICATION_UNKNOWN = 0;
|
|
const unsigned short NUMBER_PLAN_IDENTIFICATION_ISDN = 1;
|
|
const unsigned short NUMBER_PLAN_IDENTIFICATION_DATA = 2;
|
|
const unsigned short NUMBER_PLAN_IDENTIFICATION_TELEX = 3;
|
|
const unsigned short NUMBER_PLAN_IDENTIFICATION_NATIONAL = 4;
|
|
const unsigned short NUMBER_PLAN_IDENTIFICATION_PRIVATE = 5;
|
|
|
|
/**
|
|
* The default RIL service ID used for SMS.
|
|
*/
|
|
readonly attribute unsigned long smsDefaultServiceId;
|
|
|
|
/**
|
|
* Get the information necessary to create a multi-part SMS for a given text.
|
|
*
|
|
* @param text
|
|
* The text message content.
|
|
* @param request
|
|
* The callback object to use. It invokes
|
|
* |notifySegmentInfoForTextGot| on success, or
|
|
* |notifyGetSegmentInfoForTextFailed| on failure.
|
|
*/
|
|
void getSegmentInfoForText(in DOMString text,
|
|
in nsIMobileMessageCallback request);
|
|
|
|
/**
|
|
* Send a SMS.
|
|
*
|
|
* @param serviceId
|
|
* The ID of RIL service to use.
|
|
* @param number
|
|
* Destination number in string.
|
|
* @param message
|
|
* The text message content.
|
|
* @param silent
|
|
* |true| to send a silent message. It's used to make a SMS based
|
|
* authentication for some services such as mobile billing.
|
|
* @param request
|
|
* The callback object to use. It invokes |notifyMessageSent| on
|
|
* success, or |notifySendMessageFailed| on failure.
|
|
* @throws NS_ERROR_INVALID_ARG
|
|
* If |serviceId| exceeds the max value of available IDs.
|
|
*/
|
|
void send(in unsigned long serviceId,
|
|
in DOMString number,
|
|
in DOMString message,
|
|
in boolean silent,
|
|
in nsIMobileMessageCallback request);
|
|
|
|
/**
|
|
* Add a number to the list of silent message originators. When receiving a
|
|
* SMS sent from one of the numbers in the list, |SmsService| will notify
|
|
* observers through the topic "silent-sms-received".
|
|
*
|
|
* It's used when a SMS based authentication has been initiated and the client
|
|
* is waiting for an incoming silent message containing the authentication
|
|
* result.
|
|
*
|
|
* @param number
|
|
* Originator number in string.
|
|
* @throw NS_ERROR_UNEXPECTED
|
|
* If the given number has already been added before.
|
|
*/
|
|
void addSilentNumber(in DOMString number);
|
|
|
|
/**
|
|
* Remove a number from the silent message originator list.
|
|
*
|
|
* @param number
|
|
* Originator number in string.
|
|
* @throws NS_ERROR_INVALID_ARG
|
|
* If the number doesn't exist in the list.
|
|
*/
|
|
void removeSilentNumber(in DOMString number);
|
|
|
|
/**
|
|
* Get the short message service center address of given |serviceId|.
|
|
*
|
|
* @param serviceId
|
|
* The ID of RIL service to use.
|
|
* @param request
|
|
* The callback object to use. It invokes |notifyGetSmscAddress| on
|
|
* success, or |notifyGetSmscAddressFailed| on failure.
|
|
* @throws NS_ERROR_INVALID_ARG
|
|
* If |serviceId| exceeds the max value of available IDs.
|
|
*/
|
|
void getSmscAddress(in unsigned long serviceId,
|
|
in nsIMobileMessageCallback request);
|
|
|
|
/**
|
|
* Set the short message service center address of given |serviceId|.
|
|
*
|
|
* @param serviceId
|
|
* The ID of RIL service to use.
|
|
* @param number
|
|
* Number part of the SMSC address.
|
|
* @param typeOfNumber
|
|
* Type of number of the SMSC address.
|
|
* @param numberPlanIdentification
|
|
* Number plan identification of the SMSC address.
|
|
* @param request
|
|
* The callback object to use. It invokes |notifySetSmscAddress| on
|
|
* success, or |notifySetSmscAddressFailed| on failure.
|
|
* @throws NS_ERROR_INVALID_ARG
|
|
* If |serviceId| exceeds the max value of available IDs.
|
|
*/
|
|
void setSmscAddress(in unsigned long serviceId,
|
|
in DOMString number,
|
|
in unsigned long typeOfNumber,
|
|
in unsigned long numberPlanIdentification,
|
|
in nsIMobileMessageCallback request);
|
|
};
|
|
|
|
%{C++
|
|
template<typename T> struct already_AddRefed;
|
|
|
|
already_AddRefed<nsISmsService>
|
|
NS_CreateSmsService();
|
|
%}
|