/*
 * 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
class nsIMsgWindow; /* forward declaration */

class nsINntpIncomingServer; /* forward declaration */


/* starting interface:    nsIMsgNewsFolder */
#define NS_IMSGNEWSFOLDER_IID_STR "3716abe4-f6d4-11d2-86d5-004005263078"

#define NS_IMSGNEWSFOLDER_IID \
  {0x3716abe4, 0xf6d4, 0x11d2, \
    { 0x86, 0xd5, 0x00, 0x40, 0x05, 0x26, 0x30, 0x78 }}

class NS_NO_VTABLE nsIMsgNewsFolder : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGNEWSFOLDER_IID)

  /* attribute string groupUsername; */
  NS_IMETHOD GetGroupUsername(char * *aGroupUsername) = 0;
  NS_IMETHOD SetGroupUsername(const char * aGroupUsername) = 0;

  /* attribute string groupPassword; */
  NS_IMETHOD GetGroupPassword(char * *aGroupPassword) = 0;
  NS_IMETHOD SetGroupPassword(const char * aGroupPassword) = 0;

  /** the ascii name for the newsgroup.  
   *  newsgroup names are always ascii, and this can help simply
   *  the code, to prevent use from having to get the name (as a wstring)
   *  and then converting it back to ascii.
   */
  /* readonly attribute string asciiName; */
  NS_IMETHOD GetAsciiName(char * *aAsciiName) = 0;

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

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

  /* string getGroupPasswordWithUI (in wstring aPromptString, in wstring aPromptTitle, in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD GetGroupPasswordWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval) = 0;

  /* string getGroupUsernameWithUI (in wstring aPromptString, in wstring aPromptTitle, in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD GetGroupUsernameWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval) = 0;

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

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

  /* nsIMsgFolder addNewsgroup (in string newsgroupName, in string setStr); */
  NS_IMETHOD AddNewsgroup(const char *newsgroupName, const char *setStr, nsIMsgFolder **_retval) = 0;

  /* void setReadSetFromStr (in string setStr); */
  NS_IMETHOD SetReadSetFromStr(const char *setStr) = 0;

  /* readonly attribute string newsrcLine; */
  NS_IMETHOD GetNewsrcLine(char * *aNewsrcLine) = 0;

  /* readonly attribute string optionLines; */
  NS_IMETHOD GetOptionLines(char * *aOptionLines) = 0;

  /* readonly attribute string unsubscribedNewsgroupLines; */
  NS_IMETHOD GetUnsubscribedNewsgroupLines(char * *aUnsubscribedNewsgroupLines) = 0;

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

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

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

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

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

  /* string getMessageIdForKey (in nsMsgKey key); */
  NS_IMETHOD GetMessageIdForKey(nsMsgKey key, char **_retval) = 0;

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

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

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGNEWSFOLDER \
  NS_IMETHOD GetGroupUsername(char * *aGroupUsername); \
  NS_IMETHOD SetGroupUsername(const char * aGroupUsername); \
  NS_IMETHOD GetGroupPassword(char * *aGroupPassword); \
  NS_IMETHOD SetGroupPassword(const char * aGroupPassword); \
  NS_IMETHOD GetAsciiName(char * *aAsciiName); \
  NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer); \
  NS_IMETHOD GetSaveArticleOffline(PRBool *aSaveArticleOffline); \
  NS_IMETHOD SetSaveArticleOffline(PRBool aSaveArticleOffline); \
  NS_IMETHOD GetGroupPasswordWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval); \
  NS_IMETHOD GetGroupUsernameWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval); \
  NS_IMETHOD ForgetGroupUsername(void); \
  NS_IMETHOD ForgetGroupPassword(void); \
  NS_IMETHOD AddNewsgroup(const char *newsgroupName, const char *setStr, nsIMsgFolder **_retval); \
  NS_IMETHOD SetReadSetFromStr(const char *setStr); \
  NS_IMETHOD GetNewsrcLine(char * *aNewsrcLine); \
  NS_IMETHOD GetOptionLines(char * *aOptionLines); \
  NS_IMETHOD GetUnsubscribedNewsgroupLines(char * *aUnsubscribedNewsgroupLines); \
  NS_IMETHOD SetNewsrcHasChanged(PRBool newsrcHasChanged); \
  NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total); \
  NS_IMETHOD RemoveMessage(nsMsgKey key); \
  NS_IMETHOD CancelComplete(void); \
  NS_IMETHOD CancelFailed(void); \
  NS_IMETHOD GetMessageIdForKey(nsMsgKey key, char **_retval); \
  NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow); \
  NS_IMETHOD NotifyDownloadedLine(const char *line, nsMsgKey key); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGNEWSFOLDER(_to) \
  NS_IMETHOD GetGroupUsername(char * *aGroupUsername) { return _to GetGroupUsername(aGroupUsername); } \
  NS_IMETHOD SetGroupUsername(const char * aGroupUsername) { return _to SetGroupUsername(aGroupUsername); } \
  NS_IMETHOD GetGroupPassword(char * *aGroupPassword) { return _to GetGroupPassword(aGroupPassword); } \
  NS_IMETHOD SetGroupPassword(const char * aGroupPassword) { return _to SetGroupPassword(aGroupPassword); } \
  NS_IMETHOD GetAsciiName(char * *aAsciiName) { return _to GetAsciiName(aAsciiName); } \
  NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer) { return _to GetNntpServer(aNntpServer); } \
  NS_IMETHOD GetSaveArticleOffline(PRBool *aSaveArticleOffline) { return _to GetSaveArticleOffline(aSaveArticleOffline); } \
  NS_IMETHOD SetSaveArticleOffline(PRBool aSaveArticleOffline) { return _to SetSaveArticleOffline(aSaveArticleOffline); } \
  NS_IMETHOD GetGroupPasswordWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval) { return _to GetGroupPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD GetGroupUsernameWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval) { return _to GetGroupUsernameWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD ForgetGroupUsername(void) { return _to ForgetGroupUsername(); } \
  NS_IMETHOD ForgetGroupPassword(void) { return _to ForgetGroupPassword(); } \
  NS_IMETHOD AddNewsgroup(const char *newsgroupName, const char *setStr, nsIMsgFolder **_retval) { return _to AddNewsgroup(newsgroupName, setStr, _retval); } \
  NS_IMETHOD SetReadSetFromStr(const char *setStr) { return _to SetReadSetFromStr(setStr); } \
  NS_IMETHOD GetNewsrcLine(char * *aNewsrcLine) { return _to GetNewsrcLine(aNewsrcLine); } \
  NS_IMETHOD GetOptionLines(char * *aOptionLines) { return _to GetOptionLines(aOptionLines); } \
  NS_IMETHOD GetUnsubscribedNewsgroupLines(char * *aUnsubscribedNewsgroupLines) { return _to GetUnsubscribedNewsgroupLines(aUnsubscribedNewsgroupLines); } \
  NS_IMETHOD SetNewsrcHasChanged(PRBool newsrcHasChanged) { return _to SetNewsrcHasChanged(newsrcHasChanged); } \
  NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total) { return _to UpdateSummaryFromNNTPInfo(oldest, youngest, total); } \
  NS_IMETHOD RemoveMessage(nsMsgKey key) { return _to RemoveMessage(key); } \
  NS_IMETHOD CancelComplete(void) { return _to CancelComplete(); } \
  NS_IMETHOD CancelFailed(void) { return _to CancelFailed(); } \
  NS_IMETHOD GetMessageIdForKey(nsMsgKey key, char **_retval) { return _to GetMessageIdForKey(key, _retval); } \
  NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow) { return _to GetNextNMessages(aMsgWindow); } \
  NS_IMETHOD NotifyDownloadedLine(const char *line, nsMsgKey key) { return _to NotifyDownloadedLine(line, key); } 

