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

#ifndef __gen_nsISmtpUrl_h__
#define __gen_nsISmtpUrl_h__


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

#ifndef __gen_nsIMsgComposeParams_h__
#include "nsIMsgComposeParams.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIMsgIdentity; /* forward declaration */

class nsIPrompt; /* forward declaration */

class nsIAuthPrompt; /* forward declaration */

class nsISmtpServer; /* forward declaration */

class nsIInterfaceRequestor; /* forward declaration */

class nsIFileSpec; /* forward declaration */


/* starting interface:    nsISmtpUrl */
#define NS_ISMTPURL_IID_STR "16adf2f1-bbad-11d2-804e-006008128c4e"

#define NS_ISMTPURL_IID \
  {0x16adf2f1, 0xbbad, 0x11d2, \
    { 0x80, 0x4e, 0x00, 0x60, 0x08, 0x12, 0x8c, 0x4e }}

class NS_NO_VTABLE nsISmtpUrl : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISMTPURL_IID)

  /* attribute string recipients; */
  NS_IMETHOD GetRecipients(char * *aRecipients) = 0;
  NS_IMETHOD SetRecipients(const char * aRecipients) = 0;

  /* attribute boolean PostMessage; */
  NS_IMETHOD GetPostMessage(PRBool *aPostMessage) = 0;
  NS_IMETHOD SetPostMessage(PRBool aPostMessage) = 0;

  /* attribute nsIFileSpec PostMessageFile; */
  NS_IMETHOD GetPostMessageFile(nsIFileSpec * *aPostMessageFile) = 0;
  NS_IMETHOD SetPostMessageFile(nsIFileSpec * aPostMessageFile) = 0;

  /* attribute nsIMsgIdentity senderIdentity; */
  NS_IMETHOD GetSenderIdentity(nsIMsgIdentity * *aSenderIdentity) = 0;
  NS_IMETHOD SetSenderIdentity(nsIMsgIdentity * aSenderIdentity) = 0;

  /* attribute nsIPrompt prompt; */
  NS_IMETHOD GetPrompt(nsIPrompt * *aPrompt) = 0;
  NS_IMETHOD SetPrompt(nsIPrompt * aPrompt) = 0;

  /* attribute nsIAuthPrompt authPrompt; */
  NS_IMETHOD GetAuthPrompt(nsIAuthPrompt * *aAuthPrompt) = 0;
  NS_IMETHOD SetAuthPrompt(nsIAuthPrompt * aAuthPrompt) = 0;

  /* attribute nsIInterfaceRequestor notificationCallbacks; */
  NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor * *aNotificationCallbacks) = 0;
  NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor * aNotificationCallbacks) = 0;

  /* attribute nsISmtpServer smtpServer; */
  NS_IMETHOD GetSmtpServer(nsISmtpServer * *aSmtpServer) = 0;
  NS_IMETHOD SetSmtpServer(nsISmtpServer * aSmtpServer) = 0;

  enum { DEFAULT_SMTP_PORT = 25 };

  enum { DEFAULT_SMTPS_PORT = 465 };

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISMTPURL \
  NS_IMETHOD GetRecipients(char * *aRecipients); \
  NS_IMETHOD SetRecipients(const char * aRecipients); \
  NS_IMETHOD GetPostMessage(PRBool *aPostMessage); \
  NS_IMETHOD SetPostMessage(PRBool aPostMessage); \
  NS_IMETHOD GetPostMessageFile(nsIFileSpec * *aPostMessageFile); \
  NS_IMETHOD SetPostMessageFile(nsIFileSpec * aPostMessageFile); \
  NS_IMETHOD GetSenderIdentity(nsIMsgIdentity * *aSenderIdentity); \
  NS_IMETHOD SetSenderIdentity(nsIMsgIdentity * aSenderIdentity); \
  NS_IMETHOD GetPrompt(nsIPrompt * *aPrompt); \
  NS_IMETHOD SetPrompt(nsIPrompt * aPrompt); \
  NS_IMETHOD GetAuthPrompt(nsIAuthPrompt * *aAuthPrompt); \
  NS_IMETHOD SetAuthPrompt(nsIAuthPrompt * aAuthPrompt); \
  NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor * *aNotificationCallbacks); \
  NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor * aNotificationCallbacks); \
  NS_IMETHOD GetSmtpServer(nsISmtpServer * *aSmtpServer); \
  NS_IMETHOD SetSmtpServer(nsISmtpServer * aSmtpServer); \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISMTPURL(_to) \
  NS_IMETHOD GetRecipients(char * *aRecipients) { return _to GetRecipients(aRecipients); } \
  NS_IMETHOD SetRecipients(const char * aRecipients) { return _to SetRecipients(aRecipients); } \
  NS_IMETHOD GetPostMessage(PRBool *aPostMessage) { return _to GetPostMessage(aPostMessage); } \
  NS_IMETHOD SetPostMessage(PRBool aPostMessage) { return _to SetPostMessage(aPostMessage); } \
  NS_IMETHOD GetPostMessageFile(nsIFileSpec * *aPostMessageFile) { return _to GetPostMessageFile(aPostMessageFile); } \
  NS_IMETHOD SetPostMessageFile(nsIFileSpec * aPostMessageFile) { return _to SetPostMessageFile(aPostMessageFile); } \
  NS_IMETHOD GetSenderIdentity(nsIMsgIdentity * *aSenderIdentity) { return _to GetSenderIdentity(aSenderIdentity); } \
  NS_IMETHOD SetSenderIdentity(nsIMsgIdentity * aSenderIdentity) { return _to SetSenderIdentity(aSenderIdentity); } \
  NS_IMETHOD GetPrompt(nsIPrompt * *aPrompt) { return _to GetPrompt(aPrompt); } \
  NS_IMETHOD SetPrompt(nsIPrompt * aPrompt) { return _to SetPrompt(aPrompt); } \
  NS_IMETHOD GetAuthPrompt(nsIAuthPrompt * *aAuthPrompt) { return _to GetAuthPrompt(aAuthPrompt); } \
  NS_IMETHOD SetAuthPrompt(nsIAuthPrompt * aAuthPrompt) { return _to SetAuthPrompt(aAuthPrompt); } \
  NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor * *aNotificationCallbacks) { return _to GetNotificationCallbacks(aNotificationCallbacks); } \
  NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor * aNotificationCallbacks) { return _to SetNotificationCallbacks(aNotificationCallbacks); } \
  NS_IMETHOD GetSmtpServer(nsISmtpServer * *aSmtpServer) { return _to GetSmtpServer(aSmtpServer); } \
  NS_IMETHOD SetSmtpServer(nsISmtpServer * aSmtpServer) { return _to SetSmtpServer(aSmtpServer); } \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISMTPURL(_to) \
  NS_IMETHOD GetRecipients(char * *aRecipients) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecipients(aRecipients); } \
  NS_IMETHOD SetRecipients(const char * aRecipients) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecipients(aRecipients); } \
  NS_IMETHOD GetPostMessage(PRBool *aPostMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPostMessage(aPostMessage); } \
  NS_IMETHOD SetPostMessage(PRBool aPostMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPostMessage(aPostMessage); } \
  NS_IMETHOD GetPostMessageFile(nsIFileSpec * *aPostMessageFile) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPostMessageFile(aPostMessageFile); } \
  NS_IMETHOD SetPostMessageFile(nsIFileSpec * aPostMessageFile) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPostMessageFile(aPostMessageFile); } \
  NS_IMETHOD GetSenderIdentity(nsIMsgIdentity * *aSenderIdentity) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSenderIdentity(aSenderIdentity); } \
  NS_IMETHOD SetSenderIdentity(nsIMsgIdentity * aSenderIdentity) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSenderIdentity(aSenderIdentity); } \
  NS_IMETHOD GetPrompt(nsIPrompt * *aPrompt) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrompt(aPrompt); } \
  NS_IMETHOD SetPrompt(nsIPrompt * aPrompt) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrompt(aPrompt); } \
  NS_IMETHOD GetAuthPrompt(nsIAuthPrompt * *aAuthPrompt) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthPrompt(aAuthPrompt); } \
  NS_IMETHOD SetAuthPrompt(nsIAuthPrompt * aAuthPrompt) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAuthPrompt(aAuthPrompt); } \
  NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor * *aNotificationCallbacks) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNotificationCallbacks(aNotificationCallbacks); } \
  NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor * aNotificationCallbacks) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNotificationCallbacks(aNotificationCallbacks); } \
  NS_IMETHOD GetSmtpServer(nsISmtpServer * *aSmtpServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSmtpServer(aSmtpServer); } \
  NS_IMETHOD SetSmtpServer(nsISmtpServer * aSmtpServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSmtpServer(aSmtpServer); } \

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

