/* THIS FILE IS AUTOGENERATED - DO NOT EDIT */

#ifndef _gen_mozilla_idl_dictionary_helpers_h_
#define _gen_mozilla_idl_dictionary_helpers_h_

#include "js/TypeDecls.h"
#include "js/Value.h"
#include "nsError.h"
#include "nsStringGlue.h"
#include "nsCOMPtr.h"

class nsIDOMBlob;

namespace mozilla {
namespace idl {

class SmsThreadListItem
{
public:
  SmsThreadListItem();
  ~SmsThreadListItem();

  // If aCx or aVal is null, NS_OK is returned and 
  // dictionary will use the default values. 
  nsresult Init(JSContext* aCx, const jsval* aVal);

  nsString body;
  uint64_t id;
  nsString senderOrReceiver;
  uint64_t timestamp;
  uint64_t unreadCount;
};

class MmsAttachment
{
public:
  MmsAttachment();
  ~MmsAttachment();

  // If aCx or aVal is null, NS_OK is returned and 
  // dictionary will use the default values. 
  nsresult Init(JSContext* aCx, const jsval* aVal);

  nsCOMPtr<nsIDOMBlob> content;
  nsString id;
  nsString location;
};

class MmsDeliveryInfo
{
public:
  MmsDeliveryInfo();
  ~MmsDeliveryInfo();

  // If aCx or aVal is null, NS_OK is returned and 
  // dictionary will use the default values. 
  nsresult Init(JSContext* aCx, const jsval* aVal);

  nsString deliveryStatus;
  uint64_t /* DOMTimeStamp */ deliveryTimestamp;
  nsString readStatus;
  uint64_t /* DOMTimeStamp */ readTimestamp;
  nsString receiver;
};

}
}
#endif