/* 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_IMETHOD GetGroupUsername(char * *aGroupUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupUsername(aGroupUsername); } \
  NS_IMETHOD SetGroupUsername(const char * aGroupUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGroupUsername(aGroupUsername); } \
  NS_IMETHOD GetGroupPassword(char * *aGroupPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupPassword(aGroupPassword); } \
  NS_IMETHOD SetGroupPassword(const char * aGroupPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGroupPassword(aGroupPassword); } \
  NS_IMETHOD GetAsciiName(char * *aAsciiName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAsciiName(aAsciiName); } \
  NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNntpServer(aNntpServer); } \
  NS_IMETHOD GetSaveArticleOffline(PRBool *aSaveArticleOffline) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSaveArticleOffline(aSaveArticleOffline); } \
  NS_IMETHOD SetSaveArticleOffline(PRBool aSaveArticleOffline) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSaveArticleOffline(aSaveArticleOffline); } \
  NS_IMETHOD GetGroupPasswordWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD GetGroupUsernameWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupUsernameWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD ForgetGroupUsername(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetGroupUsername(); } \
  NS_IMETHOD ForgetGroupPassword(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetGroupPassword(); } \
  NS_IMETHOD AddNewsgroup(const char *newsgroupName, const char *setStr, nsIMsgFolder **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddNewsgroup(newsgroupName, setStr, _retval); } \
  NS_IMETHOD SetReadSetFromStr(const char *setStr) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReadSetFromStr(setStr); } \
  NS_IMETHOD GetNewsrcLine(char * *aNewsrcLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcLine(aNewsrcLine); } \
  NS_IMETHOD GetOptionLines(char * *aOptionLines) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOptionLines(aOptionLines); } \
  NS_IMETHOD GetUnsubscribedNewsgroupLines(char * *aUnsubscribedNewsgroupLines) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUnsubscribedNewsgroupLines(aUnsubscribedNewsgroupLines); } \
  NS_IMETHOD SetNewsrcHasChanged(PRBool newsrcHasChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcHasChanged(newsrcHasChanged); } \
  NS_IMETHOD UpdateSummaryFromNNTPInfo(PRInt32 oldest, PRInt32 youngest, PRInt32 total) { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateSummaryFromNNTPInfo(oldest, youngest, total); } \
  NS_IMETHOD RemoveMessage(nsMsgKey key) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveMessage(key); } \
  NS_IMETHOD CancelComplete(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CancelComplete(); } \
  NS_IMETHOD CancelFailed(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CancelFailed(); } \
  NS_IMETHOD GetMessageIdForKey(nsMsgKey key, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageIdForKey(key, _retval); } \
  NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNextNMessages(aMsgWindow); } \
  NS_IMETHOD NotifyDownloadedLine(const char *line, nsMsgKey key) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyDownloadedLine(line, key); } 

#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();
  virtual ~nsMsgNewsFolder();
  /* additional members */
};

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

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

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

