WebAPI/WebMMS: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 1: Line 1:


= Overview =
MMS messages


= API =
= API =


  // TODO should we merge with this with SmsManager?
   interface MmsManager
   interface MmsManager
   {
   {
Line 66: Line 71:


== Sending an MMS ==
== Sending an MMS ==
  var message = new MmsMessage(receiver);
  var doc = message.contentDocument;
  var par = doc.createElement("par");
  doc.appendChild(par);
  navigator.mms.send(message);


= Example =
= Example =

Revision as of 02:48, 12 April 2012


Overview

MMS messages

API

 // TODO should we merge with this with SmsManager?
 interface MmsManager
 {
  DOMRequest       send(MmsMessage message);
  DOMRequest[]     send(MmsMessage message[]);
  DOMRequest       delete(in long id);
  DOMRequest       delete(in MmsMessage message);
  DOMRequest       getMessage(in long id);
  DOMRequest       getMessages(in SMSFilter filter, bool reverse);
 }
 
 [Constructor]
 interface MmsMessage
 {
   readonly attribute long                 id;
   readonly attribute DOMString            delivery;
   readonly attribute DOMString            sender;
   readonly attribute DOMString            receiver; //TODO should this be plural?
   readonly attribute Date                 timestamp;
   readonly attribute Document             contentDocument;
   readonly attribute MmsAttachmentStorage attachments;
   
   readonly attribute DOMString            state;
   DOMRequest fetch();
   DOMRequest forward(DOMString number);
   DOMRequest cancel();
 }
 
 interface MmsAttachmentStorage
 {
   getter MmsAttachment getAttachment(DOMString name);
   setter creator void setAttachment(DOMString name, MmsAttachment attachment);
   deleter void deleteAttachment(DOMString name);
 }
 
 [Constructor]
 interface MmsAttachment
 {
   readonly attribute DOMString name;
   readonly attribute DOMString contentType;
   readonly attribute DOMString uri;
 }

Receiving an MMS

 navigator.mms.onreceived = function (event) {
   var message = event.message;
   if (message.state == "unfetched") {
     message.fetch().onsuccess(function (event) {
       handleNewMessage(event.target.result);
     });
   } else {
     handleNewMessage(message);
   }
 }
 
 function handleNewMessage(message) {
   var pars = message.contentDocument.querySelectorAll("par");
   for (var i = 0; i < pars.length; i++) {
     //TODO
   }
 }

Sending an MMS

 var message = new MmsMessage(receiver);
 var doc = message.contentDocument;
 var par = doc.createElement("par");
 doc.appendChild(par);
 navigator.mms.send(message);

Example