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

#ifndef __gen_nsIMsgComposeParams_h__
#define __gen_nsIMsgComposeParams_h__


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

#ifndef __gen_nsIMsgIdentity_h__
#include "nsIMsgIdentity.h"
#endif

#ifndef __gen_nsIMsgCompFields_h__
#include "nsIMsgCompFields.h"
#endif

#ifndef __gen_nsIMsgSendListener_h__
#include "nsIMsgSendListener.h"
#endif

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


/* starting interface:    nsIMsgCompType */
#define NS_IMSGCOMPTYPE_IID_STR "c7035852-7531-11d3-9a73-006008948010"

#define NS_IMSGCOMPTYPE_IID \
  {0xc7035852, 0x7531, 0x11d3, \
    { 0x9a, 0x73, 0x00, 0x60, 0x08, 0x94, 0x80, 0x10 }}

class NS_NO_VTABLE nsIMsgCompType {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGCOMPTYPE_IID)

  enum { New = 0 };

  enum { Reply = 1 };

  enum { ReplyAll = 2 };

  enum { ForwardAsAttachment = 3 };

  enum { ForwardInline = 4 };

  enum { NewsPost = 5 };

  enum { ReplyToSender = 6 };

  enum { ReplyToGroup = 7 };

  enum { ReplyToSenderAndGroup = 8 };

  enum { Draft = 9 };

  enum { Template = 10 };

  enum { MailToUrl = 11 };

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGCOMPTYPE \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGCOMPTYPE(_to) \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGCOMPTYPE(_to) \

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

/* Header file */
class nsMsgCompType : public nsIMsgCompType
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGCOMPTYPE

  nsMsgCompType();

private:
  ~nsMsgCompType();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgCompType, nsIMsgCompType)

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

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

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

typedef PRInt32 MSG_ComposeFormat;


/* starting interface:    nsIMsgCompFormat */
#define NS_IMSGCOMPFORMAT_IID_STR "a28325e8-7531-11d3-8f1c-006008948010"

#define NS_IMSGCOMPFORMAT_IID \
  {0xa28325e8, 0x7531, 0x11d3, \
    { 0x8f, 0x1c, 0x00, 0x60, 0x08, 0x94, 0x80, 0x10 }}

class NS_NO_VTABLE nsIMsgCompFormat {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGCOMPFORMAT_IID)

  enum { Default = 0 };

  enum { HTML = 1 };

  enum { PlainText = 2 };

  enum { OppositeOfDefault = 3 };

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGCOMPFORMAT \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGCOMPFORMAT(_to) \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGCOMPFORMAT(_to) \

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

/* Header file */
class nsMsgCompFormat : public nsIMsgCompFormat
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGCOMPFORMAT

  nsMsgCompFormat();

private:
  ~nsMsgCompFormat();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgCompFormat, nsIMsgCompFormat)

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

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

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


/* starting interface:    nsIMsgComposeParams */
#define NS_IMSGCOMPOSEPARAMS_IID_STR "b8fe4400-bf05-11d4-9daa-e1cd31c137fc"

#define NS_IMSGCOMPOSEPARAMS_IID \
  {0xb8fe4400, 0xbf05, 0x11d4, \
    { 0x9d, 0xaa, 0xe1, 0xcd, 0x31, 0xc1, 0x37, 0xfc }}