/* attribute string groupUsername; */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupUsername(char * *aGroupUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetGroupUsername(const char * aGroupUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string groupPassword; */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupPassword(char * *aGroupPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetGroupPassword(const char * aGroupPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string asciiName; */
NS_IMETHODIMP nsMsgNewsFolder::GetAsciiName(char * *aAsciiName)
{
    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(PRBool *aSaveArticleOffline)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetSaveArticleOffline(PRBool aSaveArticleOffline)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string getGroupPasswordWithUI (in wstring aPromptString, in wstring aPromptTitle, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupPasswordWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string getGroupUsernameWithUI (in wstring aPromptString, in wstring aPromptTitle, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgNewsFolder::GetGroupUsernameWithUI(const PRUnichar *aPromptString, const PRUnichar *aPromptTitle, nsIMsgWindow *aMsgWindow, char **_retval)
{
    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;
}

/* nsIMsgFolder addNewsgroup (in string newsgroupName, in string setStr); */
NS_IMETHODIMP nsMsgNewsFolder::AddNewsgroup(const char *newsgroupName, const char *setStr, nsIMsgFolder **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setReadSetFromStr (in string setStr); */
NS_IMETHODIMP nsMsgNewsFolder::SetReadSetFromStr(const char *setStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string newsrcLine; */
NS_IMETHODIMP nsMsgNewsFolder::GetNewsrcLine(char * *aNewsrcLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string optionLines; */
NS_IMETHODIMP nsMsgNewsFolder::GetOptionLines(char * *aOptionLines)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string unsubscribedNewsgroupLines; */
NS_IMETHODIMP nsMsgNewsFolder::GetUnsubscribedNewsgroupLines(char * *aUnsubscribedNewsgroupLines)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void SetNewsrcHasChanged (in boolean newsrcHasChanged); */
NS_IMETHODIMP nsMsgNewsFolder::SetNewsrcHasChanged(PRBool 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;
}

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

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

/* string getMessageIdForKey (in nsMsgKey key); */
NS_IMETHODIMP nsMsgNewsFolder::GetMessageIdForKey(nsMsgKey key, char **_retval)
{
    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;
}

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


#endif /* __gen_nsIMsgNewsFolder_h__ */
