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

#ifndef __gen_nsISmtpServer_h__
#define __gen_nsISmtpServer_h__


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

#ifndef __gen_MailNewsTypes2_h__
#include "MailNewsTypes2.h"
#endif

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

class nsIUrlListener; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIMsgWindow; /* forward declaration */


/* starting interface:    nsISmtpServer */
#define NS_ISMTPSERVER_IID_STR "a53dce6c-cd81-495c-83bc-45a65df1f08e"

#define NS_ISMTPSERVER_IID \
  {0xa53dce6c, 0xcd81, 0x495c, \
    { 0x83, 0xbc, 0x45, 0xa6, 0x5d, 0xf1, 0xf0, 0x8e }}

class NS_NO_VTABLE nsISmtpServer : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISMTPSERVER_IID)

  /* attribute string key; */
  NS_IMETHOD GetKey(char * *aKey) = 0;
  NS_IMETHOD SetKey(const char * aKey) = 0;

  /* attribute AUTF8String description; */
  NS_IMETHOD GetDescription(nsACString & aDescription) = 0;
  NS_IMETHOD SetDescription(const nsACString & aDescription) = 0;

  /* attribute ACString hostname; */
  NS_IMETHOD GetHostname(nsACString & aHostname) = 0;
  NS_IMETHOD SetHostname(const nsACString & aHostname) = 0;

  /* attribute int32_t port; */
  NS_IMETHOD GetPort(int32_t *aPort) = 0;
  NS_IMETHOD SetPort(int32_t aPort) = 0;

  /* attribute ACString username; */
  NS_IMETHOD GetUsername(nsACString & aUsername) = 0;
  NS_IMETHOD SetUsername(const nsACString & aUsername) = 0;

  /* attribute ACString password; */
  NS_IMETHOD GetPassword(nsACString & aPassword) = 0;
  NS_IMETHOD SetPassword(const nsACString & aPassword) = 0;

  /* readonly attribute string displayname; */
  NS_IMETHOD GetDisplayname(char * *aDisplayname) = 0;

  /* attribute nsMsgAuthMethodValue authMethod; */
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) = 0;
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) = 0;

  /* attribute nsMsgSocketTypeValue socketType; */
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) = 0;
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) = 0;

  /* readonly attribute string helloArgument; */
  NS_IMETHOD GetHelloArgument(char * *aHelloArgument) = 0;

  /* readonly attribute ACString serverURI; */
  NS_IMETHOD GetServerURI(nsACString & aServerURI) = 0;

  /* ACString getPasswordWithUI (in wstring promptString, in wstring promptTitle, in nsIAuthPrompt netPrompt); */
  NS_IMETHOD GetPasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & _retval) = 0;

  /* void getUsernamePasswordWithUI (in wstring promptString, in wstring promptTitle, in nsIAuthPrompt netPrompt, out ACString userid, out ACString password); */
  NS_IMETHOD GetUsernamePasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & userid, nsACString & password) = 0;

  /* void forgetPassword (); */
  NS_IMETHOD ForgetPassword(void) = 0;

  /* nsIURI verifyLogon (in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) = 0;

  /* void clearAllValues (); */
  NS_IMETHOD ClearAllValues(void) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISmtpServer, NS_ISMTPSERVER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISMTPSERVER \
  NS_IMETHOD GetKey(char * *aKey) override; \
  NS_IMETHOD SetKey(const char * aKey) override; \
  NS_IMETHOD GetDescription(nsACString & aDescription) override; \
  NS_IMETHOD SetDescription(const nsACString & aDescription) override; \
  NS_IMETHOD GetHostname(nsACString & aHostname) override; \
  NS_IMETHOD SetHostname(const nsACString & aHostname) override; \
  NS_IMETHOD GetPort(int32_t *aPort) override; \
  NS_IMETHOD SetPort(int32_t aPort) override; \
  NS_IMETHOD GetUsername(nsACString & aUsername) override; \
  NS_IMETHOD SetUsername(const nsACString & aUsername) override; \
  NS_IMETHOD GetPassword(nsACString & aPassword) override; \
  NS_IMETHOD SetPassword(const nsACString & aPassword) override; \
  NS_IMETHOD GetDisplayname(char * *aDisplayname) override; \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) override; \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) override; \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) override; \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) override; \
  NS_IMETHOD GetHelloArgument(char * *aHelloArgument) override; \
  NS_IMETHOD GetServerURI(nsACString & aServerURI) override; \
  NS_IMETHOD GetPasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & _retval) override; \
  NS_IMETHOD GetUsernamePasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & userid, nsACString & password) override; \
  NS_IMETHOD ForgetPassword(void) override; \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) override; \
  NS_IMETHOD ClearAllValues(void) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSISMTPSERVER \
  NS_METHOD GetKey(char * *aKey); \
  NS_METHOD SetKey(const char * aKey); \
  NS_METHOD GetDescription(nsACString & aDescription); \
  NS_METHOD SetDescription(const nsACString & aDescription); \
  NS_METHOD GetHostname(nsACString & aHostname); \
  NS_METHOD SetHostname(const nsACString & aHostname); \
  NS_METHOD GetPort(int32_t *aPort); \
  NS_METHOD SetPort(int32_t aPort); \
  NS_METHOD GetUsername(nsACString & aUsername); \
  NS_METHOD SetUsername(const nsACString & aUsername); \
  NS_METHOD GetPassword(nsACString & aPassword); \
  NS_METHOD SetPassword(const nsACString & aPassword); \
  NS_METHOD GetDisplayname(char * *aDisplayname); \
  NS_METHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod); \
  NS_METHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod); \
  NS_METHOD GetSocketType(nsMsgSocketTypeValue *aSocketType); \
  NS_METHOD SetSocketType(nsMsgSocketTypeValue aSocketType); \
  NS_METHOD GetHelloArgument(char * *aHelloArgument); \
  NS_METHOD GetServerURI(nsACString & aServerURI); \
  NS_METHOD GetPasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & _retval); \
  NS_METHOD GetUsernamePasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & userid, nsACString & password); \
  NS_METHOD ForgetPassword(void); \
  NS_METHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval); \
  NS_METHOD ClearAllValues(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISMTPSERVER(_to) \
  NS_IMETHOD GetKey(char * *aKey) override { return _to GetKey(aKey); } \
  NS_IMETHOD SetKey(const char * aKey) override { return _to SetKey(aKey); } \
  NS_IMETHOD GetDescription(nsACString & aDescription) override { return _to GetDescription(aDescription); } \
  NS_IMETHOD SetDescription(const nsACString & aDescription) override { return _to SetDescription(aDescription); } \
  NS_IMETHOD GetHostname(nsACString & aHostname) override { return _to GetHostname(aHostname); } \
  NS_IMETHOD SetHostname(const nsACString & aHostname) override { return _to SetHostname(aHostname); } \
  NS_IMETHOD GetPort(int32_t *aPort) override { return _to GetPort(aPort); } \
  NS_IMETHOD SetPort(int32_t aPort) override { return _to SetPort(aPort); } \
  NS_IMETHOD GetUsername(nsACString & aUsername) override { return _to GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString & aUsername) override { return _to SetUsername(aUsername); } \
  NS_IMETHOD GetPassword(nsACString & aPassword) override { return _to GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsACString & aPassword) override { return _to SetPassword(aPassword); } \
  NS_IMETHOD GetDisplayname(char * *aDisplayname) override { return _to GetDisplayname(aDisplayname); } \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) override { return _to GetAuthMethod(aAuthMethod); } \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) override { return _to SetAuthMethod(aAuthMethod); } \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) override { return _to GetSocketType(aSocketType); } \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) override { return _to SetSocketType(aSocketType); } \
  NS_IMETHOD GetHelloArgument(char * *aHelloArgument) override { return _to GetHelloArgument(aHelloArgument); } \
  NS_IMETHOD GetServerURI(nsACString & aServerURI) override { return _to GetServerURI(aServerURI); } \
  NS_IMETHOD GetPasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & _retval) override { return _to GetPasswordWithUI(promptString, promptTitle, netPrompt, _retval); } \
  NS_IMETHOD GetUsernamePasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & userid, nsACString & password) override { return _to GetUsernamePasswordWithUI(promptString, promptTitle, netPrompt, userid, password); } \
  NS_IMETHOD ForgetPassword(void) override { return _to ForgetPassword(); } \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) override { return _to VerifyLogon(aUrlListener, aMsgWindow, _retval); } \
  NS_IMETHOD ClearAllValues(void) override { return _to ClearAllValues(); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISMTPSERVER(_to) \
  NS_IMETHOD GetKey(char * *aKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKey(aKey); } \
  NS_IMETHOD SetKey(const char * aKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetKey(aKey); } \
  NS_IMETHOD GetDescription(nsACString & aDescription) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDescription(aDescription); } \
  NS_IMETHOD SetDescription(const nsACString & aDescription) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDescription(aDescription); } \
  NS_IMETHOD GetHostname(nsACString & aHostname) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHostname(aHostname); } \
  NS_IMETHOD SetHostname(const nsACString & aHostname) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostname(aHostname); } \
  NS_IMETHOD GetPort(int32_t *aPort) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPort(aPort); } \
  NS_IMETHOD SetPort(int32_t aPort) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPort(aPort); } \
  NS_IMETHOD GetUsername(nsACString & aUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString & aUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsername(aUsername); } \
  NS_IMETHOD GetPassword(nsACString & aPassword) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsACString & aPassword) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPassword(aPassword); } \
  NS_IMETHOD GetDisplayname(char * *aDisplayname) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDisplayname(aDisplayname); } \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthMethod(aAuthMethod); } \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAuthMethod(aAuthMethod); } \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSocketType(aSocketType); } \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSocketType(aSocketType); } \
  NS_IMETHOD GetHelloArgument(char * *aHelloArgument) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHelloArgument(aHelloArgument); } \
  NS_IMETHOD GetServerURI(nsACString & aServerURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerURI(aServerURI); } \
  NS_IMETHOD GetPasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPasswordWithUI(promptString, promptTitle, netPrompt, _retval); } \
  NS_IMETHOD GetUsernamePasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & userid, nsACString & password) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsernamePasswordWithUI(promptString, promptTitle, netPrompt, userid, password); } \
  NS_IMETHOD ForgetPassword(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetPassword(); } \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->VerifyLogon(aUrlListener, aMsgWindow, _retval); } \
  NS_IMETHOD ClearAllValues(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAllValues(); } 

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

