/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIMsgAttachment.idl
 */

#ifndef __gen_nsIMsgAttachment_h__
#define __gen_nsIMsgAttachment_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

/* starting interface:    nsIMsgAttachment */
#define NS_IMSGATTACHMENT_IID_STR "908a8090-cce4-11df-bd3b-0800200c9a66"

#define NS_IMSGATTACHMENT_IID \
  {0x908a8090, 0xcce4, 0x11df, \
    { 0xbd, 0x3b, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIMsgAttachment : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGATTACHMENT_IID)

  /* attribute AString name; */
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName) = 0;

  /* attribute AUTF8String url; */
  NS_SCRIPTABLE NS_IMETHOD GetUrl(nsACString & aUrl) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetUrl(const nsACString & aUrl) = 0;

  /* attribute ACString urlCharset; */
  NS_SCRIPTABLE NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) = 0;

  /* attribute boolean temporary; */
  NS_SCRIPTABLE NS_IMETHOD GetTemporary(PRBool *aTemporary) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetTemporary(PRBool aTemporary) = 0;

  /* attribute string contentLocation; */
  NS_SCRIPTABLE NS_IMETHOD GetContentLocation(char * *aContentLocation) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetContentLocation(const char * aContentLocation) = 0;

  /* attribute string contentType; */
  NS_SCRIPTABLE NS_IMETHOD GetContentType(char * *aContentType) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetContentType(const char * aContentType) = 0;

  /* attribute string contentTypeParam; */
  NS_SCRIPTABLE NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) = 0;

  /* attribute string charset; */
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset) = 0;

  /* attribute PRInt64 size; */
  NS_SCRIPTABLE NS_IMETHOD GetSize(PRInt64 *aSize) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetSize(PRInt64 aSize) = 0;

  /* attribute string macType; */
  NS_SCRIPTABLE NS_IMETHOD GetMacType(char * *aMacType) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMacType(const char * aMacType) = 0;

  /* attribute string macCreator; */
  NS_SCRIPTABLE NS_IMETHOD GetMacCreator(char * *aMacCreator) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMacCreator(const char * aMacCreator) = 0;

  /* boolean equalsUrl (in nsIMsgAttachment attachment); */
  NS_SCRIPTABLE NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, PRBool *_retval NS_OUTPARAM) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgAttachment, NS_IMSGATTACHMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGATTACHMENT \
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName); \
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName); \
  NS_SCRIPTABLE NS_IMETHOD GetUrl(nsACString & aUrl); \
  NS_SCRIPTABLE NS_IMETHOD SetUrl(const nsACString & aUrl); \
  NS_SCRIPTABLE NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset); \
  NS_SCRIPTABLE NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset); \
  NS_SCRIPTABLE NS_IMETHOD GetTemporary(PRBool *aTemporary); \
  NS_SCRIPTABLE NS_IMETHOD SetTemporary(PRBool aTemporary); \
  NS_SCRIPTABLE NS_IMETHOD GetContentLocation(char * *aContentLocation); \
  NS_SCRIPTABLE NS_IMETHOD SetContentLocation(const char * aContentLocation); \
  NS_SCRIPTABLE NS_IMETHOD GetContentType(char * *aContentType); \
  NS_SCRIPTABLE NS_IMETHOD SetContentType(const char * aContentType); \
  NS_SCRIPTABLE NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam); \
  NS_SCRIPTABLE NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam); \
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset); \
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset); \
  NS_SCRIPTABLE NS_IMETHOD GetSize(PRInt64 *aSize); \
  NS_SCRIPTABLE NS_IMETHOD SetSize(PRInt64 aSize); \
  NS_SCRIPTABLE NS_IMETHOD GetMacType(char * *aMacType); \
  NS_SCRIPTABLE NS_IMETHOD SetMacType(const char * aMacType); \
  NS_SCRIPTABLE NS_IMETHOD GetMacCreator(char * *aMacCreator); \
  NS_SCRIPTABLE NS_IMETHOD SetMacCreator(const char * aMacCreator); \
  NS_SCRIPTABLE NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, PRBool *_retval NS_OUTPARAM); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGATTACHMENT(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName) { return _to GetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName) { return _to SetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD GetUrl(nsACString & aUrl) { return _to GetUrl(aUrl); } \
  NS_SCRIPTABLE NS_IMETHOD SetUrl(const nsACString & aUrl) { return _to SetUrl(aUrl); } \
  NS_SCRIPTABLE NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) { return _to GetUrlCharset(aUrlCharset); } \
  NS_SCRIPTABLE NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) { return _to SetUrlCharset(aUrlCharset); } \
  NS_SCRIPTABLE NS_IMETHOD GetTemporary(PRBool *aTemporary) { return _to GetTemporary(aTemporary); } \
  NS_SCRIPTABLE NS_IMETHOD SetTemporary(PRBool aTemporary) { return _to SetTemporary(aTemporary); } \
  NS_SCRIPTABLE NS_IMETHOD GetContentLocation(char * *aContentLocation) { return _to GetContentLocation(aContentLocation); } \
  NS_SCRIPTABLE NS_IMETHOD SetContentLocation(const char * aContentLocation) { return _to SetContentLocation(aContentLocation); } \
  NS_SCRIPTABLE NS_IMETHOD GetContentType(char * *aContentType) { return _to GetContentType(aContentType); } \
  NS_SCRIPTABLE NS_IMETHOD SetContentType(const char * aContentType) { return _to SetContentType(aContentType); } \
  NS_SCRIPTABLE NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) { return _to GetContentTypeParam(aContentTypeParam); } \
  NS_SCRIPTABLE NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) { return _to SetContentTypeParam(aContentTypeParam); } \
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset) { return _to GetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset) { return _to SetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD GetSize(PRInt64 *aSize) { return _to GetSize(aSize); } \
  NS_SCRIPTABLE NS_IMETHOD SetSize(PRInt64 aSize) { return _to SetSize(aSize); } \
  NS_SCRIPTABLE NS_IMETHOD GetMacType(char * *aMacType) { return _to GetMacType(aMacType); } \
  NS_SCRIPTABLE NS_IMETHOD SetMacType(const char * aMacType) { return _to SetMacType(aMacType); } \
  NS_SCRIPTABLE NS_IMETHOD GetMacCreator(char * *aMacCreator) { return _to GetMacCreator(aMacCreator); } \
  NS_SCRIPTABLE NS_IMETHOD SetMacCreator(const char * aMacCreator) { return _to SetMacCreator(aMacCreator); } \
  NS_SCRIPTABLE NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, PRBool *_retval NS_OUTPARAM) { return _to EqualsUrl(attachment, _retval); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGATTACHMENT(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD GetUrl(nsACString & aUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrl(aUrl); } \
  NS_SCRIPTABLE NS_IMETHOD SetUrl(const nsACString & aUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUrl(aUrl); } \
  NS_SCRIPTABLE NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrlCharset(aUrlCharset); } \
  NS_SCRIPTABLE NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUrlCharset(aUrlCharset); } \
  NS_SCRIPTABLE NS_IMETHOD GetTemporary(PRBool *aTemporary) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTemporary(aTemporary); } \
  NS_SCRIPTABLE NS_IMETHOD SetTemporary(PRBool aTemporary) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTemporary(aTemporary); } \
  NS_SCRIPTABLE NS_IMETHOD GetContentLocation(char * *aContentLocation) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentLocation(aContentLocation); } \
  NS_SCRIPTABLE NS_IMETHOD SetContentLocation(const char * aContentLocation) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentLocation(aContentLocation); } \
  NS_SCRIPTABLE NS_IMETHOD GetContentType(char * *aContentType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentType(aContentType); } \
  NS_SCRIPTABLE NS_IMETHOD SetContentType(const char * aContentType) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentType(aContentType); } \
  NS_SCRIPTABLE NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentTypeParam(aContentTypeParam); } \
  NS_SCRIPTABLE NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentTypeParam(aContentTypeParam); } \
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD GetSize(PRInt64 *aSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSize(aSize); } \
  NS_SCRIPTABLE NS_IMETHOD SetSize(PRInt64 aSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSize(aSize); } \
  NS_SCRIPTABLE NS_IMETHOD GetMacType(char * *aMacType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMacType(aMacType); } \
  NS_SCRIPTABLE NS_IMETHOD SetMacType(const char * aMacType) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMacType(aMacType); } \
  NS_SCRIPTABLE NS_IMETHOD GetMacCreator(char * *aMacCreator) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMacCreator(aMacCreator); } \
  NS_SCRIPTABLE NS_IMETHOD SetMacCreator(const char * aMacCreator) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMacCreator(aMacCreator); } \
  NS_SCRIPTABLE NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->EqualsUrl(attachment, _retval); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsMsgAttachment : public nsIMsgAttachment
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGATTACHMENT

  nsMsgAttachment();

