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

#ifndef __gen_nsIPop3Sink_h__
#define __gen_nsIPop3Sink_h__


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

#ifndef __gen_nsIPop3IncomingServer_h__
#include "nsIPop3IncomingServer.h"
#endif

#ifndef __gen_nsIMsgFolder_h__
#include "nsIMsgFolder.h"
#endif

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


/* starting interface:    nsIPop3Sink */
#define NS_IPOP3SINK_IID_STR "ec54d490-bb00-11d2-ab5e-00805f8ac968"

#define NS_IPOP3SINK_IID \
  {0xec54d490, 0xbb00, 0x11d2, \
    { 0xab, 0x5e, 0x00, 0x80, 0x5f, 0x8a, 0xc9, 0x68 }}

class NS_NO_VTABLE nsIPop3Sink : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPOP3SINK_IID)

  /* attribute boolean userAuthenticated; */
  NS_IMETHOD GetUserAuthenticated(PRBool *aUserAuthenticated) = 0;
  NS_IMETHOD SetUserAuthenticated(PRBool aUserAuthenticated) = 0;

  /* attribute string mailAccountURL; */
  NS_IMETHOD GetMailAccountURL(char * *aMailAccountURL) = 0;
  NS_IMETHOD SetMailAccountURL(const char * aMailAccountURL) = 0;

  /* attribute boolean buildMessageUri; */
  NS_IMETHOD GetBuildMessageUri(PRBool *aBuildMessageUri) = 0;
  NS_IMETHOD SetBuildMessageUri(PRBool aBuildMessageUri) = 0;

  /* attribute string messageUri; */
  NS_IMETHOD GetMessageUri(char * *aMessageUri) = 0;
  NS_IMETHOD SetMessageUri(const char * aMessageUri) = 0;

  /* attribute string baseMessageUri; */
  NS_IMETHOD GetBaseMessageUri(char * *aBaseMessageUri) = 0;
  NS_IMETHOD SetBaseMessageUri(const char * aBaseMessageUri) = 0;

  /* boolean BeginMailDelivery (in boolean uidlDownload, in nsIMsgWindow msgWindow); */
  NS_IMETHOD BeginMailDelivery(PRBool uidlDownload, nsIMsgWindow *msgWindow, PRBool *_retval) = 0;

  /* void endMailDelivery (); */
  NS_IMETHOD EndMailDelivery(void) = 0;

  /* void AbortMailDelivery (); */
  NS_IMETHOD AbortMailDelivery(void) = 0;

  /* [noscript] voidPtr IncorporateBegin (in string uidlString, in nsIURI aURL, in unsigned long flags); */
  NS_IMETHOD IncorporateBegin(const char *uidlString, nsIURI *aURL, PRUint32 flags, void * *_retval) = 0;

  /* [noscript] void IncorporateWrite (in string block, in long length); */
  NS_IMETHOD IncorporateWrite(const char *block, PRInt32 length) = 0;

  /* [noscript] void IncorporateComplete (in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD IncorporateComplete(nsIMsgWindow *aMsgWindow) = 0;

  /* [noscript] void IncorporateAbort (in boolean uidlDownload); */
  NS_IMETHOD IncorporateAbort(PRBool uidlDownload) = 0;

  /* void BiffGetNewMail (); */
  NS_IMETHOD BiffGetNewMail(void) = 0;

  /* void SetBiffStateAndUpdateFE (in unsigned long biffState, in long numNewMessages, in boolean notify); */
  NS_IMETHOD SetBiffStateAndUpdateFE(PRUint32 biffState, PRInt32 numNewMessages, PRBool notify) = 0;

  /* [noscript] void SetSenderAuthedFlag (in voidPtr closure, in boolean authed); */
  NS_IMETHOD SetSenderAuthedFlag(void * closure, PRBool authed) = 0;

  /* attribute nsIPop3IncomingServer popServer; */
  NS_IMETHOD GetPopServer(nsIPop3IncomingServer * *aPopServer) = 0;
  NS_IMETHOD SetPopServer(nsIPop3IncomingServer * aPopServer) = 0;

  /* attribute nsIMsgFolder folder; */
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) = 0;
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIPOP3SINK \
  NS_IMETHOD GetUserAuthenticated(PRBool *aUserAuthenticated); \
  NS_IMETHOD SetUserAuthenticated(PRBool aUserAuthenticated); \
  NS_IMETHOD GetMailAccountURL(char * *aMailAccountURL); \
  NS_IMETHOD SetMailAccountURL(const char * aMailAccountURL); \
  NS_IMETHOD GetBuildMessageUri(PRBool *aBuildMessageUri); \
  NS_IMETHOD SetBuildMessageUri(PRBool aBuildMessageUri); \
  NS_IMETHOD GetMessageUri(char * *aMessageUri); \
  NS_IMETHOD SetMessageUri(const char * aMessageUri); \
  NS_IMETHOD GetBaseMessageUri(char * *aBaseMessageUri); \
  NS_IMETHOD SetBaseMessageUri(const char * aBaseMessageUri); \
  NS_IMETHOD BeginMailDelivery(PRBool uidlDownload, nsIMsgWindow *msgWindow, PRBool *_retval); \
  NS_IMETHOD EndMailDelivery(void); \
  NS_IMETHOD AbortMailDelivery(void); \
  NS_IMETHOD IncorporateBegin(const char *uidlString, nsIURI *aURL, PRUint32 flags, void * *_retval); \
  NS_IMETHOD IncorporateWrite(const char *block, PRInt32 length); \
  NS_IMETHOD IncorporateComplete(nsIMsgWindow *aMsgWindow); \
  NS_IMETHOD IncorporateAbort(PRBool uidlDownload); \
  NS_IMETHOD BiffGetNewMail(void); \
  NS_IMETHOD SetBiffStateAndUpdateFE(PRUint32 biffState, PRInt32 numNewMessages, PRBool notify); \
  NS_IMETHOD SetSenderAuthedFlag(void * closure, PRBool authed); \
  NS_IMETHOD GetPopServer(nsIPop3IncomingServer * *aPopServer); \
  NS_IMETHOD SetPopServer(nsIPop3IncomingServer * aPopServer); \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder); \
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIPOP3SINK(_to) \
  NS_IMETHOD GetUserAuthenticated(PRBool *aUserAuthenticated) { return _to GetUserAuthenticated(aUserAuthenticated); } \
  NS_IMETHOD SetUserAuthenticated(PRBool aUserAuthenticated) { return _to SetUserAuthenticated(aUserAuthenticated); } \
  NS_IMETHOD GetMailAccountURL(char * *aMailAccountURL) { return _to GetMailAccountURL(aMailAccountURL); } \
  NS_IMETHOD SetMailAccountURL(const char * aMailAccountURL) { return _to SetMailAccountURL(aMailAccountURL); } \
  NS_IMETHOD GetBuildMessageUri(PRBool *aBuildMessageUri) { return _to GetBuildMessageUri(aBuildMessageUri); } \
  NS_IMETHOD SetBuildMessageUri(PRBool aBuildMessageUri) { return _to SetBuildMessageUri(aBuildMessageUri); } \
  NS_IMETHOD GetMessageUri(char * *aMessageUri) { return _to GetMessageUri(aMessageUri); } \
  NS_IMETHOD SetMessageUri(const char * aMessageUri) { return _to SetMessageUri(aMessageUri); } \
  NS_IMETHOD GetBaseMessageUri(char * *aBaseMessageUri) { return _to GetBaseMessageUri(aBaseMessageUri); } \
  NS_IMETHOD SetBaseMessageUri(const char * aBaseMessageUri) { return _to SetBaseMessageUri(aBaseMessageUri); } \
  NS_IMETHOD BeginMailDelivery(PRBool uidlDownload, nsIMsgWindow *msgWindow, PRBool *_retval) { return _to BeginMailDelivery(uidlDownload, msgWindow, _retval); } \
  NS_IMETHOD EndMailDelivery(void) { return _to EndMailDelivery(); } \
  NS_IMETHOD AbortMailDelivery(void) { return _to AbortMailDelivery(); } \
  NS_IMETHOD IncorporateBegin(const char *uidlString, nsIURI *aURL, PRUint32 flags, void * *_retval) { return _to IncorporateBegin(uidlString, aURL, flags, _retval); } \
  NS_IMETHOD IncorporateWrite(const char *block, PRInt32 length) { return _to IncorporateWrite(block, length); } \
  NS_IMETHOD IncorporateComplete(nsIMsgWindow *aMsgWindow) { return _to IncorporateComplete(aMsgWindow); } \
  NS_IMETHOD IncorporateAbort(PRBool uidlDownload) { return _to IncorporateAbort(uidlDownload); } \
  NS_IMETHOD BiffGetNewMail(void) { return _to BiffGetNewMail(); } \
  NS_IMETHOD SetBiffStateAndUpdateFE(PRUint32 biffState, PRInt32 numNewMessages, PRBool notify) { return _to SetBiffStateAndUpdateFE(biffState, numNewMessages, notify); } \
  NS_IMETHOD SetSenderAuthedFlag(void * closure, PRBool authed) { return _to SetSenderAuthedFlag(closure, authed); } \
  NS_IMETHOD GetPopServer(nsIPop3IncomingServer * *aPopServer) { return _to GetPopServer(aPopServer); } \
  NS_IMETHOD SetPopServer(nsIPop3IncomingServer * aPopServer) { return _to SetPopServer(aPopServer); } \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) { return _to GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder) { return _to SetFolder(aFolder); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIPOP3SINK(_to) \
  NS_IMETHOD GetUserAuthenticated(PRBool *aUserAuthenticated) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUserAuthenticated(aUserAuthenticated); } \
  NS_IMETHOD SetUserAuthenticated(PRBool aUserAuthenticated) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUserAuthenticated(aUserAuthenticated); } \
  NS_IMETHOD GetMailAccountURL(char * *aMailAccountURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMailAccountURL(aMailAccountURL); } \
  NS_IMETHOD SetMailAccountURL(const char * aMailAccountURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMailAccountURL(aMailAccountURL); } \
  NS_IMETHOD GetBuildMessageUri(PRBool *aBuildMessageUri) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBuildMessageUri(aBuildMessageUri); } \
  NS_IMETHOD SetBuildMessageUri(PRBool aBuildMessageUri) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBuildMessageUri(aBuildMessageUri); } \
  NS_IMETHOD GetMessageUri(char * *aMessageUri) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageUri(aMessageUri); } \
  NS_IMETHOD SetMessageUri(const char * aMessageUri) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMessageUri(aMessageUri); } \
  NS_IMETHOD GetBaseMessageUri(char * *aBaseMessageUri) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBaseMessageUri(aBaseMessageUri); } \
  NS_IMETHOD SetBaseMessageUri(const char * aBaseMessageUri) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBaseMessageUri(aBaseMessageUri); } \
  NS_IMETHOD BeginMailDelivery(PRBool uidlDownload, nsIMsgWindow *msgWindow, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->BeginMailDelivery(uidlDownload, msgWindow, _retval); } \
  NS_IMETHOD EndMailDelivery(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->EndMailDelivery(); } \
  NS_IMETHOD AbortMailDelivery(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->AbortMailDelivery(); } \
  NS_IMETHOD IncorporateBegin(const char *uidlString, nsIURI *aURL, PRUint32 flags, void * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IncorporateBegin(uidlString, aURL, flags, _retval); } \
  NS_IMETHOD IncorporateWrite(const char *block, PRInt32 length) { return !_to ? NS_ERROR_NULL_POINTER : _to->IncorporateWrite(block, length); } \
  NS_IMETHOD IncorporateComplete(nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->IncorporateComplete(aMsgWindow); } \
  NS_IMETHOD IncorporateAbort(PRBool uidlDownload) { return !_to ? NS_ERROR_NULL_POINTER : _to->IncorporateAbort(uidlDownload); } \
  NS_IMETHOD BiffGetNewMail(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->BiffGetNewMail(); } \
  NS_IMETHOD SetBiffStateAndUpdateFE(PRUint32 biffState, PRInt32 numNewMessages, PRBool notify) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBiffStateAndUpdateFE(biffState, numNewMessages, notify); } \
  NS_IMETHOD SetSenderAuthedFlag(void * closure, PRBool authed) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSenderAuthedFlag(closure, authed); } \
  NS_IMETHOD GetPopServer(nsIPop3IncomingServer * *aPopServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPopServer(aPopServer); } \
  NS_IMETHOD SetPopServer(nsIPop3IncomingServer * aPopServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPopServer(aPopServer); } \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolder(aFolder); } 

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

