/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /tmp/comm-release/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 nsIFile; /* forward declaration */

class nsIMsgNewsFolder; /* forward declaration */

class nsINNTPProtocol; /* forward declaration */

class nsNNTPProtocol; /* forward declaration */

class nsIChannel; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIMsgWindow; /* forward declaration */


/* starting interface:    nsINntpIncomingServer */
#define NS_INNTPINCOMINGSERVER_IID_STR "077620ed-c6c4-4d4d-bed5-4d041f924002"

#define NS_INNTPINCOMINGSERVER_IID \
  {0x077620ed, 0xc6c4, 0x4d4d, \
    { 0xbe, 0xd5, 0x4d, 0x04, 0x1f, 0x92, 0x40, 0x02 }}

class NS_NO_VTABLE nsINntpIncomingServer : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_INNTPINCOMINGSERVER_IID)

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

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

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

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

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

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

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

  /* attribute ACString charset; */
  NS_IMETHOD GetCharset(nsACString & aCharset) = 0;
  NS_IMETHOD SetCharset(const nsACString & aCharset) = 0;

  /* void addNewsgroup (in AString name); */
  NS_IMETHOD AddNewsgroup(const nsAString & name) = 0;

  /* void removeNewsgroup (in AString name); */
  NS_IMETHOD RemoveNewsgroup(const nsAString & name) = 0;

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

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

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

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

  /* nsIChannel getNntpChannel (in nsIURI uri, in nsIMsgWindow window); */
  NS_IMETHOD GetNntpChannel(nsIURI *uri, nsIMsgWindow *window, nsIChannel * *_retval) = 0;

  /* void loadNewsUrl (in nsIURI uri, in nsIMsgWindow window, in nsISupports consumer); */
  NS_IMETHOD LoadNewsUrl(nsIURI *uri, nsIMsgWindow *window, nsISupports *consumer) = 0;

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

  /* [noscript] void prepareForNextUrl (in nsNNTPProtocol aNntpConnection); */
  NS_IMETHOD PrepareForNextUrl(nsNNTPProtocol *aNntpConnection) = 0;

  /* boolean containsNewsgroup (in AUTF8String escapedName); */
  NS_IMETHOD ContainsNewsgroup(const nsACString & escapedName, bool *_retval) = 0;

  /* void subscribeToNewsgroup (in AUTF8String name); */
  NS_IMETHOD SubscribeToNewsgroup(const nsACString & name) = 0;

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

  /* attribute boolean supportsExtensions; */
  NS_IMETHOD GetSupportsExtensions(bool *aSupportsExtensions) = 0;
  NS_IMETHOD SetSupportsExtensions(bool 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, bool *_retval) = 0;

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

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

  /* attribute unsigned long lastUpdatedTime; */
  NS_IMETHOD GetLastUpdatedTime(uint32_t *aLastUpdatedTime) = 0;
  NS_IMETHOD SetLastUpdatedTime(uint32_t 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 AString name); */
  NS_IMETHOD AddSearchableGroup(const nsAString & name) = 0;

  /* boolean querySearchableGroup (in AString name); */
  NS_IMETHOD QuerySearchableGroup(const nsAString & name, bool *_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, bool *_retval) = 0;

  /* nsIMsgNewsFolder findGroup (in AUTF8String name); */
  NS_IMETHOD FindGroup(const nsACString & name, nsIMsgNewsFolder * *_retval) = 0;

  /* readonly attribute AUTF8String firstGroupNeedingExtraInfo; */
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(nsACString & aFirstGroupNeedingExtraInfo) = 0;

  /* void setGroupNeedsExtraInfo (in AUTF8String name, in boolean needsExtraInfo); */
  NS_IMETHOD SetGroupNeedsExtraInfo(const nsACString & name, bool needsExtraInfo) = 0;

  /* void groupNotFound (in nsIMsgWindow window, in AString group, in boolean opening); */
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const nsAString & group, bool opening) = 0;

  /* void setPrettyNameForGroup (in AString name, in AString prettyName); */
  NS_IMETHOD SetPrettyNameForGroup(const nsAString & name, const nsAString & prettyName) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsINntpIncomingServer, NS_INNTPINCOMINGSERVER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSINNTPINCOMINGSERVER \
  NS_IMETHOD GetNewsrcFilePath(nsIFile * *aNewsrcFilePath); \
  NS_IMETHOD SetNewsrcFilePath(nsIFile *aNewsrcFilePath); \
  NS_IMETHOD GetNewsrcRootPath(nsIFile * *aNewsrcRootPath); \
  NS_IMETHOD SetNewsrcRootPath(nsIFile *aNewsrcRootPath); \
  NS_IMETHOD GetNotifyOn(bool *aNotifyOn); \
  NS_IMETHOD SetNotifyOn(bool aNotifyOn); \
  NS_IMETHOD GetMaxArticles(int32_t *aMaxArticles); \
  NS_IMETHOD SetMaxArticles(int32_t aMaxArticles); \
  NS_IMETHOD GetMarkOldRead(bool *aMarkOldRead); \
  NS_IMETHOD SetMarkOldRead(bool aMarkOldRead); \
  NS_IMETHOD GetAbbreviate(bool *aAbbreviate); \
  NS_IMETHOD SetAbbreviate(bool aAbbreviate); \
  NS_IMETHOD GetSingleSignon(bool *aSingleSignon); \
  NS_IMETHOD SetSingleSignon(bool aSingleSignon); \
  NS_IMETHOD GetCharset(nsACString & aCharset); \
  NS_IMETHOD SetCharset(const nsACString & aCharset); \
  NS_IMETHOD AddNewsgroup(const nsAString & name); \
  NS_IMETHOD RemoveNewsgroup(const nsAString & name); \
  NS_IMETHOD WriteNewsrcFile(void); \
  NS_IMETHOD GetNewsrcHasChanged(bool *aNewsrcHasChanged); \
  NS_IMETHOD SetNewsrcHasChanged(bool aNewsrcHasChanged); \
  NS_IMETHOD GetMaximumConnectionsNumber(int32_t *aMaximumConnectionsNumber); \
  NS_IMETHOD SetMaximumConnectionsNumber(int32_t aMaximumConnectionsNumber); \
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, int32_t firstMessage, int32_t lastMessage, int32_t totalMessages); \
  NS_IMETHOD GetNntpChannel(nsIURI *uri, nsIMsgWindow *window, nsIChannel * *_retval); \
  NS_IMETHOD LoadNewsUrl(nsIURI *uri, nsIMsgWindow *window, nsISupports *consumer); \
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection); \
  NS_IMETHOD PrepareForNextUrl(nsNNTPProtocol *aNntpConnection); \
  NS_IMETHOD ContainsNewsgroup(const nsACString & escapedName, bool *_retval); \
  NS_IMETHOD SubscribeToNewsgroup(const nsACString & name); \
  NS_IMETHOD AddNewsgroupToList(const char * name); \
  NS_IMETHOD GetSupportsExtensions(bool *aSupportsExtensions); \
  NS_IMETHOD SetSupportsExtensions(bool aSupportsExtensions); \
  NS_IMETHOD AddExtension(const char * extension); \
  NS_IMETHOD QueryExtension(const char * extension, bool *_retval); \
  NS_IMETHOD GetPostingAllowed(bool *aPostingAllowed); \
  NS_IMETHOD SetPostingAllowed(bool aPostingAllowed); \
  NS_IMETHOD GetPushAuth(bool *aPushAuth); \
  NS_IMETHOD SetPushAuth(bool aPushAuth); \
  NS_IMETHOD GetLastUpdatedTime(uint32_t *aLastUpdatedTime); \
  NS_IMETHOD SetLastUpdatedTime(uint32_t aLastUpdatedTime); \
  NS_IMETHOD AddPropertyForGet(const char * name, const char * value); \
  NS_IMETHOD QueryPropertyForGet(const char * name, char * *_retval); \
  NS_IMETHOD AddSearchableGroup(const nsAString & name); \
  NS_IMETHOD QuerySearchableGroup(const nsAString & name, bool *_retval); \
  NS_IMETHOD AddSearchableHeader(const char * headerName); \
  NS_IMETHOD QuerySearchableHeader(const char * headerName, bool *_retval); \
  NS_IMETHOD FindGroup(const nsACString & name, nsIMsgNewsFolder * *_retval); \
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(nsACString & aFirstGroupNeedingExtraInfo); \
  NS_IMETHOD SetGroupNeedsExtraInfo(const nsACString & name, bool needsExtraInfo); \
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const nsAString & group, bool opening); \
  NS_IMETHOD SetPrettyNameForGroup(const nsAString & name, const nsAString & 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(nsIFile * *aNewsrcFilePath) { return _to GetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD SetNewsrcFilePath(nsIFile *aNewsrcFilePath) { return _to SetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD GetNewsrcRootPath(nsIFile * *aNewsrcRootPath) { return _to GetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD SetNewsrcRootPath(nsIFile *aNewsrcRootPath) { return _to SetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD GetNotifyOn(bool *aNotifyOn) { return _to GetNotifyOn(aNotifyOn); } \
  NS_IMETHOD SetNotifyOn(bool aNotifyOn) { return _to SetNotifyOn(aNotifyOn); } \
  NS_IMETHOD GetMaxArticles(int32_t *aMaxArticles) { return _to GetMaxArticles(aMaxArticles); } \
  NS_IMETHOD SetMaxArticles(int32_t aMaxArticles) { return _to SetMaxArticles(aMaxArticles); } \
  NS_IMETHOD GetMarkOldRead(bool *aMarkOldRead) { return _to GetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD SetMarkOldRead(bool aMarkOldRead) { return _to SetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD GetAbbreviate(bool *aAbbreviate) { return _to GetAbbreviate(aAbbreviate); } \
  NS_IMETHOD SetAbbreviate(bool aAbbreviate) { return _to SetAbbreviate(aAbbreviate); } \
  NS_IMETHOD GetSingleSignon(bool *aSingleSignon) { return _to GetSingleSignon(aSingleSignon); } \
  NS_IMETHOD SetSingleSignon(bool aSingleSignon) { return _to SetSingleSignon(aSingleSignon); } \
  NS_IMETHOD GetCharset(nsACString & aCharset) { return _to GetCharset(aCharset); } \
  NS_IMETHOD SetCharset(const nsACString & aCharset) { return _to SetCharset(aCharset); } \
  NS_IMETHOD AddNewsgroup(const nsAString & name) { return _to AddNewsgroup(name); } \
  NS_IMETHOD RemoveNewsgroup(const nsAString & name) { return _to RemoveNewsgroup(name); } \
  NS_IMETHOD WriteNewsrcFile(void) { return _to WriteNewsrcFile(); } \
  NS_IMETHOD GetNewsrcHasChanged(bool *aNewsrcHasChanged) { return _to GetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD SetNewsrcHasChanged(bool aNewsrcHasChanged) { return _to SetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD GetMaximumConnectionsNumber(int32_t *aMaximumConnectionsNumber) { return _to GetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD SetMaximumConnectionsNumber(int32_t aMaximumConnectionsNumber) { return _to SetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, int32_t firstMessage, int32_t lastMessage, int32_t totalMessages) { return _to DisplaySubscribedGroup(msgFolder, firstMessage, lastMessage, totalMessages); } \
  NS_IMETHOD GetNntpChannel(nsIURI *uri, nsIMsgWindow *window, nsIChannel * *_retval) { return _to GetNntpChannel(uri, window, _retval); } \
  NS_IMETHOD LoadNewsUrl(nsIURI *uri, nsIMsgWindow *window, nsISupports *consumer) { return _to LoadNewsUrl(uri, window, consumer); } \
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection) { return _to RemoveConnection(aNntpConnection); } \
  NS_IMETHOD PrepareForNextUrl(nsNNTPProtocol *aNntpConnection) { return _to PrepareForNextUrl(aNntpConnection); } \
  NS_IMETHOD ContainsNewsgroup(const nsACString & escapedName, bool *_retval) { return _to ContainsNewsgroup(escapedName, _retval); } \
  NS_IMETHOD SubscribeToNewsgroup(const nsACString & name) { return _to SubscribeToNewsgroup(name); } \
  NS_IMETHOD AddNewsgroupToList(const char * name) { return _to AddNewsgroupToList(name); } \
  NS_IMETHOD GetSupportsExtensions(bool *aSupportsExtensions) { return _to GetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD SetSupportsExtensions(bool aSupportsExtensions) { return _to SetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD AddExtension(const char * extension) { return _to AddExtension(extension); } \
  NS_IMETHOD QueryExtension(const char * extension, bool *_retval) { return _to QueryExtension(extension, _retval); } \
  NS_IMETHOD GetPostingAllowed(bool *aPostingAllowed) { return _to GetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD SetPostingAllowed(bool aPostingAllowed) { return _to SetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD GetPushAuth(bool *aPushAuth) { return _to GetPushAuth(aPushAuth); } \
  NS_IMETHOD SetPushAuth(bool aPushAuth) { return _to SetPushAuth(aPushAuth); } \
  NS_IMETHOD GetLastUpdatedTime(uint32_t *aLastUpdatedTime) { return _to GetLastUpdatedTime(aLastUpdatedTime); } \
  NS_IMETHOD SetLastUpdatedTime(uint32_t 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 nsAString & name) { return _to AddSearchableGroup(name); } \
  NS_IMETHOD QuerySearchableGroup(const nsAString & name, bool *_retval) { return _to QuerySearchableGroup(name, _retval); } \
  NS_IMETHOD AddSearchableHeader(const char * headerName) { return _to AddSearchableHeader(headerName); } \
  NS_IMETHOD QuerySearchableHeader(const char * headerName, bool *_retval) { return _to QuerySearchableHeader(headerName, _retval); } \
  NS_IMETHOD FindGroup(const nsACString & name, nsIMsgNewsFolder * *_retval) { return _to FindGroup(name, _retval); } \
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(nsACString & aFirstGroupNeedingExtraInfo) { return _to GetFirstGroupNeedingExtraInfo(aFirstGroupNeedingExtraInfo); } \
  NS_IMETHOD SetGroupNeedsExtraInfo(const nsACString & name, bool needsExtraInfo) { return _to SetGroupNeedsExtraInfo(name, needsExtraInfo); } \
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const nsAString & group, bool opening) { return _to GroupNotFound(window, group, opening); } \
  NS_IMETHOD SetPrettyNameForGroup(const nsAString & name, const nsAString & 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(nsIFile * *aNewsrcFilePath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD SetNewsrcFilePath(nsIFile *aNewsrcFilePath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcFilePath(aNewsrcFilePath); } \
  NS_IMETHOD GetNewsrcRootPath(nsIFile * *aNewsrcRootPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD SetNewsrcRootPath(nsIFile *aNewsrcRootPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcRootPath(aNewsrcRootPath); } \
  NS_IMETHOD GetNotifyOn(bool *aNotifyOn) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNotifyOn(aNotifyOn); } \
  NS_IMETHOD SetNotifyOn(bool aNotifyOn) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNotifyOn(aNotifyOn); } \
  NS_IMETHOD GetMaxArticles(int32_t *aMaxArticles) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxArticles(aMaxArticles); } \
  NS_IMETHOD SetMaxArticles(int32_t aMaxArticles) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaxArticles(aMaxArticles); } \
  NS_IMETHOD GetMarkOldRead(bool *aMarkOldRead) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD SetMarkOldRead(bool aMarkOldRead) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMarkOldRead(aMarkOldRead); } \
  NS_IMETHOD GetAbbreviate(bool *aAbbreviate) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAbbreviate(aAbbreviate); } \
  NS_IMETHOD SetAbbreviate(bool aAbbreviate) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAbbreviate(aAbbreviate); } \
  NS_IMETHOD GetSingleSignon(bool *aSingleSignon) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSingleSignon(aSingleSignon); } \
  NS_IMETHOD SetSingleSignon(bool aSingleSignon) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSingleSignon(aSingleSignon); } \
  NS_IMETHOD GetCharset(nsACString & aCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharset(aCharset); } \
  NS_IMETHOD SetCharset(const nsACString & aCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharset(aCharset); } \
  NS_IMETHOD AddNewsgroup(const nsAString & name) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddNewsgroup(name); } \
  NS_IMETHOD RemoveNewsgroup(const nsAString & 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(bool *aNewsrcHasChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD SetNewsrcHasChanged(bool aNewsrcHasChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsrcHasChanged(aNewsrcHasChanged); } \
  NS_IMETHOD GetMaximumConnectionsNumber(int32_t *aMaximumConnectionsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD SetMaximumConnectionsNumber(int32_t aMaximumConnectionsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_IMETHOD DisplaySubscribedGroup(nsIMsgNewsFolder *msgFolder, int32_t firstMessage, int32_t lastMessage, int32_t totalMessages) { return !_to ? NS_ERROR_NULL_POINTER : _to->DisplaySubscribedGroup(msgFolder, firstMessage, lastMessage, totalMessages); } \
  NS_IMETHOD GetNntpChannel(nsIURI *uri, nsIMsgWindow *window, nsIChannel * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNntpChannel(uri, window, _retval); } \
  NS_IMETHOD LoadNewsUrl(nsIURI *uri, nsIMsgWindow *window, nsISupports *consumer) { return !_to ? NS_ERROR_NULL_POINTER : _to->LoadNewsUrl(uri, window, consumer); } \
  NS_IMETHOD RemoveConnection(nsINNTPProtocol *aNntpConnection) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveConnection(aNntpConnection); } \
  NS_IMETHOD PrepareForNextUrl(nsNNTPProtocol *aNntpConnection) { return !_to ? NS_ERROR_NULL_POINTER : _to->PrepareForNextUrl(aNntpConnection); } \
  NS_IMETHOD ContainsNewsgroup(const nsACString & escapedName, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ContainsNewsgroup(escapedName, _retval); } \
  NS_IMETHOD SubscribeToNewsgroup(const nsACString & 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(bool *aSupportsExtensions) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSupportsExtensions(aSupportsExtensions); } \
  NS_IMETHOD SetSupportsExtensions(bool 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, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->QueryExtension(extension, _retval); } \
  NS_IMETHOD GetPostingAllowed(bool *aPostingAllowed) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD SetPostingAllowed(bool aPostingAllowed) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPostingAllowed(aPostingAllowed); } \
  NS_IMETHOD GetPushAuth(bool *aPushAuth) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPushAuth(aPushAuth); } \
  NS_IMETHOD SetPushAuth(bool aPushAuth) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPushAuth(aPushAuth); } \
  NS_IMETHOD GetLastUpdatedTime(uint32_t *aLastUpdatedTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastUpdatedTime(aLastUpdatedTime); } \
  NS_IMETHOD SetLastUpdatedTime(uint32_t 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 nsAString & name) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddSearchableGroup(name); } \
  NS_IMETHOD QuerySearchableGroup(const nsAString & name, bool *_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, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->QuerySearchableHeader(headerName, _retval); } \
  NS_IMETHOD FindGroup(const nsACString & name, nsIMsgNewsFolder * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindGroup(name, _retval); } \
  NS_IMETHOD GetFirstGroupNeedingExtraInfo(nsACString & aFirstGroupNeedingExtraInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFirstGroupNeedingExtraInfo(aFirstGroupNeedingExtraInfo); } \
  NS_IMETHOD SetGroupNeedsExtraInfo(const nsACString & name, bool needsExtraInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGroupNeedsExtraInfo(name, needsExtraInfo); } \
  NS_IMETHOD GroupNotFound(nsIMsgWindow *window, const nsAString & group, bool opening) { return !_to ? NS_ERROR_NULL_POINTER : _to->GroupNotFound(window, group, opening); } \
  NS_IMETHOD SetPrettyNameForGroup(const nsAString & name, const nsAString & 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 nsIFile newsrcFilePath; */
NS_IMETHODIMP nsNntpIncomingServer::GetNewsrcFilePath(nsIFile * *aNewsrcFilePath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetNewsrcFilePath(nsIFile *aNewsrcFilePath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

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

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

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

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

/* attribute ACString charset; */
NS_IMETHODIMP nsNntpIncomingServer::GetCharset(nsACString & aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetCharset(const nsACString & aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addNewsgroup (in AString name); */
NS_IMETHODIMP nsNntpIncomingServer::AddNewsgroup(const nsAString & name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeNewsgroup (in AString name); */
NS_IMETHODIMP nsNntpIncomingServer::RemoveNewsgroup(const nsAString & name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

/* attribute long maximumConnectionsNumber; */
NS_IMETHODIMP nsNntpIncomingServer::GetMaximumConnectionsNumber(int32_t *aMaximumConnectionsNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetMaximumConnectionsNumber(int32_t aMaximumConnectionsNumber)
{
    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, int32_t firstMessage, int32_t lastMessage, int32_t totalMessages)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIChannel getNntpChannel (in nsIURI uri, in nsIMsgWindow window); */
NS_IMETHODIMP nsNntpIncomingServer::GetNntpChannel(nsIURI *uri, nsIMsgWindow *window, nsIChannel * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void loadNewsUrl (in nsIURI uri, in nsIMsgWindow window, in nsISupports consumer); */
NS_IMETHODIMP nsNntpIncomingServer::LoadNewsUrl(nsIURI *uri, nsIMsgWindow *window, nsISupports *consumer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* [noscript] void prepareForNextUrl (in nsNNTPProtocol aNntpConnection); */
NS_IMETHODIMP nsNntpIncomingServer::PrepareForNextUrl(nsNNTPProtocol *aNntpConnection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean containsNewsgroup (in AUTF8String escapedName); */
NS_IMETHODIMP nsNntpIncomingServer::ContainsNewsgroup(const nsACString & escapedName, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void subscribeToNewsgroup (in AUTF8String name); */
NS_IMETHODIMP nsNntpIncomingServer::SubscribeToNewsgroup(const nsACString & name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* attribute boolean supportsExtensions; */
NS_IMETHODIMP nsNntpIncomingServer::GetSupportsExtensions(bool *aSupportsExtensions)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetSupportsExtensions(bool 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, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

/* attribute unsigned long lastUpdatedTime; */
NS_IMETHODIMP nsNntpIncomingServer::GetLastUpdatedTime(uint32_t *aLastUpdatedTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsNntpIncomingServer::SetLastUpdatedTime(uint32_t 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 AString name); */
NS_IMETHODIMP nsNntpIncomingServer::AddSearchableGroup(const nsAString & name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean querySearchableGroup (in AString name); */
NS_IMETHODIMP nsNntpIncomingServer::QuerySearchableGroup(const nsAString & name, bool *_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, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* readonly attribute AUTF8String firstGroupNeedingExtraInfo; */
NS_IMETHODIMP nsNntpIncomingServer::GetFirstGroupNeedingExtraInfo(nsACString & aFirstGroupNeedingExtraInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setGroupNeedsExtraInfo (in AUTF8String name, in boolean needsExtraInfo); */
NS_IMETHODIMP nsNntpIncomingServer::SetGroupNeedsExtraInfo(const nsACString & name, bool needsExtraInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void groupNotFound (in nsIMsgWindow window, in AString group, in boolean opening); */
NS_IMETHODIMP nsNntpIncomingServer::GroupNotFound(nsIMsgWindow *window, const nsAString & group, bool opening)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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


#endif /* __gen_nsINntpIncomingServer_h__ */
