WebAPI/WebMMS

From MozillaWiki
Jump to navigation Jump to search


API

 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

Example