private:
  ~nsMsgAttachment();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgAttachment, nsIMsgAttachment)

nsMsgAttachment::nsMsgAttachment()
{
  /* member initializers and constructor code */
}

nsMsgAttachment::~nsMsgAttachment()
{
  /* destructor code */
}

/* attribute AString name; */
NS_IMETHODIMP nsMsgAttachment::GetName(nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetName(const nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String url; */
NS_IMETHODIMP nsMsgAttachment::GetUrl(nsACString & aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetUrl(const nsACString & aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString urlCharset; */
NS_IMETHODIMP nsMsgAttachment::GetUrlCharset(nsACString & aUrlCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetUrlCharset(const nsACString & aUrlCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean temporary; */
NS_IMETHODIMP nsMsgAttachment::GetTemporary(PRBool *aTemporary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetTemporary(PRBool aTemporary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string contentLocation; */
NS_IMETHODIMP nsMsgAttachment::GetContentLocation(char * *aContentLocation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetContentLocation(const char * aContentLocation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string contentType; */
NS_IMETHODIMP nsMsgAttachment::GetContentType(char * *aContentType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetContentType(const char * aContentType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string contentTypeParam; */
NS_IMETHODIMP nsMsgAttachment::GetContentTypeParam(char * *aContentTypeParam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetContentTypeParam(const char * aContentTypeParam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string charset; */
NS_IMETHODIMP nsMsgAttachment::GetCharset(char * *aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetCharset(const char * aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute PRInt64 size; */
NS_IMETHODIMP nsMsgAttachment::GetSize(PRInt64 *aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetSize(PRInt64 aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string macType; */
NS_IMETHODIMP nsMsgAttachment::GetMacType(char * *aMacType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetMacType(const char * aMacType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string macCreator; */
NS_IMETHODIMP nsMsgAttachment::GetMacCreator(char * *aMacCreator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetMacCreator(const char * aMacCreator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean equalsUrl (in nsIMsgAttachment attachment); */
NS_IMETHODIMP nsMsgAttachment::EqualsUrl(nsIMsgAttachment *attachment, PRBool *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIMsgAttachment_h__ */