class NS_NO_VTABLE nsIMsgComposeParams : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGCOMPOSEPARAMS_IID)

  /* attribute MSG_ComposeType type; */
  NS_IMETHOD GetType(MSG_ComposeType *aType) = 0;
  NS_IMETHOD SetType(MSG_ComposeType aType) = 0;

  /* attribute MSG_ComposeFormat format; */
  NS_IMETHOD GetFormat(MSG_ComposeFormat *aFormat) = 0;
  NS_IMETHOD SetFormat(MSG_ComposeFormat aFormat) = 0;

  /* attribute string originalMsgURI; */
  NS_IMETHOD GetOriginalMsgURI(char * *aOriginalMsgURI) = 0;
  NS_IMETHOD SetOriginalMsgURI(const char * aOriginalMsgURI) = 0;

  /* attribute nsIMsgIdentity identity; */
  NS_IMETHOD GetIdentity(nsIMsgIdentity * *aIdentity) = 0;
  NS_IMETHOD SetIdentity(nsIMsgIdentity * aIdentity) = 0;

  /* attribute nsIMsgCompFields composeFields; */
  NS_IMETHOD GetComposeFields(nsIMsgCompFields * *aComposeFields) = 0;
  NS_IMETHOD SetComposeFields(nsIMsgCompFields * aComposeFields) = 0;

  /* attribute boolean bodyIsLink; */
  NS_IMETHOD GetBodyIsLink(PRBool *aBodyIsLink) = 0;
  NS_IMETHOD SetBodyIsLink(PRBool aBodyIsLink) = 0;

  /* attribute nsIMsgSendListener sendListener; */
  NS_IMETHOD GetSendListener(nsIMsgSendListener * *aSendListener) = 0;
  NS_IMETHOD SetSendListener(nsIMsgSendListener * aSendListener) = 0;

  /* attribute string smtpPassword; */
  NS_IMETHOD GetSmtpPassword(char * *aSmtpPassword) = 0;
  NS_IMETHOD SetSmtpPassword(const char * aSmtpPassword) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGCOMPOSEPARAMS \
  NS_IMETHOD GetType(MSG_ComposeType *aType); \
  NS_IMETHOD SetType(MSG_ComposeType aType); \
  NS_IMETHOD GetFormat(MSG_ComposeFormat *aFormat); \
  NS_IMETHOD SetFormat(MSG_ComposeFormat aFormat); \
  NS_IMETHOD GetOriginalMsgURI(char * *aOriginalMsgURI); \
  NS_IMETHOD SetOriginalMsgURI(const char * aOriginalMsgURI); \
  NS_IMETHOD GetIdentity(nsIMsgIdentity * *aIdentity); \
  NS_IMETHOD SetIdentity(nsIMsgIdentity * aIdentity); \
  NS_IMETHOD GetComposeFields(nsIMsgCompFields * *aComposeFields); \
  NS_IMETHOD SetComposeFields(nsIMsgCompFields * aComposeFields); \
  NS_IMETHOD GetBodyIsLink(PRBool *aBodyIsLink); \
  NS_IMETHOD SetBodyIsLink(PRBool aBodyIsLink); \
  NS_IMETHOD GetSendListener(nsIMsgSendListener * *aSendListener); \
  NS_IMETHOD SetSendListener(nsIMsgSendListener * aSendListener); \
  NS_IMETHOD GetSmtpPassword(char * *aSmtpPassword); \
  NS_IMETHOD SetSmtpPassword(const char * aSmtpPassword); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGCOMPOSEPARAMS(_to) \
  NS_IMETHOD GetType(MSG_ComposeType *aType) { return _to GetType(aType); } \
  NS_IMETHOD SetType(MSG_ComposeType aType) { return _to SetType(aType); } \
  NS_IMETHOD GetFormat(MSG_ComposeFormat *aFormat) { return _to GetFormat(aFormat); } \
  NS_IMETHOD SetFormat(MSG_ComposeFormat aFormat) { return _to SetFormat(aFormat); } \
  NS_IMETHOD GetOriginalMsgURI(char * *aOriginalMsgURI) { return _to GetOriginalMsgURI(aOriginalMsgURI); } \
  NS_IMETHOD SetOriginalMsgURI(const char * aOriginalMsgURI) { return _to SetOriginalMsgURI(aOriginalMsgURI); } \
  NS_IMETHOD GetIdentity(nsIMsgIdentity * *aIdentity) { return _to GetIdentity(aIdentity); } \
  NS_IMETHOD SetIdentity(nsIMsgIdentity * aIdentity) { return _to SetIdentity(aIdentity); } \
  NS_IMETHOD GetComposeFields(nsIMsgCompFields * *aComposeFields) { return _to GetComposeFields(aComposeFields); } \
  NS_IMETHOD SetComposeFields(nsIMsgCompFields * aComposeFields) { return _to SetComposeFields(aComposeFields); } \
  NS_IMETHOD GetBodyIsLink(PRBool *aBodyIsLink) { return _to GetBodyIsLink(aBodyIsLink); } \
  NS_IMETHOD SetBodyIsLink(PRBool aBodyIsLink) { return _to SetBodyIsLink(aBodyIsLink); } \
  NS_IMETHOD GetSendListener(nsIMsgSendListener * *aSendListener) { return _to GetSendListener(aSendListener); } \
  NS_IMETHOD SetSendListener(nsIMsgSendListener * aSendListener) { return _to SetSendListener(aSendListener); } \
  NS_IMETHOD GetSmtpPassword(char * *aSmtpPassword) { return _to GetSmtpPassword(aSmtpPassword); } \
  NS_IMETHOD SetSmtpPassword(const char * aSmtpPassword) { return _to SetSmtpPassword(aSmtpPassword); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGCOMPOSEPARAMS(_to) \
  NS_IMETHOD GetType(MSG_ComposeType *aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetType(aType); } \
  NS_IMETHOD SetType(MSG_ComposeType aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetType(aType); } \
  NS_IMETHOD GetFormat(MSG_ComposeFormat *aFormat) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFormat(aFormat); } \
  NS_IMETHOD SetFormat(MSG_ComposeFormat aFormat) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFormat(aFormat); } \
  NS_IMETHOD GetOriginalMsgURI(char * *aOriginalMsgURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOriginalMsgURI(aOriginalMsgURI); } \
  NS_IMETHOD SetOriginalMsgURI(const char * aOriginalMsgURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOriginalMsgURI(aOriginalMsgURI); } \
  NS_IMETHOD GetIdentity(nsIMsgIdentity * *aIdentity) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIdentity(aIdentity); } \
  NS_IMETHOD SetIdentity(nsIMsgIdentity * aIdentity) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIdentity(aIdentity); } \
  NS_IMETHOD GetComposeFields(nsIMsgCompFields * *aComposeFields) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetComposeFields(aComposeFields); } \
  NS_IMETHOD SetComposeFields(nsIMsgCompFields * aComposeFields) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetComposeFields(aComposeFields); } \
  NS_IMETHOD GetBodyIsLink(PRBool *aBodyIsLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBodyIsLink(aBodyIsLink); } \
  NS_IMETHOD SetBodyIsLink(PRBool aBodyIsLink) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBodyIsLink(aBodyIsLink); } \
  NS_IMETHOD GetSendListener(nsIMsgSendListener * *aSendListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSendListener(aSendListener); } \
  NS_IMETHOD SetSendListener(nsIMsgSendListener * aSendListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSendListener(aSendListener); } \
  NS_IMETHOD GetSmtpPassword(char * *aSmtpPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSmtpPassword(aSmtpPassword); } \
  NS_IMETHOD SetSmtpPassword(const char * aSmtpPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSmtpPassword(aSmtpPassword); } 

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

