/* 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 nsIDOMBlob;

dictionary MmsAttachment
{
  DOMString? id;
  DOMString? location;
  nsIDOMBlob content;
};

[scriptable, builtinclass, uuid(210654af-4cc8-42e5-81b2-051f0f393c3a)]
interface nsIDOMMozMmsMessage : nsISupports
{
  /**
   * |type| is always "mms".
   */
  readonly attribute DOMString type;

  readonly attribute long      id;

  readonly attribute unsigned long long threadId;

  /**
   * Should be "not-downloaded", "received", "sending", "sent" or "error".
   */
  readonly attribute DOMString delivery;

  [implicit_jscontext]
  readonly attribute jsval     deliveryStatus; // DOMString[]

  readonly attribute DOMString sender;

  [implicit_jscontext]
  readonly attribute jsval     receivers;      // DOMString[]

  [implicit_jscontext]
  readonly attribute jsval     timestamp;      // Date

  readonly attribute boolean   read;
  readonly attribute DOMString subject;
  readonly attribute DOMString smil;

  [implicit_jscontext]
  readonly attribute jsval     attachments;    // MmsAttachment[]
};