/* Header file */
class nsPop3Sink : public nsIPop3Sink
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIPOP3SINK

  nsPop3Sink();

private:
  ~nsPop3Sink();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsPop3Sink, nsIPop3Sink)

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

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

/* attribute boolean userAuthenticated; */
NS_IMETHODIMP nsPop3Sink::GetUserAuthenticated(PRBool *aUserAuthenticated)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetUserAuthenticated(PRBool aUserAuthenticated)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string mailAccountURL; */
NS_IMETHODIMP nsPop3Sink::GetMailAccountURL(char * *aMailAccountURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetMailAccountURL(const char * aMailAccountURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean buildMessageUri; */
NS_IMETHODIMP nsPop3Sink::GetBuildMessageUri(PRBool *aBuildMessageUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetBuildMessageUri(PRBool aBuildMessageUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string messageUri; */
NS_IMETHODIMP nsPop3Sink::GetMessageUri(char * *aMessageUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetMessageUri(const char * aMessageUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string baseMessageUri; */
NS_IMETHODIMP nsPop3Sink::GetBaseMessageUri(char * *aBaseMessageUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetBaseMessageUri(const char * aBaseMessageUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean BeginMailDelivery (in boolean uidlDownload, in nsIMsgWindow msgWindow); */
NS_IMETHODIMP nsPop3Sink::BeginMailDelivery(PRBool uidlDownload, nsIMsgWindow *msgWindow, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void endMailDelivery (); */
NS_IMETHODIMP nsPop3Sink::EndMailDelivery()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void AbortMailDelivery (); */
NS_IMETHODIMP nsPop3Sink::AbortMailDelivery()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] voidPtr IncorporateBegin (in string uidlString, in nsIURI aURL, in unsigned long flags); */
NS_IMETHODIMP nsPop3Sink::IncorporateBegin(const char *uidlString, nsIURI *aURL, PRUint32 flags, void * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void IncorporateWrite (in string block, in long length); */
NS_IMETHODIMP nsPop3Sink::IncorporateWrite(const char *block, PRInt32 length)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void IncorporateComplete (in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsPop3Sink::IncorporateComplete(nsIMsgWindow *aMsgWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void IncorporateAbort (in boolean uidlDownload); */
NS_IMETHODIMP nsPop3Sink::IncorporateAbort(PRBool uidlDownload)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void BiffGetNewMail (); */
NS_IMETHODIMP nsPop3Sink::BiffGetNewMail()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void SetBiffStateAndUpdateFE (in unsigned long biffState, in long numNewMessages, in boolean notify); */
NS_IMETHODIMP nsPop3Sink::SetBiffStateAndUpdateFE(PRUint32 biffState, PRInt32 numNewMessages, PRBool notify)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void SetSenderAuthedFlag (in voidPtr closure, in boolean authed); */
NS_IMETHODIMP nsPop3Sink::SetSenderAuthedFlag(void * closure, PRBool authed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIPop3IncomingServer popServer; */
NS_IMETHODIMP nsPop3Sink::GetPopServer(nsIPop3IncomingServer * *aPopServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetPopServer(nsIPop3IncomingServer * aPopServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgFolder folder; */
NS_IMETHODIMP nsPop3Sink::GetFolder(nsIMsgFolder * *aFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPop3Sink::SetFolder(nsIMsgFolder * aFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIPop3Sink_h__ */