/* Header file */
class nsSmtpServer : public nsISmtpServer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISMTPSERVER

  nsSmtpServer();

private:
  ~nsSmtpServer();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSmtpServer, nsISmtpServer)

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

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

/* attribute string key; */
NS_IMETHODIMP nsSmtpServer::GetKey(char * *aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetKey(const char * aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String description; */
NS_IMETHODIMP nsSmtpServer::GetDescription(nsACString & aDescription)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetDescription(const nsACString & aDescription)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString hostname; */
NS_IMETHODIMP nsSmtpServer::GetHostname(nsACString & aHostname)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetHostname(const nsACString & aHostname)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute int32_t port; */
NS_IMETHODIMP nsSmtpServer::GetPort(int32_t *aPort)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetPort(int32_t aPort)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString username; */
NS_IMETHODIMP nsSmtpServer::GetUsername(nsACString & aUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetUsername(const nsACString & aUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString password; */
NS_IMETHODIMP nsSmtpServer::GetPassword(nsACString & aPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetPassword(const nsACString & aPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string displayname; */
NS_IMETHODIMP nsSmtpServer::GetDisplayname(char * *aDisplayname)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgAuthMethodValue authMethod; */
NS_IMETHODIMP nsSmtpServer::GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetAuthMethod(nsMsgAuthMethodValue aAuthMethod)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgSocketTypeValue socketType; */
NS_IMETHODIMP nsSmtpServer::GetSocketType(nsMsgSocketTypeValue *aSocketType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSmtpServer::SetSocketType(nsMsgSocketTypeValue aSocketType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string helloArgument; */
NS_IMETHODIMP nsSmtpServer::GetHelloArgument(char * *aHelloArgument)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString serverURI; */
NS_IMETHODIMP nsSmtpServer::GetServerURI(nsACString & aServerURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getPasswordWithUI (in wstring promptString, in wstring promptTitle, in nsIAuthPrompt netPrompt); */
NS_IMETHODIMP nsSmtpServer::GetPasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getUsernamePasswordWithUI (in wstring promptString, in wstring promptTitle, in nsIAuthPrompt netPrompt, out ACString userid, out ACString password); */
NS_IMETHODIMP nsSmtpServer::GetUsernamePasswordWithUI(const char16_t * promptString, const char16_t * promptTitle, nsIAuthPrompt *netPrompt, nsACString & userid, nsACString & password)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void forgetPassword (); */
NS_IMETHODIMP nsSmtpServer::ForgetPassword()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIURI verifyLogon (in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsSmtpServer::VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearAllValues (); */
NS_IMETHODIMP nsSmtpServer::ClearAllValues()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISmtpServer_h__ */
