/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM c:/OOo_Build/OOD680_m5/moz/wntmsci10.pro/misc/build/mozilla/mailnews/news/public/nsINntpIncomingServer.idl
 */

#ifndef __gen_nsINntpIncomingServer_h__
#define __gen_nsINntpIncomingServer_h__


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

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

class nsIMsgNewsFolder; /* forward declaration */

class nsINNTPProtocol; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIMsgWindow; /* forward declaration */


/* starting interface:    nsINntpIncomingServer */
#define NS_INNTPINCOMINGSERVER_IID_STR "21ea0654-f773-11d2-8aec-004005263078"

#define NS_INNTPINCOMINGSERVER_IID \
  {0x21ea0654, 0xf773, 0x11d2, \
    { 0x8a, 0xec, 0x00, 0x40, 0x05, 0x26, 0x30, 0x78 }}

class NS_NO_VTABLE nsINntpIncomingServer : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_INNTPINCOMINGSERVER_IID)

  /* attribute nsIFileSpec newsrcFilePath; */
  NS_IMETHOD GetNewsrcFilePath(nsIFileSpec * *aNewsrcFilePath) = 0;
  NS_IMETHOD SetNewsrcFilePath(nsIFileSpec * aNewsrcFilePath) = 0;

  /* attribute nsIFileSpec newsrcRootPath; */
  NS_IMETHOD GetNewsrcRootPath(nsIFileSpec * *aNewsrcRootPath) = 0;
  NS_IMETHOD SetNewsrcRootPath(nsIFileSpec * aNewsrcRootPath) = 0;

  /* attribute boolean notifyOn; */
  NS_IMETHOD GetNotifyOn(PRBool *aNotifyOn) = 0;
  NS_IMETHOD SetNotifyOn(PRBool aNotifyOn) = 0;

  /* attribute long maxArticles; */
  NS_IMETHOD GetMaxArticles(PRInt32 *aMaxArticles) = 0;
  NS_IMETHOD SetMaxArticles(PRInt32 aMaxArticles) = 0;

  /* attribute boolean markOldRead; */
  NS_IMETHOD GetMarkOldRead(PRBool *aMarkOldRead) = 0;
  NS_IMETHOD SetMarkOldRead(PRBool aMarkOldRead) = 0;

  /* attribute boolean abbreviate; */
  NS_IMETHOD GetAbbreviate(PRBool *aAbbreviate) = 0;
  NS_IMETHOD SetAbbreviate(PRBool aAbbreviate) = 0;

  /* attribute boolean singleSignon; */
  NS_IMETHOD GetSingleSignon(PRBool *aSingleSignon) = 0;
  NS_IMETHOD SetSingleSignon(PRBool aSingleSignon) = 0;

  /* void addNewsgroup (in string name); */
  NS_IMETHOD AddNewsgroup(const char *name) = 0;

  /* void removeNewsgroup (in string name); */
  NS_IMETHOD RemoveNewsgroup(const char *name) = 0;

  /* void writeNewsrcFile (); */
  NS_IMETHOD WriteNewsrcFile(void) = 0;

  /* attribute boolean newsrcHasChanged; */
  NS_IMETHOD GetNewsrcHasChanged(PRBool *aNewsrcHasChanged) = 0;
  NS_IMETHOD SetNewsrcHasChanged(PRBool aNewsrcHasChanged) = 0;

  /* attribute long maximumConnectionsNumber; */
  NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber) = 0;
  NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber) = 0;

  /* readonly attribute long numGroupsNeedingCounts; */
  NS_IMETHOD GetNumGroupsNeedingCounts(PRInt32 *aNumGroupsNeedingCounts) = 0;

  /* readonly attribute nsISupports firstGroupNeedingCounts; */
  NS_IMETHOD GetFirstGroupNeedingCounts(nsISupports * *aFirstGroupNeedingCounts) = 0;

  /* void displaySubscribedGroup (in nsIMsgNewsFolder msgFolder, in long firstMessage, in long lastMessage, in long totalMessages); */
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, PRInt32 firstMessage, PRInt32 lastMessage, PRInt32 totalMessages) = 0;

  /* void getNntpConnection (in nsIURI url, in nsIMsgWindow window, out nsINNTPProtocol aNntpConnection); */
  NS_IMETHOD GetNntpConnection(nsIURI *url, nsIMsgWindow *window, nsINNTPProtocol **aNntpConnection) = 0;

  /* void removeConnection (in nsINNTPProtocol aNntpConnection); */
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection) = 0;

  /* boolean containsNewsgroup (in string name); */
  NS_IMETHOD ContainsNewsgroup(const char *name, PRBool *_retval) = 0;

  /* void subscribeToNewsgroup (in string name); */
  NS_IMETHOD SubscribeToNewsgroup(const char *name) = 0;

  /* void addNewsgroupToList (in string name); */
  NS_IMETHOD AddNewsgroupToList(const char *name) = 0;

  /* attribute boolean supportsExtensions; */
  NS_IMETHOD GetSupportsExtensions(PRBool *aSupportsExtensions) = 0;
  NS_IMETHOD SetSupportsExtensions(PRBool aSupportsExtensions) = 0;

  /* void addExtension (in string extension); */
  NS_IMETHOD AddExtension(const char *extension) = 0;

  /* boolean queryExtension (in string extension); */
  NS_IMETHOD QueryExtension(const char *extension, PRBool *_retval) = 0;

  /* attribute boolean postingAllowed; */
  NS_IMETHOD GetPostingAllowed(PRBool *aPostingAllowed) = 0;
  NS_IMETHOD SetPostingAllowed(PRBool aPostingAllowed) = 0;

  /* attribute boolean pushAuth; */
  NS_IMETHOD GetPushAuth(PRBool *aPushAuth) = 0;
  NS_IMETHOD SetPushAuth(PRBool aPushAuth) = 0;

  /* attribute unsigned long lastUpdatedTime; */
  NS_IMETHOD GetLastUpdatedTime(PRUint32 *aLastUpdatedTime) = 0;
  NS_IMETHOD SetLastUpdatedTime(PRUint32 aLastUpdatedTime) = 0;

  /* void addPropertyForGet (in string name, in string value); */
  NS_IMETHOD AddPropertyForGet(const char *name, const char *value) = 0;

  /* string queryPropertyForGet (in string name); */
  NS_IMETHOD QueryPropertyForGet(const char *name, char **_retval) = 0;

  /* void addSearchableGroup (in string name); */
  NS_IMETHOD AddSearchableGroup(const char *name) = 0;

  /* boolean querySearchableGroup (in string name); */
  NS_IMETHOD QuerySearchableGroup(const char *name, PRBool *_retval) = 0;

  /* void addSearchableHeader (in string headerName); */
  NS_IMETHOD AddSearchableHeader(const char *headerName) = 0;

  /* boolean querySearchableHeader (in string headerName); */
  NS_IMETHOD QuerySearchableHeader(const char *headerName, PRBool *_retval) = 0;

  /* nsIMsgNewsFolder findGroup (in string name); */
  NS_IMETHOD FindGroup(const char *name, nsIMsgNewsFolder **_retval) = 0;

  /* readonly attribute string firstGroupNeedingExtraInfo; */
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(char * *aFirstGroupNeedingExtraInfo) = 0;

  /* void setGroupNeedsExtraInfo (in string name, in boolean needsExtraInfo); */
  NS_IMETHOD SetGroupNeedsExtraInfo(const char *name, PRBool needsExtraInfo) = 0;

  /* void groupNotFound (in nsIMsgWindow window, in string group, in boolean opening); */
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const char *group, PRBool opening) = 0;

  /* void setPrettyNameForGroup (in string name, in string prettyName); */
  NS_IMETHOD SetPrettyNameForGroup(const char *name, const char *prettyName) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSINNTPINCOMINGSERVER \
  NS_IMETHOD GetNewsrcFilePath(nsIFileSpec * *aNewsrcFilePath); \
  NS_IMETHOD SetNewsrcFilePath(nsIFileSpec * aNewsrcFilePath); \
  NS_IMETHOD GetNewsrcRootPath(nsIFileSpec * *aNewsrcRootPath); \
  NS_IMETHOD SetNewsrcRootPath(nsIFileSpec * aNewsrcRootPath); \
  NS_IMETHOD GetNotifyOn(PRBool *aNotifyOn); \
  NS_IMETHOD SetNotifyOn(PRBool aNotifyOn); \
  NS_IMETHOD GetMaxArticles(PRInt32 *aMaxArticles); \
  NS_IMETHOD SetMaxArticles(PRInt32 aMaxArticles); \
  NS_IMETHOD GetMarkOldRead(PRBool *aMarkOldRead); \
  NS_IMETHOD SetMarkOldRead(PRBool aMarkOldRead); \
  NS_IMETHOD GetAbbreviate(PRBool *aAbbreviate); \
  NS_IMETHOD SetAbbreviate(PRBool aAbbreviate); \
  NS_IMETHOD GetSingleSignon(PRBool *aSingleSignon); \
  NS_IMETHOD SetSingleSignon(PRBool aSingleSignon); \
  NS_IMETHOD AddNewsgroup(const char *name); \
  NS_IMETHOD RemoveNewsgroup(const char *name); \
  NS_IMETHOD WriteNewsrcFile(void); \
  NS_IMETHOD GetNewsrcHasChanged(PRBool *aNewsrcHasChanged); \
  NS_IMETHOD SetNewsrcHasChanged(PRBool aNewsrcHasChanged); \
  NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber); \
  NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber); \
  NS_IMETHOD GetNumGroupsNeedingCounts(PRInt32 *aNumGroupsNeedingCounts); \
  NS_IMETHOD GetFirstGroupNeedingCounts(nsISupports * *aFirstGroupNeedingCounts); \
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, PRInt32 firstMessage, PRInt32 lastMessage, PRInt32 totalMessages); \
  NS_IMETHOD GetNntpConnection(nsIURI *url, nsIMsgWindow *window, nsINNTPProtocol **aNntpConnection); \
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection); \
  NS_IMETHOD ContainsNewsgroup(const char *name, PRBool *_retval); \
  NS_IMETHOD SubscribeToNewsgroup(const char *name); \
  NS_IMETHOD AddNewsgroupToList(const char *name); \
  NS_IMETHOD GetSupportsExtensions(PRBool *aSupportsExtensions); \
  NS_IMETHOD SetSupportsExtensions(PRBool aSupportsExtensions); \
  NS_IMETHOD AddExtension(const char *extension); \
  NS_IMETHOD QueryExtension(const char *extension, PRBool *_retval); \
  NS_IMETHOD GetPostingAllowed(PRBool *aPostingAllowed); \
  NS_IMETHOD SetPostingAllowed(PRBool aPostingAllowed); \
  NS_IMETHOD GetPushAuth(PRBool *aPushAuth); \
  NS_IMETHOD SetPushAuth(PRBool aPushAuth); \
  NS_IMETHOD GetLastUpdatedTime(PRUint32 *aLastUpdatedTime); \
  NS_IMETHOD SetLastUpdatedTime(PRUint32 aLastUpdatedTime); \
  NS_IMETHOD AddPropertyForGet(const char *name, const char *value); \
  NS_IMETHOD QueryPropertyForGet(const char *name, char **_retval); \
  NS_IMETHOD AddSearchableGroup(const char *name); \
  NS_IMETHOD QuerySearchableGroup(const char *name, PRBool *_retval); \
  NS_IMETHOD AddSearchableHeader(const char *headerName); \
  NS_IMETHOD QuerySearchableHeader(const char *headerName, PRBool *_retval); \
  NS_IMETHOD FindGroup(const char *name, nsIMsgNewsFolder **_retval); \
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(char * *aFirstGroupNeedingExtraInfo); \
  NS_IMETHOD SetGroupNeedsExtraInfo(const char *name, PRBool needsExtraInfo); \
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const char *group, PRBool opening); \
  NS_IMETHOD SetPrettyNameForGroup(const char *name, const char *prettyName); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSINNTPINCOMINGSERVER(_to) \
  NS_IMETHOD GetNewsrcFilePath(nsIFileSpec * *aNewsrcFilePath) { return _to GetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD SetNewsrcFilePath(nsIFileSpec * aNewsrcFilePath) { return _to SetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD GetNewsrcRootPath(nsIFileSpec * *aNewsrcRootPath) { return _to GetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD SetNewsrcRootPath(nsIFileSpec * aNewsrcRootPath) { return _to SetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD GetNotifyOn(PRBool *aNotifyOn) { return _to GetNotifyOn(aNotifyOn); } \
  NS_IMETHOD SetNotifyOn(PRBool aNotifyOn) { return _to SetNotifyOn(aNotifyOn); } \
  NS_IMETHOD GetMaxArticles(PRInt32 *aMaxArticles) { return _to GetMaxArticles(aMaxArticles); } \
  NS_IMETHOD SetMaxArticles(PRInt32 aMaxArticles) { return _to SetMaxArticles(aMaxArticles); } \
  NS_IMETHOD GetMarkOldRead(PRBool *aMarkOldRead) { return _to GetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD SetMarkOldRead(PRBool aMarkOldRead) { return _to SetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD GetAbbreviate(PRBool *aAbbreviate) { return _to GetAbbreviate(aAbbreviate); } \
  NS_IMETHOD SetAbbreviate(PRBool aAbbreviate) { return _to SetAbbreviate(aAbbreviate); } \
  NS_IMETHOD GetSingleSignon(PRBool *aSingleSignon) { return _to GetSingleSignon(aSingleSignon); } \
  NS_IMETHOD SetSingleSignon(PRBool aSingleSignon) { return _to SetSingleSignon(aSingleSignon); } \
  NS_IMETHOD AddNewsgroup(const char *name) { return _to AddNewsgroup(name); } \
  NS_IMETHOD RemoveNewsgroup(const char *name) { return _to RemoveNewsgroup(name); } \
  NS_IMETHOD WriteNewsrcFile(void) { return _to WriteNewsrcFile(); } \
  NS_IMETHOD GetNewsrcHasChanged(PRBool *aNewsrcHasChanged) { return _to GetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD SetNewsrcHasChanged(PRBool aNewsrcHasChanged) { return _to SetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber) { return _to GetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber) { return _to SetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD GetNumGroupsNeedingCounts(PRInt32 *aNumGroupsNeedingCounts) { return _to GetNumGroupsNeedingCounts(aNumGroupsNeedingCounts); } \
  NS_IMETHOD GetFirstGroupNeedingCounts(nsISupports * *aFirstGroupNeedingCounts) { return _to GetFirstGroupNeedingCounts(aFirstGroupNeedingCounts); } \
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, PRInt32 firstMessage, PRInt32 lastMessage, PRInt32 totalMessages) { return _to DisplaySubscribedGroup(msgFolder, firstMessage, lastMessage, totalMessages); } \
  NS_IMETHOD GetNntpConnection(nsIURI *url, nsIMsgWindow *window, nsINNTPProtocol **aNntpConnection) { return _to GetNntpConnection(url, window, aNntpConnection); } \
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection) { return _to RemoveConnection(aNntpConnection); } \
  NS_IMETHOD ContainsNewsgroup(const char *name, PRBool *_retval) { return _to ContainsNewsgroup(name, _retval); } \
  NS_IMETHOD SubscribeToNewsgroup(const char *name) { return _to SubscribeToNewsgroup(name); } \
  NS_IMETHOD AddNewsgroupToList(const char *name) { return _to AddNewsgroupToList(name); } \
  NS_IMETHOD GetSupportsExtensions(PRBool *aSupportsExtensions) { return _to GetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD SetSupportsExtensions(PRBool aSupportsExtensions) { return _to SetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD AddExtension(const char *extension) { return _to AddExtension(extension); } \
  NS_IMETHOD QueryExtension(const char *extension, PRBool *_retval) { return _to QueryExtension(extension, _retval); } \
  NS_IMETHOD GetPostingAllowed(PRBool *aPostingAllowed) { return _to GetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD SetPostingAllowed(PRBool aPostingAllowed) { return _to SetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD GetPushAuth(PRBool *aPushAuth) { return _to GetPushAuth(aPushAuth); } \
  NS_IMETHOD SetPushAuth(PRBool aPushAuth) { return _to SetPushAuth(aPushAuth); } \
  NS_IMETHOD GetLastUpdatedTime(PRUint32 *aLastUpdatedTime) { return _to GetLastUpdatedTime(aLastUpdatedTime); } \
  NS_IMETHOD SetLastUpdatedTime(PRUint32 aLastUpdatedTime) { return _to SetLastUpdatedTime(aLastUpdatedTime); } \
  NS_IMETHOD AddPropertyForGet(const char *name, const char *value) { return _to AddPropertyForGet(name, value); } \
  NS_IMETHOD QueryPropertyForGet(const char *name, char **_retval) { return _to QueryPropertyForGet(name, _retval); } \
  NS_IMETHOD AddSearchableGroup(const char *name) { return _to AddSearchableGroup(name); } \
  NS_IMETHOD QuerySearchableGroup(const char *name, PRBool *_retval) { return _to QuerySearchableGroup(name, _retval); } \
  NS_IMETHOD AddSearchableHeader(const char *headerName) { return _to AddSearchableHeader(headerName); } \
  NS_IMETHOD QuerySearchableHeader(const char *headerName, PRBool *_retval) { return _to QuerySearchableHeader(headerName, _retval); } \
  NS_IMETHOD FindGroup(const char *name, nsIMsgNewsFolder **_retval) { return _to FindGroup(name, _retval); } \
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(char * *aFirstGroupNeedingExtraInfo) { return _to GetFirstGroupNeedingExtraInfo(aFirstGroupNeedingExtraInfo); } \
  NS_IMETHOD SetGroupNeedsExtraInfo(const char *name, PRBool needsExtraInfo) { return _to SetGroupNeedsExtraInfo(name, needsExtraInfo); } \
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const char *group, PRBool opening) { return _to GroupNotFound(window, group, opening); } \
  NS_IMETHOD SetPrettyNameForGroup(const char *name, const char *prettyName) { return _to SetPrettyNameForGroup(name, prettyName); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSINNTPINCOMINGSERVER(_to) \
  NS_IMETHOD GetNewsrcFilePath(nsIFileSpec * *aNewsrcFilePath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD SetNewsrcFilePath(nsIFileSpec * aNewsrcFilePath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD GetNewsrcRootPath(nsIFileSpec * *aNewsrcRootPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD SetNewsrcRootPath(nsIFileSpec * aNewsrcRootPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD GetNotifyOn(PRBool *aNotifyOn) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNotifyOn(aNotifyOn); } \
  NS_IMETHOD SetNotifyOn(PRBool aNotifyOn) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNotifyOn(aNotifyOn); } \
  NS_IMETHOD GetMaxArticles(PRInt32 *aMaxArticles) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxArticles(aMaxArticles); } \
  NS_IMETHOD SetMaxArticles(PRInt32 aMaxArticles) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaxArticles(aMaxArticles); } \
  NS_IMETHOD GetMarkOldRead(PRBool *aMarkOldRead) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD SetMarkOldRead(PRBool aMarkOldRead) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD GetAbbreviate(PRBool *aAbbreviate) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAbbreviate(aAbbreviate); } \
  NS_IMETHOD SetAbbreviate(PRBool aAbbreviate) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAbbreviate(aAbbreviate); } \
  NS_IMETHOD GetSingleSignon(PRBool *aSingleSignon) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSingleSignon(aSingleSignon); } \
  NS_IMETHOD SetSingleSignon(PRBool aSingleSignon) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSingleSignon(aSingleSignon); } \
  NS_IMETHOD AddNewsgroup(const char *name) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddNewsgroup(name); } \
  NS_IMETHOD RemoveNewsgroup(const char *name) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveNewsgroup(name); } \
  NS_IMETHOD WriteNewsrcFile(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteNewsrcFile(); } \
  NS_IMETHOD GetNewsrcHasChanged(PRBool *aNewsrcHasChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD SetNewsrcHasChanged(PRBool aNewsrcHasChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD GetNumGroupsNeedingCounts(PRInt32 *aNumGroupsNeedingCounts) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumGroupsNeedingCounts(aNumGroupsNeedingCounts); } \
  NS_IMETHOD GetFirstGroupNeedingCounts(nsISupports * *aFirstGroupNeedingCounts) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFirstGroupNeedingCounts(aFirstGroupNeedingCounts); } \
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, PRInt32 firstMessage, PRInt32 lastMessage, PRInt32 totalMessages) { return !_to ? NS_ERROR_NULL_POINTER : _to->DisplaySubscribedGroup(msgFolder, firstMessage, lastMessage, totalMessages); } \
  NS_IMETHOD GetNntpConnection(nsIURI *url, nsIMsgWindow *window, nsINNTPProtocol **aNntpConnection) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNntpConnection(url, window, aNntpConnection); } \
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveConnection(aNntpConnection); } \
  NS_IMETHOD ContainsNewsgroup(const char *name, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ContainsNewsgroup(name, _retval); } \
  NS_IMETHOD SubscribeToNewsgroup(const char *name) { return !_to ? NS_ERROR_NULL_POINTER : _to->SubscribeToNewsgroup(name); } \
  NS_IMETHOD AddNewsgroupToList(const char *name) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddNewsgroupToList(name); } \
  NS_IMETHOD GetSupportsExtensions(PRBool *aSupportsExtensions) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD SetSupportsExtensions(PRBool aSupportsExtensions) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD AddExtension(const char *extension) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddExtension(extension); } \
  NS_IMETHOD QueryExtension(const char *extension, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->QueryExtension(extension, _retval); } \
  NS_IMETHOD GetPostingAllowed(PRBool *aPostingAllowed) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD SetPostingAllowed(PRBool aPostingAllowed) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD GetPushAuth(PRBool *aPushAuth) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPushAuth(aPushAuth); } \
  NS_IMETHOD SetPushAuth(PRBool aPushAuth) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPushAuth(aPushAuth); } \
  NS_IMETHOD GetLastUpdatedTime(PRUint32 *aLastUpdatedTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastUpdatedTime(aLastUpdatedTime); } \
  NS_IMETHOD SetLastUpdatedTime(PRUint32 aLastUpdatedTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLastUpdatedTime(aLastUpdatedTime); } \
  NS_IMETHOD AddPropertyForGet(const char *name, const char *value) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddPropertyForGet(name, value); } \
  NS_IMETHOD QueryPropertyForGet(const char *name, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->QueryPropertyForGet(name, _retval); } \
  NS_IMETHOD AddSearchableGroup(const char *name) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddSearchableGroup(name); } \
  NS_IMETHOD QuerySearchableGroup(const char *name, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->QuerySearchableGroup(name, _retval); } \
  NS_IMETHOD AddSearchableHeader(const char *headerName) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddSearchableHeader(headerName); } \
  NS_IMETHOD QuerySearchableHeader(const char *headerName, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->QuerySearchableHeader(headerName, _retval); } \
  NS_IMETHOD FindGroup(const char *name, nsIMsgNewsFolder **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindGroup(name, _retval); } \
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(char * *aFirstGroupNeedingExtraInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFirstGroupNeedingExtraInfo(aFirstGroupNeedingExtraInfo); } \
  NS_IMETHOD SetGroupNeedsExtraInfo(const char *name, PRBool needsExtraInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGroupNeedsExtraInfo(name, needsExtraInfo); } \
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const char *group, PRBool opening) { return !_to ? NS_ERROR_NULL_POINTER : _to->GroupNotFound(window, group, opening); } \
  NS_IMETHOD SetPrettyNameForGroup(const char *name, const char *prettyName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrettyNameForGroup(name, prettyName); } 

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

