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

#ifndef __gen_nsIMsgNewsFolder_h__
#define __gen_nsIMsgNewsFolder_h__

#include "nsISupports.h"
#include "nsIMsgFolder.h"

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;

  /* readonly attribute string asciiName; */
  NS_IMETHOD GetAsciiName(char * *aAsciiName) = 0;

  /* readonly attribute nsINntpIncomingServer nntpServer; */
  NS_IMETHOD GetNntpServer(nsINntpIncomingServer * *aNntpServer) = 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 getReadSetStr (out string setStr); */
  NS_IMETHOD GetReadSetStr(char **setStr) = 0;

  /* attribute string cachedNewsrcLine; */
  NS_IMETHOD GetCachedNewsrcLine(char * *aCachedNewsrcLine) = 0;
  NS_IMETHOD SetCachedNewsrcLine(const char * aCachedNewsrcLine) = 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;

  /* void getNextNMessages (in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD GetNextNMessages(nsIMsgWindow *aMsgWindow) = 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 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 GetReadSetStr(char **setStr); \
  NS_IMETHOD GetCachedNewsrcLine(char * *aCachedNewsrcLine); \
  NS_IMETHOD SetCachedNewsrcLine(const char * aCachedNewsrcLine); \
  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 GetNextNMessages(nsIMsgWindow *aMsgWindow); 

/* 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 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 GetReadSetStr(char **setStr) { return _to ## GetReadSetStr(setStr); } \
  NS_IMETHOD GetCachedNewsrcLine(char * *aCachedNewsrcLine) { return _to ## GetCachedNewsrcLine(aCachedNewsrcLine); } \
  NS_IMETHOD SetCachedNewsrcLine(const char * aCachedNewsrcLine) { return _to ## SetCachedNewsrcLine(aCachedNewsrcLine); } \
  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 GetNextNMessages(nsIMsgWindow *aMsgWindow) { return _to ## GetNextNMessages(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();
  virtual ~nsMsgNewsFolder();
  /* additional members */
};

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

nsMsgNewsFolder::nsMsgNewsFolder()
{
  NS_INIT_ISUPPORTS();
  /* 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;
}

/* 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 getReadSetStr (out string setStr); */
NS_IMETHODIMP nsMsgNewsFolder::GetReadSetStr(char **setStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string cachedNewsrcLine; */
NS_IMETHODIMP nsMsgNewsFolder::GetCachedNewsrcLine(char * *aCachedNewsrcLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgNewsFolder::SetCachedNewsrcLine(const char * aCachedNewsrcLine)
{
    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;
}

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

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


#endif /* __gen_nsIMsgNewsFolder_h__ */