/* Header file */
class nsSmtpUrl : public nsISmtpUrl
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISMTPURL

  nsSmtpUrl();

private:
  ~nsSmtpUrl();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsSmtpUrl, nsISmtpUrl)

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

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

/* attribute string recipients; */
NS_IMETHODIMP nsSmtpUrl::GetRecipients(char * *aRecipients)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetRecipients(const char * aRecipients)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean PostMessage; */
NS_IMETHODIMP nsSmtpUrl::GetPostMessage(PRBool *aPostMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetPostMessage(PRBool aPostMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIFileSpec PostMessageFile; */
NS_IMETHODIMP nsSmtpUrl::GetPostMessageFile(nsIFileSpec * *aPostMessageFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetPostMessageFile(nsIFileSpec * aPostMessageFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgIdentity senderIdentity; */
NS_IMETHODIMP nsSmtpUrl::GetSenderIdentity(nsIMsgIdentity * *aSenderIdentity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetSenderIdentity(nsIMsgIdentity * aSenderIdentity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIPrompt prompt; */
NS_IMETHODIMP nsSmtpUrl::GetPrompt(nsIPrompt * *aPrompt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetPrompt(nsIPrompt * aPrompt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIAuthPrompt authPrompt; */
NS_IMETHODIMP nsSmtpUrl::GetAuthPrompt(nsIAuthPrompt * *aAuthPrompt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetAuthPrompt(nsIAuthPrompt * aAuthPrompt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIInterfaceRequestor notificationCallbacks; */
NS_IMETHODIMP nsSmtpUrl::GetNotificationCallbacks(nsIInterfaceRequestor * *aNotificationCallbacks)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetNotificationCallbacks(nsIInterfaceRequestor * aNotificationCallbacks)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsISmtpServer smtpServer; */
NS_IMETHODIMP nsSmtpUrl::GetSmtpServer(nsISmtpServer * *aSmtpServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpUrl::SetSmtpServer(nsISmtpServer * aSmtpServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsIMailtoUrl */
#define NS_IMAILTOURL_IID_STR "5ee2aff7-9c6f-11d3-98a3-001083010e9b"

#define NS_IMAILTOURL_IID \
  {0x5ee2aff7, 0x9c6f, 0x11d3, \
    { 0x98, 0xa3, 0x00, 0x10, 0x83, 0x01, 0x0e, 0x9b }}

class NS_NO_VTABLE nsIMailtoUrl : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMAILTOURL_IID)

  /* void GetMessageContents (out string aToPart, out string aCcPart, out string aBccPart, out string aFromPart, out string aFollowUpToPart, out string aOrganizationPart, out string aReplyToPart, out string aSubjectPart, out string aBodyPart, out string aHtmlPart, out string aReferencePart, out string aAttachmentPart, out string aPriorityPart, out string aNewsgroupPart, out string aNewsHostPart, out MSG_ComposeFormat aFormat); */
  NS_IMETHOD GetMessageContents(char **aToPart, char **aCcPart, char **aBccPart, char **aFromPart, char **aFollowUpToPart, char **aOrganizationPart, char **aReplyToPart, char **aSubjectPart, char **aBodyPart, char **aHtmlPart, char **aReferencePart, char **aAttachmentPart, char **aPriorityPart, char **aNewsgroupPart, char **aNewsHostPart, MSG_ComposeFormat *aFormat) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMAILTOURL \
  NS_IMETHOD GetMessageContents(char **aToPart, char **aCcPart, char **aBccPart, char **aFromPart, char **aFollowUpToPart, char **aOrganizationPart, char **aReplyToPart, char **aSubjectPart, char **aBodyPart, char **aHtmlPart, char **aReferencePart, char **aAttachmentPart, char **aPriorityPart, char **aNewsgroupPart, char **aNewsHostPart, MSG_ComposeFormat *aFormat); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMAILTOURL(_to) \
  NS_IMETHOD GetMessageContents(char **aToPart, char **aCcPart, char **aBccPart, char **aFromPart, char **aFollowUpToPart, char **aOrganizationPart, char **aReplyToPart, char **aSubjectPart, char **aBodyPart, char **aHtmlPart, char **aReferencePart, char **aAttachmentPart, char **aPriorityPart, char **aNewsgroupPart, char **aNewsHostPart, MSG_ComposeFormat *aFormat) { return _to GetMessageContents(aToPart, aCcPart, aBccPart, aFromPart, aFollowUpToPart, aOrganizationPart, aReplyToPart, aSubjectPart, aBodyPart, aHtmlPart, aReferencePart, aAttachmentPart, aPriorityPart, aNewsgroupPart, aNewsHostPart, aFormat); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMAILTOURL(_to) \
  NS_IMETHOD GetMessageContents(char **aToPart, char **aCcPart, char **aBccPart, char **aFromPart, char **aFollowUpToPart, char **aOrganizationPart, char **aReplyToPart, char **aSubjectPart, char **aBodyPart, char **aHtmlPart, char **aReferencePart, char **aAttachmentPart, char **aPriorityPart, char **aNewsgroupPart, char **aNewsHostPart, MSG_ComposeFormat *aFormat) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageContents(aToPart, aCcPart, aBccPart, aFromPart, aFollowUpToPart, aOrganizationPart, aReplyToPart, aSubjectPart, aBodyPart, aHtmlPart, aReferencePart, aAttachmentPart, aPriorityPart, aNewsgroupPart, aNewsHostPart, aFormat); } 

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

/* Header file */
class nsMailtoUrl : public nsIMailtoUrl
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMAILTOURL

  nsMailtoUrl();

private:
  ~nsMailtoUrl();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMailtoUrl, nsIMailtoUrl)

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

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

/* void GetMessageContents (out string aToPart, out string aCcPart, out string aBccPart, out string aFromPart, out string aFollowUpToPart, out string aOrganizationPart, out string aReplyToPart, out string aSubjectPart, out string aBodyPart, out string aHtmlPart, out string aReferencePart, out string aAttachmentPart, out string aPriorityPart, out string aNewsgroupPart, out string aNewsHostPart, out MSG_ComposeFormat aFormat); */
NS_IMETHODIMP nsMailtoUrl::GetMessageContents(char **aToPart, char **aCcPart, char **aBccPart, char **aFromPart, char **aFollowUpToPart, char **aOrganizationPart, char **aReplyToPart, char **aSubjectPart, char **aBodyPart, char **aHtmlPart, char **aReferencePart, char **aAttachmentPart, char **aPriorityPart, char **aNewsgroupPart, char **aNewsHostPart, MSG_ComposeFormat *aFormat)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISmtpUrl_h__ */
