dom/mobilemessage/interfaces/nsIRilMobileMessageDatabaseService.idl

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #include "domstubs.idl"
     6 #include "nsISupports.idl"
     7 #include "nsIMobileMessageDatabaseService.idl"
     9 [scriptable, function, uuid(92986322-8d56-11e2-8816-73a531c493c2)]
    10 interface nsIRilMobileMessageDatabaseCallback : nsISupports
    11 {
    12   /**
    13    * |aDomMessage|: the nsIDOMMoz{Mms,Sms}Message
    14    */
    15   void notify(in nsresult aRv, in nsISupports aDomMessage);
    16 };
    18 [scriptable, function, uuid(32b02bbe-60a1-45e0-a748-ad40709b09dd)]
    19 interface nsIRilMobileMessageDatabaseRecordCallback : nsISupports
    20 {
    21   /**
    22    * |aMessageRecord| Object: the mobile-message database record
    23    * |aDomMessage|: the nsIDOMMoz{Mms,Sms}Message. Noted, this value might be null.
    24    */
    25   void notify(in nsresult aRv, in jsval aMessageRecord, in nsISupports aDomMessage);
    26 };
    28 [scriptable, function, uuid(1b0ff03c-a2bc-11e3-a443-838d034c9805)]
    29 interface nsIRilMobileMessageDatabaseConcatenationCallback : nsISupports
    30 {
    31   /**
    32    * |aCompleteMessage|: jsval: the completely concatenated message. Noted, this value might be null.
    33    */
    34   void notify(in nsresult aRv, in jsval aCompleteMessage);
    35 };
    37 [scriptable, uuid(0b437a5c-a2bc-11e3-bd1b-dbb173eb35f8)]
    38 interface nsIRilMobileMessageDatabaseService : nsIMobileMessageDatabaseService
    39 {
    40   /**
    41    * |aMessage| Object: should contain the following properties for internal use:
    42    *   - |type| DOMString: "sms" or "mms"
    43    *   - |timestamp| Number: the timestamp of received message
    44    *   - |iccId| DOMString: [optional] the ICC ID of the SIM for receiving
    45    *                        message if available.
    46    *
    47    *   - If |type| == "sms", we also need:
    48    *     - |messageClass| DOMString: the message class of received message
    49    *     - |receiver| DOMString: the phone number of receiver
    50    *     - |pid| Number: the TP-PID field of the SMS TPDU, default 0.
    51    *     - |sender| DOMString: the phone number of sender
    52    *
    53    *   - If |type| == "mms", we also need:
    54    *     - |delivery| DOMString: the delivery state of received message
    55    *     - |deliveryStatus| DOMString: the delivery status of received message
    56    *     - |receivers| DOMString Array: the phone numbers of receivers
    57    *     - |phoneNumber| DOMString: [optional] my own phone number.
    58    */
    59   void saveReceivedMessage(in jsval aMessage,
    60                 [optional] in nsIRilMobileMessageDatabaseCallback aCallback);
    62   /**
    63    * |aMessage| Object: should contain the following properties for internal use:
    64    *   - |type| DOMString: "sms" or "mms"
    65    *   - |sender| DOMString: the phone number of sender
    66    *   - |timestamp| Number: the timestamp of sending message
    67    *   - |deliveryStatusRequested| Bool: true when the delivery report is requested.
    68    *   - |iccId| DOMString: the ICC ID of the SIM for sending message
    69    *
    70    *   - If |type| == "sms", we also need:
    71    *     - |receiver| DOMString: the phone number of receiver
    72    *
    73    *   - If |type| == "mms", we also need:
    74    *     - |receivers| DOMString Array: the phone numbers of receivers
    75    */
    76   void saveSendingMessage(in jsval aMessage,
    77                [optional] in nsIRilMobileMessageDatabaseCallback aCallback);
    79   /**
    80    * |aMessageId| Number: the message's DB record ID.
    81    * |aReceiver| DOMString: the phone number of receiver (for MMS; can be null).
    82    * |aDelivery| DOMString: the new delivery value to update (can be null).
    83    * |aDeliveryStatus| DOMString: the new delivery status to update (can be null).
    84    * |aEnvelopeId| DOMString: the "message-id" specified in the MMS PDU headers.
    85    * |aCallback| nsIRilMobileMessageDatabaseCallback: an optional callback.
    86    */
    87   void setMessageDeliveryByMessageId(in long aMessageId,
    88                                      in DOMString aReceiver,
    89                                      in DOMString aDelivery,
    90                                      in DOMString aDeliveryStatus,
    91                                      in DOMString aEnvelopeId,
    92                           [optional] in nsIRilMobileMessageDatabaseCallback aCallback);
    94   /**
    95    * |aEnvelopeId| DOMString: the "message-id" specified in the MMS PDU headers.
    96    * |aReceiver| DOMString: the phone number of receiver (for MMS; can be null).
    97    * |aDeliveryStatus| DOMString: the new delivery status to be updated (can be null).
    98    * |aCallback| nsIRilMobileMessageDatabaseCallback: an optional callback.
    99    */
   100   void setMessageDeliveryStatusByEnvelopeId(in DOMString aEnvelopeId,
   101                                             in DOMString aReceiver,
   102                                             in DOMString aDeliveryStatus,
   103                                  [optional] in nsIRilMobileMessageDatabaseCallback aCallback);
   105   /**
   106    * |aEnvelopeId| DOMString: the "message-id" specified in the MMS PDU headers.
   107    * |aReceiver| DOMString: the phone number of receiver (for MMS; can be null).
   108    * |aReadStatus| DOMString: the new read status to be updated.
   109    * |aCallback| nsIRilMobileMessageDatabaseCallback: an optional callback.
   110    */
   111   void setMessageReadStatusByEnvelopeId(in DOMString aEnvelopeId,
   112                                         in DOMString aReceiver,
   113                                         in DOMString aReadStatus,
   114                              [optional] in nsIRilMobileMessageDatabaseCallback aCallback);
   116   /**
   117    * |aMessageId| Number: the message's DB record ID.
   118    * |aCallback| nsIRilMobileMessageDatabaseRecordCallback: a callback which
   119    *   takes result flag, message record and domMessage as parameters.
   120    */
   121   void getMessageRecordById(in long aMessageId,
   122                             in nsIRilMobileMessageDatabaseRecordCallback aCallback);
   124   /**
   125    * |aTransactionId| DOMString: the transaction ID of MMS PDU.
   126    * |aCallback| nsIRilMobileMessageDatabaseRecordCallback: a callback which
   127    *   takes result flag and message record as parameters.
   128    */
   129   void getMessageRecordByTransactionId(in DOMString aTransactionId,
   130                                        in nsIRilMobileMessageDatabaseRecordCallback aCallback);
   132   /**
   133    * |aCrError| nsresult: the NS_ERROR defined in Components.results.
   134    *
   135    * @returns the error code defined in nsIMobileMessageCallback
   136    */
   137   jsval translateCrErrorToMessageCallbackError(in nsresult aCrError);
   139   /**
   140    * |aSmsSegment| jsval: Decoded Single SMS PDU.
   141    * |aCallback| nsIRilMobileMessageDatabaseConcatenationCallback: a callback which
   142    *   takes result flag, and complete mesage as parameters.
   143    */
   144   void saveSmsSegment(in jsval aSmsSegment,
   145                       in nsIRilMobileMessageDatabaseConcatenationCallback aCallback);
   146 };

mercurial