WebAPI/WebMMS: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 5: Line 5:
= API =
= API =


   // TODO should we merge with this with SmsManager?
   /**
  * TODO should we merge with this with SmsManager? There are good reasons for and against it.
  * Pro: One API to rule them all, less API clutter, easier to write integrated SMS/MMS app
  *      (which is what everybody wants anyway)
  * Con: MMS is vastly more complex than SMS, both in terms of API as in terms of implementation
  *      and storing; implementations need to be acutely aware of MMS and how to deal with them.
  */
   interface MmsManager
   interface MmsManager
   {
   {
  DOMRequest       send(MmsMessage message);
    DOMRequest   send(MmsMessage message);
  DOMRequest[]     send(MmsMessage message[]);
    DOMRequest[] send(MmsMessage message[]);
  DOMRequest       delete(in long id);
    DOMRequest   delete(long id);
  DOMRequest       delete(in MmsMessage message);
    DOMRequest   delete(MmsMessage message);
  DOMRequest       getMessage(in long id);
    DOMRequest   getMessage(long id);
  DOMRequest       getMessages(in SMSFilter filter, bool reverse);
    DOMRequest   getMessages(SMSFilter filter, bool reverse);
 
    /**
    * Fetch a message's data. Only applicable if message.delivery == "unfetched"
    */
    DOMRequest  fetchMessage(MmsMessage message);
 
    /**
    * Forward a message to a different number.
    */
    DOMRequest  forwardMessage(MmsMessage message, recipient);
 
    /**
    * Cancel a message's delivery with the MMSC.
    */
    DOMRequest  cancelMessage(MmsMessage message);
   }
   }
    
    
Line 19: Line 40:
   interface MmsMessage
   interface MmsMessage
   {
   {
    /**
    * Cf. SmsMessage
    */
     readonly attribute long                id;
     readonly attribute long                id;
    /**
    * Like SmsMessage::delivery, but with an additional possible value: "unfetched"
    */
     readonly attribute DOMString            delivery;
     readonly attribute DOMString            delivery;
    /**
    * Cf. SmsMessage
    */
     readonly attribute DOMString            sender;
     readonly attribute DOMString            sender;
     readonly attribute DOMString            receiver; //TODO should this be plural?
 
    /**
    * TODO Should this be plural? (AFAIK MMS supports group messaging.)
    */
     readonly attribute DOMString            receiver;
 
    /**
    * Cf. SmsMessage
    */
     readonly attribute Date                timestamp;
     readonly attribute Date                timestamp;
    /**
    * DOM document object representing the SMIL document.
    */
     readonly attribute Document            contentDocument;
     readonly attribute Document            contentDocument;
    readonly attribute MmsAttachmentStorage attachments;
 
   
     /**
     /**
     * "unfetched"
     * Object containing all other parts.
     */
     */
     readonly attribute DOMString            state;
     readonly attribute MmsAttachmentStorage attachments;     
     DOMRequest fetch();
    DOMRequest forward(DOMString number);
    DOMRequest cancel();
   }
   }
    
    
Line 89: Line 129:
   navigator.mms.onreceived = function (event) {
   navigator.mms.onreceived = function (event) {
     var message = event.message;
     var message = event.message;
     if (message.state == "unfetched") {
     if (message.delivery == "unfetched") {
       message.fetch().onsuccess(function (event) {
       message.fetch().onsuccess(function (event) {
         handleNewMessage(event.target.result);
         handleNewMessage(event.target.result);
canmove, Confirmed users
725

edits

Navigation menu