/* Header file */
class nsNntpIncomingServer : public nsINntpIncomingServer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSINNTPINCOMINGSERVER

  nsNntpIncomingServer();

private:
  ~nsNntpIncomingServer();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsNntpIncomingServer, nsINntpIncomingServer)

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

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

/* attribute nsIFileSpec newsrcFilePath; */
NS_IMETHODIMP nsNntpIncomingServer::GetNewsrcFilePath(nsIFileSpec * *aNewsrcFilePath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetNewsrcFilePath(nsIFileSpec * aNewsrcFilePath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIFileSpec newsrcRootPath; */
NS_IMETHODIMP nsNntpIncomingServer::GetNewsrcRootPath(nsIFileSpec * *aNewsrcRootPath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetNewsrcRootPath(nsIFileSpec * aNewsrcRootPath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean notifyOn; */
NS_IMETHODIMP nsNntpIncomingServer::GetNotifyOn(PRBool *aNotifyOn)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetNotifyOn(PRBool aNotifyOn)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long maxArticles; */
NS_IMETHODIMP nsNntpIncomingServer::GetMaxArticles(PRInt32 *aMaxArticles)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetMaxArticles(PRInt32 aMaxArticles)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean markOldRead; */
NS_IMETHODIMP nsNntpIncomingServer::GetMarkOldRead(PRBool *aMarkOldRead)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetMarkOldRead(PRBool aMarkOldRead)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean abbreviate; */
NS_IMETHODIMP nsNntpIncomingServer::GetAbbreviate(PRBool *aAbbreviate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetAbbreviate(PRBool aAbbreviate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean singleSignon; */
NS_IMETHODIMP nsNntpIncomingServer::GetSingleSignon(PRBool *aSingleSignon)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetSingleSignon(PRBool aSingleSignon)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addNewsgroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::AddNewsgroup(const char *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeNewsgroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::RemoveNewsgroup(const char *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void writeNewsrcFile (); */
NS_IMETHODIMP nsNntpIncomingServer::WriteNewsrcFile()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean newsrcHasChanged; */
NS_IMETHODIMP nsNntpIncomingServer::GetNewsrcHasChanged(PRBool *aNewsrcHasChanged)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetNewsrcHasChanged(PRBool aNewsrcHasChanged)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long maximumConnectionsNumber; */
NS_IMETHODIMP nsNntpIncomingServer::GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long numGroupsNeedingCounts; */
NS_IMETHODIMP nsNntpIncomingServer::GetNumGroupsNeedingCounts(PRInt32 *aNumGroupsNeedingCounts)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISupports firstGroupNeedingCounts; */
NS_IMETHODIMP nsNntpIncomingServer::GetFirstGroupNeedingCounts(nsISupports * *aFirstGroupNeedingCounts)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void displaySubscribedGroup (in nsIMsgNewsFolder msgFolder, in long firstMessage, in long lastMessage, in long totalMessages); */
NS_IMETHODIMP nsNntpIncomingServer::DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, PRInt32 firstMessage, PRInt32 lastMessage, PRInt32 totalMessages)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getNntpConnection (in nsIURI url, in nsIMsgWindow window, out nsINNTPProtocol aNntpConnection); */
NS_IMETHODIMP nsNntpIncomingServer::GetNntpConnection(nsIURI *url, nsIMsgWindow *window, nsINNTPProtocol **aNntpConnection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeConnection (in nsINNTPProtocol aNntpConnection); */
NS_IMETHODIMP nsNntpIncomingServer::RemoveConnection(nsINNTPProtocol *aNntpConnection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean containsNewsgroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::ContainsNewsgroup(const char *name, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void subscribeToNewsgroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::SubscribeToNewsgroup(const char *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addNewsgroupToList (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::AddNewsgroupToList(const char *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean supportsExtensions; */
NS_IMETHODIMP nsNntpIncomingServer::GetSupportsExtensions(PRBool *aSupportsExtensions)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetSupportsExtensions(PRBool aSupportsExtensions)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addExtension (in string extension); */
NS_IMETHODIMP nsNntpIncomingServer::AddExtension(const char *extension)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean queryExtension (in string extension); */
NS_IMETHODIMP nsNntpIncomingServer::QueryExtension(const char *extension, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean postingAllowed; */
NS_IMETHODIMP nsNntpIncomingServer::GetPostingAllowed(PRBool *aPostingAllowed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetPostingAllowed(PRBool aPostingAllowed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean pushAuth; */
NS_IMETHODIMP nsNntpIncomingServer::GetPushAuth(PRBool *aPushAuth)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetPushAuth(PRBool aPushAuth)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long lastUpdatedTime; */
NS_IMETHODIMP nsNntpIncomingServer::GetLastUpdatedTime(PRUint32 *aLastUpdatedTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetLastUpdatedTime(PRUint32 aLastUpdatedTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addPropertyForGet (in string name, in string value); */
NS_IMETHODIMP nsNntpIncomingServer::AddPropertyForGet(const char *name, const char *value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string queryPropertyForGet (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::QueryPropertyForGet(const char *name, char **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addSearchableGroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::AddSearchableGroup(const char *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean querySearchableGroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::QuerySearchableGroup(const char *name, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addSearchableHeader (in string headerName); */
NS_IMETHODIMP nsNntpIncomingServer::AddSearchableHeader(const char *headerName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean querySearchableHeader (in string headerName); */
NS_IMETHODIMP nsNntpIncomingServer::QuerySearchableHeader(const char *headerName, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgNewsFolder findGroup (in string name); */
NS_IMETHODIMP nsNntpIncomingServer::FindGroup(const char *name, nsIMsgNewsFolder **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string firstGroupNeedingExtraInfo; */
NS_IMETHODIMP nsNntpIncomingServer::GetFirstGroupNeedingExtraInfo(char * *aFirstGroupNeedingExtraInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setGroupNeedsExtraInfo (in string name, in boolean needsExtraInfo); */
NS_IMETHODIMP nsNntpIncomingServer::SetGroupNeedsExtraInfo(const char *name, PRBool needsExtraInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void groupNotFound (in nsIMsgWindow window, in string group, in boolean opening); */
NS_IMETHODIMP nsNntpIncomingServer::GroupNotFound(nsIMsgWindow *window, const char *group, PRBool opening)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setPrettyNameForGroup (in string name, in string prettyName); */
NS_IMETHODIMP nsNntpIncomingServer::SetPrettyNameForGroup(const char *name, const char *prettyName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsINntpIncomingServer_h__ */
