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

#ifndef __gen_nsIMsgNewsFolder_h__
#define __gen_nsIMsgNewsFolder_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.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
#include "nsTArray.h"
class nsIMsgWindow; /* forward declaration */

class nsINntpIncomingServer; /* forward declaration */


/* starting interface:    nsIMsgNewsFolder */
#define NS_IMSGNEWSFOLDER_IID_STR "86a38356-6ab0-4117-8269-674cbb4f264f"

#define NS_IMSGNEWSFOLDER_IID \
  {0x86a38356, 0x6ab0, 0x4117, \
    { 0x82, 0x69, 0x67, 0x4c, 0xbb, 0x4f, 0x26, 0x4f }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIMsgNewsFolder : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGNEWSFOLDER_IID)

  /* attribute ACString groupUsername; */
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsername(nsACString & aGroupUsername) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetGroupUsername(const nsACString & aGroupUsername) = 0;

  /* attribute ACString groupPassword; */
  NS_SCRIPTABLE NS_IMETHOD GetGroupPassword(nsACString & aGroupPassword) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetGroupPassword(const nsACString & aGroupPassword) = 0;

  /* readonly attribute AString unicodeName; */
  NS_SCRIPTABLE NS_IMETHOD GetUnicodeName(nsAString & aUnicodeName) = 0;

  /* [noscript] readonly attribute ACString rawName; */
  NS_IMETHOD GetRawName(nsACString & aRawName) = 0;

  /* readonly attribute nsINntpIncomingServer nntpServer; */
  NS_SCRIPTABLE NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer) = 0;

  /* attribute boolean saveArticleOffline; */
  NS_SCRIPTABLE NS_IMETHOD GetSaveArticleOffline(bool *aSaveArticleOffline) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetSaveArticleOffline(bool aSaveArticleOffline) = 0;

  /* ACString getGroupPasswordWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
  NS_SCRIPTABLE NS_IMETHOD GetGroupPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM) = 0;

  /* ACString getGroupUsernameWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsernameWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM) = 0;

  /* void forgetGroupUsername (); */
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupUsername(void) = 0;

  /* void forgetGroupPassword (); */
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupPassword(void) = 0;

  /* void moveFolder (in nsIMsgFolder aNewsgroupToMove, in nsIMsgFolder aRefNewsgroup, in PRInt32 aOrientation); */
  NS_SCRIPTABLE NS_IMETHOD MoveFolder(nsIMsgFolder *aNewsgroupToMove, nsIMsgFolder *aRefNewsgroup, PRInt32 aOrientation) = 0;

  /* nsIMsgFolder addNewsgroup (in AUTF8String newsgroupName, in ACString setStr); */
  NS_SCRIPTABLE NS_IMETHOD AddNewsgroup(const nsACString & newsgroupName, const nsACString & setStr, nsIMsgFolder * *_retval NS_OUTPARAM) = 0;

  /* void setReadSetFromStr (in ACString setStr); */
  NS_SCRIPTABLE NS_IMETHOD SetReadSetFromStr(const nsACString & setStr) = 0;

  /* readonly attribute ACString newsrcLine; */
  NS_SCRIPTABLE NS_IMETHOD GetNewsrcLine(nsACString & aNewsrcLine) = 0;

  /* readonly attribute ACString optionLines; */
  NS_SCRIPTABLE NS_IMETHOD GetOptionLines(nsACString & aOptionLines) = 0;

  /* readonly attribute ACString unsubscribedNewsgroupLines; */
  NS_SCRIPTABLE NS_IMETHOD GetUnsubscribedNewsgroupLines(nsACString & aUnsubscribedNewsgroupLines) = 0;

  /* void SetNewsrcHasChanged (in boolean newsrcHasChanged); */
  NS_SCRIPTABLE NS_IMETHOD SetNewsrcHasChanged(bool newsrcHasChanged) = 0;

  /* void updateSummaryFromNNTPInfo (in long oldest, in long youngest, in long total); */
  NS_SCRIPTABLE NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total) = 0;

  /* void removeMessage (in nsMsgKey key); */
  NS_SCRIPTABLE NS_IMETHOD RemoveMessage(nsMsgKey key) = 0;

  /* [noscript] void removeMessages (in nsMsgKeyArrayRef aMsgKeys); */
  NS_IMETHOD RemoveMessages(nsTArray<nsMsgKey> & aMsgKeys) = 0;

  /* void cancelComplete (); */
  NS_SCRIPTABLE NS_IMETHOD CancelComplete(void) = 0;

  /* void cancelFailed (); */
  NS_SCRIPTABLE NS_IMETHOD CancelFailed(void) = 0;

  /* ACString getMessageIdForKey (in nsMsgKey key); */
  NS_SCRIPTABLE NS_IMETHOD GetMessageIdForKey(nsMsgKey key, nsACString & _retval NS_OUTPARAM) = 0;

  /* void getNextNMessages (in nsIMsgWindow aMsgWindow); */
  NS_SCRIPTABLE NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow) = 0;

  /* void notifyDownloadedLine (in string line, in nsMsgKey key); */
  NS_SCRIPTABLE NS_IMETHOD NotifyDownloadedLine(const char * line, nsMsgKey key) = 0;

  /* void notifyFinishedDownloadinghdrs (); */
  NS_SCRIPTABLE NS_IMETHOD NotifyFinishedDownloadinghdrs(void) = 0;

  /* nsIMsgDatabase getDatabaseWithoutCache (); */
  NS_SCRIPTABLE NS_IMETHOD GetDatabaseWithoutCache(nsIMsgDatabase * *_retval NS_OUTPARAM) = 0;

  /* void cancelMessage (in nsIMsgDBHdr aMsgHdr, in nsIMsgWindow aMsgWindow); */
  NS_SCRIPTABLE NS_IMETHOD CancelMessage(nsIMsgDBHdr *aMsgHdr, nsIMsgWindow *aMsgWindow) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgNewsFolder, NS_IMSGNEWSFOLDER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGNEWSFOLDER \
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsername(nsACString & aGroupUsername); \
  NS_SCRIPTABLE NS_IMETHOD SetGroupUsername(const nsACString & aGroupUsername); \
  NS_SCRIPTABLE NS_IMETHOD GetGroupPassword(nsACString & aGroupPassword); \
  NS_SCRIPTABLE NS_IMETHOD SetGroupPassword(const nsACString & aGroupPassword); \
  NS_SCRIPTABLE NS_IMETHOD GetUnicodeName(nsAString & aUnicodeName); \
  NS_IMETHOD GetRawName(nsACString & aRawName); \
  NS_SCRIPTABLE NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer); \
  NS_SCRIPTABLE NS_IMETHOD GetSaveArticleOffline(bool *aSaveArticleOffline); \
  NS_SCRIPTABLE NS_IMETHOD SetSaveArticleOffline(bool aSaveArticleOffline); \
  NS_SCRIPTABLE NS_IMETHOD GetGroupPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsernameWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupUsername(void); \
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupPassword(void); \
  NS_SCRIPTABLE NS_IMETHOD MoveFolder(nsIMsgFolder *aNewsgroupToMove, nsIMsgFolder *aRefNewsgroup, PRInt32 aOrientation); \
  NS_SCRIPTABLE NS_IMETHOD AddNewsgroup(const nsACString & newsgroupName, const nsACString & setStr, nsIMsgFolder * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD SetReadSetFromStr(const nsACString & setStr); \
  NS_SCRIPTABLE NS_IMETHOD GetNewsrcLine(nsACString & aNewsrcLine); \
  NS_SCRIPTABLE NS_IMETHOD GetOptionLines(nsACString & aOptionLines); \
  NS_SCRIPTABLE NS_IMETHOD GetUnsubscribedNewsgroupLines(nsACString & aUnsubscribedNewsgroupLines); \
  NS_SCRIPTABLE NS_IMETHOD SetNewsrcHasChanged(bool newsrcHasChanged); \
  NS_SCRIPTABLE NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total); \
  NS_SCRIPTABLE NS_IMETHOD RemoveMessage(nsMsgKey key); \
  NS_IMETHOD RemoveMessages(nsTArray<nsMsgKey> & aMsgKeys); \
  NS_SCRIPTABLE NS_IMETHOD CancelComplete(void); \
  NS_SCRIPTABLE NS_IMETHOD CancelFailed(void); \
  NS_SCRIPTABLE NS_IMETHOD GetMessageIdForKey(nsMsgKey key, nsACString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow); \
  NS_SCRIPTABLE NS_IMETHOD NotifyDownloadedLine(const char * line, nsMsgKey key); \
  NS_SCRIPTABLE NS_IMETHOD NotifyFinishedDownloadinghdrs(void); \
  NS_SCRIPTABLE NS_IMETHOD GetDatabaseWithoutCache(nsIMsgDatabase * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD CancelMessage(nsIMsgDBHdr *aMsgHdr, nsIMsgWindow *aMsgWindow); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGNEWSFOLDER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsername(nsACString & aGroupUsername) { return _to GetGroupUsername(aGroupUsername); } \
  NS_SCRIPTABLE NS_IMETHOD SetGroupUsername(const nsACString & aGroupUsername) { return _to SetGroupUsername(aGroupUsername); } \
  NS_SCRIPTABLE NS_IMETHOD GetGroupPassword(nsACString & aGroupPassword) { return _to GetGroupPassword(aGroupPassword); } \
  NS_SCRIPTABLE NS_IMETHOD SetGroupPassword(const nsACString & aGroupPassword) { return _to SetGroupPassword(aGroupPassword); } \
  NS_SCRIPTABLE NS_IMETHOD GetUnicodeName(nsAString & aUnicodeName) { return _to GetUnicodeName(aUnicodeName); } \
  NS_IMETHOD GetRawName(nsACString & aRawName) { return _to GetRawName(aRawName); } \
  NS_SCRIPTABLE NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer) { return _to GetNntpServer(aNntpServer); } \
  NS_SCRIPTABLE NS_IMETHOD GetSaveArticleOffline(bool *aSaveArticleOffline) { return _to GetSaveArticleOffline(aSaveArticleOffline); } \
  NS_SCRIPTABLE NS_IMETHOD SetSaveArticleOffline(bool aSaveArticleOffline) { return _to SetSaveArticleOffline(aSaveArticleOffline); } \
  NS_SCRIPTABLE NS_IMETHOD GetGroupPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM) { return _to GetGroupPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsernameWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM) { return _to GetGroupUsernameWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupUsername(void) { return _to ForgetGroupUsername(); } \
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupPassword(void) { return _to ForgetGroupPassword(); } \
  NS_SCRIPTABLE NS_IMETHOD MoveFolder(nsIMsgFolder *aNewsgroupToMove, nsIMsgFolder *aRefNewsgroup, PRInt32 aOrientation) { return _to MoveFolder(aNewsgroupToMove, aRefNewsgroup, aOrientation); } \
  NS_SCRIPTABLE NS_IMETHOD AddNewsgroup(const nsACString & newsgroupName, const nsACString & setStr, nsIMsgFolder * *_retval NS_OUTPARAM) { return _to AddNewsgroup(newsgroupName, setStr, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetReadSetFromStr(const nsACString & setStr) { return _to SetReadSetFromStr(setStr); } \
  NS_SCRIPTABLE NS_IMETHOD GetNewsrcLine(nsACString & aNewsrcLine) { return _to GetNewsrcLine(aNewsrcLine); } \
  NS_SCRIPTABLE NS_IMETHOD GetOptionLines(nsACString & aOptionLines) { return _to GetOptionLines(aOptionLines); } \
  NS_SCRIPTABLE NS_IMETHOD GetUnsubscribedNewsgroupLines(nsACString & aUnsubscribedNewsgroupLines) { return _to GetUnsubscribedNewsgroupLines(aUnsubscribedNewsgroupLines); } \
  NS_SCRIPTABLE NS_IMETHOD SetNewsrcHasChanged(bool newsrcHasChanged) { return _to SetNewsrcHasChanged(newsrcHasChanged); } \
  NS_SCRIPTABLE NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total) { return _to UpdateSummaryFromNNTPInfo(oldest, youngest, total); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveMessage(nsMsgKey key) { return _to RemoveMessage(key); } \
  NS_IMETHOD RemoveMessages(nsTArray<nsMsgKey> & aMsgKeys) { return _to RemoveMessages(aMsgKeys); } \
  NS_SCRIPTABLE NS_IMETHOD CancelComplete(void) { return _to CancelComplete(); } \
  NS_SCRIPTABLE NS_IMETHOD CancelFailed(void) { return _to CancelFailed(); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageIdForKey(nsMsgKey key, nsACString & _retval NS_OUTPARAM) { return _to GetMessageIdForKey(key, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow) { return _to GetNextNMessages(aMsgWindow); } \
  NS_SCRIPTABLE NS_IMETHOD NotifyDownloadedLine(const char * line, nsMsgKey key) { return _to NotifyDownloadedLine(line, key); } \
  NS_SCRIPTABLE NS_IMETHOD NotifyFinishedDownloadinghdrs(void) { return _to NotifyFinishedDownloadinghdrs(); } \
  NS_SCRIPTABLE NS_IMETHOD GetDatabaseWithoutCache(nsIMsgDatabase * *_retval NS_OUTPARAM) { return _to GetDatabaseWithoutCache(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD CancelMessage(nsIMsgDBHdr *aMsgHdr, nsIMsgWindow *aMsgWindow) { return _to CancelMessage(aMsgHdr, aMsgWindow); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGNEWSFOLDER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsername(nsACString & aGroupUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupUsername(aGroupUsername); } \
  NS_SCRIPTABLE NS_IMETHOD SetGroupUsername(const nsACString & aGroupUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGroupUsername(aGroupUsername); } \
  NS_SCRIPTABLE NS_IMETHOD GetGroupPassword(nsACString & aGroupPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupPassword(aGroupPassword); } \
  NS_SCRIPTABLE NS_IMETHOD SetGroupPassword(const nsACString & aGroupPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGroupPassword(aGroupPassword); } \
  NS_SCRIPTABLE NS_IMETHOD GetUnicodeName(nsAString & aUnicodeName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUnicodeName(aUnicodeName); } \
  NS_IMETHOD GetRawName(nsACString & aRawName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRawName(aRawName); } \
  NS_SCRIPTABLE NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNntpServer(aNntpServer); } \
  NS_SCRIPTABLE NS_IMETHOD GetSaveArticleOffline(bool *aSaveArticleOffline) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSaveArticleOffline(aSaveArticleOffline); } \
  NS_SCRIPTABLE NS_IMETHOD SetSaveArticleOffline(bool aSaveArticleOffline) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSaveArticleOffline(aSaveArticleOffline); } \
  NS_SCRIPTABLE NS_IMETHOD GetGroupPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetGroupUsernameWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupUsernameWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupUsername(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetGroupUsername(); } \
  NS_SCRIPTABLE NS_IMETHOD ForgetGroupPassword(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetGroupPassword(); } \
  NS_SCRIPTABLE NS_IMETHOD MoveFolder(nsIMsgFolder *aNewsgroupToMove, nsIMsgFolder *aRefNewsgroup, PRInt32 aOrientation) { return !_to ? NS_ERROR_NULL_POINTER : _to->MoveFolder(aNewsgroupToMove, aRefNewsgroup, aOrientation); } \
  NS_SCRIPTABLE NS_IMETHOD AddNewsgroup(const nsACString & newsgroupName, const nsACString & setStr, nsIMsgFolder * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddNewsgroup(newsgroupName, setStr, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetReadSetFromStr(const nsACString & setStr) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReadSetFromStr(setStr); } \
  NS_SCRIPTABLE NS_IMETHOD GetNewsrcLine(nsACString & aNewsrcLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcLine(aNewsrcLine); } \
  NS_SCRIPTABLE NS_IMETHOD GetOptionLines(nsACString & aOptionLines) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOptionLines(aOptionLines); } \
  NS_SCRIPTABLE NS_IMETHOD GetUnsubscribedNewsgroupLines(nsACString & aUnsubscribedNewsgroupLines) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUnsubscribedNewsgroupLines(aUnsubscribedNewsgroupLines); } \
  NS_SCRIPTABLE NS_IMETHOD SetNewsrcHasChanged(bool newsrcHasChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcHasChanged(newsrcHasChanged); } \
  NS_SCRIPTABLE NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total) { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateSummaryFromNNTPInfo(oldest, youngest, total); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveMessage(nsMsgKey key) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveMessage(key); } \
  NS_IMETHOD RemoveMessages(nsTArray<nsMsgKey> & aMsgKeys) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveMessages(aMsgKeys); } \
  NS_SCRIPTABLE NS_IMETHOD CancelComplete(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CancelComplete(); } \
  NS_SCRIPTABLE NS_IMETHOD CancelFailed(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CancelFailed(); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageIdForKey(nsMsgKey key, nsACString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageIdForKey(key, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNextNMessages(aMsgWindow); } \
  NS_SCRIPTABLE NS_IMETHOD NotifyDownloadedLine(const char * line, nsMsgKey key) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyDownloadedLine(line, key); } \
  NS_SCRIPTABLE NS_IMETHOD NotifyFinishedDownloadinghdrs(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyFinishedDownloadinghdrs(); } \
  NS_SCRIPTABLE NS_IMETHOD GetDatabaseWithoutCache(nsIMsgDatabase * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDatabaseWithoutCache(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD CancelMessage(nsIMsgDBHdr *aMsgHdr, nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->CancelMessage(aMsgHdr, aMsgWindow); } 

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

/* Header file */
class nsMsgNewsFolder : public nsIMsgNewsFolder
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGNEWSFOLDER

  nsMsgNewsFolder();

private:
  ~nsMsgNewsFolder();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgNewsFolder, nsIMsgNewsFolder)

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

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

/* attribute ACString groupUsername; */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupUsername(nsACString & aGroupUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetGroupUsername(const nsACString & aGroupUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString groupPassword; */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupPassword(nsACString & aGroupPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetGroupPassword(const nsACString & aGroupPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString unicodeName; */
NS_IMETHODIMP nsMsgNewsFolder::GetUnicodeName(nsAString & aUnicodeName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute ACString rawName; */
NS_IMETHODIMP nsMsgNewsFolder::GetRawName(nsACString & aRawName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsINntpIncomingServer nntpServer; */
NS_IMETHODIMP nsMsgNewsFolder::GetNntpServer(nsINntpIncomingServer * *aNntpServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean saveArticleOffline; */
NS_IMETHODIMP nsMsgNewsFolder::GetSaveArticleOffline(bool *aSaveArticleOffline)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetSaveArticleOffline(bool aSaveArticleOffline)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getGroupPasswordWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getGroupUsernameWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupUsernameWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void forgetGroupUsername (); */
NS_IMETHODIMP nsMsgNewsFolder::ForgetGroupUsername()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void forgetGroupPassword (); */
NS_IMETHODIMP nsMsgNewsFolder::ForgetGroupPassword()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void moveFolder (in nsIMsgFolder aNewsgroupToMove, in nsIMsgFolder aRefNewsgroup, in PRInt32 aOrientation); */
NS_IMETHODIMP nsMsgNewsFolder::MoveFolder(nsIMsgFolder *aNewsgroupToMove, nsIMsgFolder *aRefNewsgroup, PRInt32 aOrientation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgFolder addNewsgroup (in AUTF8String newsgroupName, in ACString setStr); */
NS_IMETHODIMP nsMsgNewsFolder::AddNewsgroup(const nsACString & newsgroupName, const nsACString & setStr, nsIMsgFolder * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setReadSetFromStr (in ACString setStr); */
NS_IMETHODIMP nsMsgNewsFolder::SetReadSetFromStr(const nsACString & setStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString newsrcLine; */
NS_IMETHODIMP nsMsgNewsFolder::GetNewsrcLine(nsACString & aNewsrcLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString optionLines; */
NS_IMETHODIMP nsMsgNewsFolder::GetOptionLines(nsACString & aOptionLines)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString unsubscribedNewsgroupLines; */
NS_IMETHODIMP nsMsgNewsFolder::GetUnsubscribedNewsgroupLines(nsACString & aUnsubscribedNewsgroupLines)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void SetNewsrcHasChanged (in boolean newsrcHasChanged); */
NS_IMETHODIMP nsMsgNewsFolder::SetNewsrcHasChanged(bool newsrcHasChanged)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void updateSummaryFromNNTPInfo (in long oldest, in long youngest, in long total); */
NS_IMETHODIMP nsMsgNewsFolder::UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeMessage (in nsMsgKey key); */
NS_IMETHODIMP nsMsgNewsFolder::RemoveMessage(nsMsgKey key)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void removeMessages (in nsMsgKeyArrayRef aMsgKeys); */
NS_IMETHODIMP nsMsgNewsFolder::RemoveMessages(nsTArray<nsMsgKey> & aMsgKeys)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void cancelComplete (); */
NS_IMETHODIMP nsMsgNewsFolder::CancelComplete()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void cancelFailed (); */
NS_IMETHODIMP nsMsgNewsFolder::CancelFailed()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getMessageIdForKey (in nsMsgKey key); */
NS_IMETHODIMP nsMsgNewsFolder::GetMessageIdForKey(nsMsgKey key, nsACString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getNextNMessages (in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgNewsFolder::GetNextNMessages(nsIMsgWindow *aMsgWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void notifyDownloadedLine (in string line, in nsMsgKey key); */
NS_IMETHODIMP nsMsgNewsFolder::NotifyDownloadedLine(const char * line, nsMsgKey key)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void notifyFinishedDownloadinghdrs (); */
NS_IMETHODIMP nsMsgNewsFolder::NotifyFinishedDownloadinghdrs()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgDatabase getDatabaseWithoutCache (); */
NS_IMETHODIMP nsMsgNewsFolder::GetDatabaseWithoutCache(nsIMsgDatabase * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void cancelMessage (in nsIMsgDBHdr aMsgHdr, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgNewsFolder::CancelMessage(nsIMsgDBHdr *aMsgHdr, nsIMsgWindow *aMsgWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgNewsFolder_h__ */