/* Header file */
class nsMsgComposeParams : public nsIMsgComposeParams
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGCOMPOSEPARAMS

  nsMsgComposeParams();

private:
  ~nsMsgComposeParams();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgComposeParams, nsIMsgComposeParams)

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

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

/* attribute MSG_ComposeType type; */
NS_IMETHODIMP nsMsgComposeParams::GetType(MSG_ComposeType *aType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetType(MSG_ComposeType aType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute MSG_ComposeFormat format; */
NS_IMETHODIMP nsMsgComposeParams::GetFormat(MSG_ComposeFormat *aFormat)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetFormat(MSG_ComposeFormat aFormat)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string originalMsgURI; */
NS_IMETHODIMP nsMsgComposeParams::GetOriginalMsgURI(char * *aOriginalMsgURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetOriginalMsgURI(const char * aOriginalMsgURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgIdentity identity; */
NS_IMETHODIMP nsMsgComposeParams::GetIdentity(nsIMsgIdentity * *aIdentity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetIdentity(nsIMsgIdentity * aIdentity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgCompFields composeFields; */
NS_IMETHODIMP nsMsgComposeParams::GetComposeFields(nsIMsgCompFields * *aComposeFields)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetComposeFields(nsIMsgCompFields * aComposeFields)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean bodyIsLink; */
NS_IMETHODIMP nsMsgComposeParams::GetBodyIsLink(PRBool *aBodyIsLink)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetBodyIsLink(PRBool aBodyIsLink)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgSendListener sendListener; */
NS_IMETHODIMP nsMsgComposeParams::GetSendListener(nsIMsgSendListener * *aSendListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetSendListener(nsIMsgSendListener * aSendListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string smtpPassword; */
NS_IMETHODIMP nsMsgComposeParams::GetSmtpPassword(char * *aSmtpPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgComposeParams::SetSmtpPassword(const char * aSmtpPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgComposeParams_h__ */
