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

#ifndef __gen_nsISubscribableServer_h__
#define __gen_nsISubscribableServer_h__

#include "nsISupports.h"

class nsIMsgWindow; /* forward declaration */

class nsIMsgIncomingServer; /* forward declaration */

class nsIRDFResource; /* forward declaration */


/* starting interface:    nsISubscribeListener */
#define NS_ISUBSCRIBELISTENER_IID_STR "f337b84a-1dd1-11b2-97c7-fb8b2e3f2280"

#define NS_ISUBSCRIBELISTENER_IID \
  {0xf337b84a, 0x1dd1, 0x11b2, \
    { 0x97, 0xc7, 0xfb, 0x8b, 0x2e, 0x3f, 0x22, 0x80 }}

class NS_NO_VTABLE nsISubscribeListener : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUBSCRIBELISTENER_IID)

  /* void OnStopPopulating (); */
  NS_IMETHOD OnStopPopulating(void) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISUBSCRIBELISTENER \
  NS_IMETHOD OnStopPopulating(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISUBSCRIBELISTENER(_to) \
  NS_IMETHOD OnStopPopulating(void) { return _to ## OnStopPopulating(); } 

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

/* Header file */
class nsSubscribeListener : public nsISubscribeListener
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISUBSCRIBELISTENER

  nsSubscribeListener();
  virtual ~nsSubscribeListener();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsSubscribeListener, nsISubscribeListener)

nsSubscribeListener::nsSubscribeListener()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

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

/* void OnStopPopulating (); */
NS_IMETHODIMP nsSubscribeListener::OnStopPopulating()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsISubscribableServer */
#define NS_ISUBSCRIBABLESERVER_IID_STR "6f9d2e82-1dd2-11b2-bbed-bbea41ca33a7"

#define NS_ISUBSCRIBABLESERVER_IID \
  {0x6f9d2e82, 0x1dd2, 0x11b2, \
    { 0xbb, 0xed, 0xbb, 0xea, 0x41, 0xca, 0x33, 0xa7 }}

class NS_NO_VTABLE nsISubscribableServer : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUBSCRIBABLESERVER_IID)

  /* void setIncomingServer (in nsIMsgIncomingServer server); */
  NS_IMETHOD SetIncomingServer(nsIMsgIncomingServer *server) = 0;

  /* void setDelimiter (in char delimiter); */
  NS_IMETHOD SetDelimiter(char delimiter) = 0;

  /* void populateSubscribeDatasource (in nsIMsgWindow aMsgWindow, in boolean forceToServer); */
  NS_IMETHOD PopulateSubscribeDatasource(nsIMsgWindow *aMsgWindow, PRBool forceToServer) = 0;

  /* void populateSubscribeDatasourceWithUri (in nsIMsgWindow aMsgWindow, in boolean forceToServer, in string uri); */
  NS_IMETHOD PopulateSubscribeDatasourceWithUri(nsIMsgWindow *aMsgWindow, PRBool forceToServer, const char *uri) = 0;

  /* attribute nsISubscribeListener subscribeListener; */
  NS_IMETHOD GetSubscribeListener(nsISubscribeListener * *aSubscribeListener) = 0;
  NS_IMETHOD SetSubscribeListener(nsISubscribeListener * aSubscribeListener) = 0;

  /* void startPopulatingSubscribeDS (); */
  NS_IMETHOD StartPopulatingSubscribeDS(void) = 0;

  /* void stopPopulatingSubscribeDS (); */
  NS_IMETHOD StopPopulatingSubscribeDS(void) = 0;

  /* void findAndAddParentToSubscribeDS (in string uri, in string serverUri, in string aName, in nsIRDFResource aChildResource); */
  NS_IMETHOD FindAndAddParentToSubscribeDS(const char *uri, const char *serverUri, const char *aName, nsIRDFResource *aChildResource) = 0;

  /* void setPropertiesInSubscribeDS (in string uri, in wstring aName, in nsIRDFResource aResource, in boolean subscribed, in boolean changeIfExists); */
  NS_IMETHOD SetPropertiesInSubscribeDS(const char *uri, const PRUnichar *aName, nsIRDFResource *aResource, PRBool subscribed, PRBool changeIfExists) = 0;

  /* void addToSubscribeDS (in string aName, in boolean addAsSubscribed, in boolean changeIfExists); */
  NS_IMETHOD AddToSubscribeDS(const char *aName, PRBool addAsSubscribed, PRBool changeIfExists) = 0;

  /* void setAsSubscribedInSubscribeDS (in string aURI); */
  NS_IMETHOD SetAsSubscribedInSubscribeDS(const char *aURI) = 0;

  /* void updateSubscribedInSubscribeDS (); */
  NS_IMETHOD UpdateSubscribedInSubscribeDS(void) = 0;

  /* void subscribe (in wstring name); */
  NS_IMETHOD Subscribe(const PRUnichar *name) = 0;

  /* void unsubscribe (in wstring name); */
  NS_IMETHOD Unsubscribe(const PRUnichar *name) = 0;

  /* void setShowFullName (in boolean showFullName); */
  NS_IMETHOD SetShowFullName(PRBool showFullName) = 0;

  /* void subscribeCleanup (); */
  NS_IMETHOD SubscribeCleanup(void) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISUBSCRIBABLESERVER \
  NS_IMETHOD SetIncomingServer(nsIMsgIncomingServer *server); \
  NS_IMETHOD SetDelimiter(char delimiter); \
  NS_IMETHOD PopulateSubscribeDatasource(nsIMsgWindow *aMsgWindow, PRBool forceToServer); \
  NS_IMETHOD PopulateSubscribeDatasourceWithUri(nsIMsgWindow *aMsgWindow, PRBool forceToServer, const char *uri); \
  NS_IMETHOD GetSubscribeListener(nsISubscribeListener * *aSubscribeListener); \
  NS_IMETHOD SetSubscribeListener(nsISubscribeListener * aSubscribeListener); \
  NS_IMETHOD StartPopulatingSubscribeDS(void); \
  NS_IMETHOD StopPopulatingSubscribeDS(void); \
  NS_IMETHOD FindAndAddParentToSubscribeDS(const char *uri, const char *serverUri, const char *aName, nsIRDFResource *aChildResource); \
  NS_IMETHOD SetPropertiesInSubscribeDS(const char *uri, const PRUnichar *aName, nsIRDFResource *aResource, PRBool subscribed, PRBool changeIfExists); \
  NS_IMETHOD AddToSubscribeDS(const char *aName, PRBool addAsSubscribed, PRBool changeIfExists); \
  NS_IMETHOD SetAsSubscribedInSubscribeDS(const char *aURI); \
  NS_IMETHOD UpdateSubscribedInSubscribeDS(void); \
  NS_IMETHOD Subscribe(const PRUnichar *name); \
  NS_IMETHOD Unsubscribe(const PRUnichar *name); \
  NS_IMETHOD SetShowFullName(PRBool showFullName); \
  NS_IMETHOD SubscribeCleanup(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISUBSCRIBABLESERVER(_to) \
  NS_IMETHOD SetIncomingServer(nsIMsgIncomingServer *server) { return _to ## SetIncomingServer(server); } \
  NS_IMETHOD SetDelimiter(char delimiter) { return _to ## SetDelimiter(delimiter); } \
  NS_IMETHOD PopulateSubscribeDatasource(nsIMsgWindow *aMsgWindow, PRBool forceToServer) { return _to ## PopulateSubscribeDatasource(aMsgWindow, forceToServer); } \
  NS_IMETHOD PopulateSubscribeDatasourceWithUri(nsIMsgWindow *aMsgWindow, PRBool forceToServer, const char *uri) { return _to ## PopulateSubscribeDatasourceWithUri(aMsgWindow, forceToServer, uri); } \
  NS_IMETHOD GetSubscribeListener(nsISubscribeListener * *aSubscribeListener) { return _to ## GetSubscribeListener(aSubscribeListener); } \
  NS_IMETHOD SetSubscribeListener(nsISubscribeListener * aSubscribeListener) { return _to ## SetSubscribeListener(aSubscribeListener); } \
  NS_IMETHOD StartPopulatingSubscribeDS(void) { return _to ## StartPopulatingSubscribeDS(); } \
  NS_IMETHOD StopPopulatingSubscribeDS(void) { return _to ## StopPopulatingSubscribeDS(); } \
  NS_IMETHOD FindAndAddParentToSubscribeDS(const char *uri, const char *serverUri, const char *aName, nsIRDFResource *aChildResource) { return _to ## FindAndAddParentToSubscribeDS(uri, serverUri, aName, aChildResource); } \
  NS_IMETHOD SetPropertiesInSubscribeDS(const char *uri, const PRUnichar *aName, nsIRDFResource *aResource, PRBool subscribed, PRBool changeIfExists) { return _to ## SetPropertiesInSubscribeDS(uri, aName, aResource, subscribed, changeIfExists); } \
  NS_IMETHOD AddToSubscribeDS(const char *aName, PRBool addAsSubscribed, PRBool changeIfExists) { return _to ## AddToSubscribeDS(aName, addAsSubscribed, changeIfExists); } \
  NS_IMETHOD SetAsSubscribedInSubscribeDS(const char *aURI) { return _to ## SetAsSubscribedInSubscribeDS(aURI); } \
  NS_IMETHOD UpdateSubscribedInSubscribeDS(void) { return _to ## UpdateSubscribedInSubscribeDS(); } \
  NS_IMETHOD Subscribe(const PRUnichar *name) { return _to ## Subscribe(name); } \
  NS_IMETHOD Unsubscribe(const PRUnichar *name) { return _to ## Unsubscribe(name); } \
  NS_IMETHOD SetShowFullName(PRBool showFullName) { return _to ## SetShowFullName(showFullName); } \
  NS_IMETHOD SubscribeCleanup(void) { return _to ## SubscribeCleanup(); } 

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

/* Header file */
class nsSubscribableServer : public nsISubscribableServer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISUBSCRIBABLESERVER

  nsSubscribableServer();
  virtual ~nsSubscribableServer();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsSubscribableServer, nsISubscribableServer)

nsSubscribableServer::nsSubscribableServer()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

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

/* void setIncomingServer (in nsIMsgIncomingServer server); */
NS_IMETHODIMP nsSubscribableServer::SetIncomingServer(nsIMsgIncomingServer *server)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setDelimiter (in char delimiter); */
NS_IMETHODIMP nsSubscribableServer::SetDelimiter(char delimiter)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void populateSubscribeDatasource (in nsIMsgWindow aMsgWindow, in boolean forceToServer); */
NS_IMETHODIMP nsSubscribableServer::PopulateSubscribeDatasource(nsIMsgWindow *aMsgWindow, PRBool forceToServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void populateSubscribeDatasourceWithUri (in nsIMsgWindow aMsgWindow, in boolean forceToServer, in string uri); */
NS_IMETHODIMP nsSubscribableServer::PopulateSubscribeDatasourceWithUri(nsIMsgWindow *aMsgWindow, PRBool forceToServer, const char *uri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsISubscribeListener subscribeListener; */
NS_IMETHODIMP nsSubscribableServer::GetSubscribeListener(nsISubscribeListener * *aSubscribeListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSubscribableServer::SetSubscribeListener(nsISubscribeListener * aSubscribeListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void startPopulatingSubscribeDS (); */
NS_IMETHODIMP nsSubscribableServer::StartPopulatingSubscribeDS()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void stopPopulatingSubscribeDS (); */
NS_IMETHODIMP nsSubscribableServer::StopPopulatingSubscribeDS()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void findAndAddParentToSubscribeDS (in string uri, in string serverUri, in string aName, in nsIRDFResource aChildResource); */
NS_IMETHODIMP nsSubscribableServer::FindAndAddParentToSubscribeDS(const char *uri, const char *serverUri, const char *aName, nsIRDFResource *aChildResource)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setPropertiesInSubscribeDS (in string uri, in wstring aName, in nsIRDFResource aResource, in boolean subscribed, in boolean changeIfExists); */
NS_IMETHODIMP nsSubscribableServer::SetPropertiesInSubscribeDS(const char *uri, const PRUnichar *aName, nsIRDFResource *aResource, PRBool subscribed, PRBool changeIfExists)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addToSubscribeDS (in string aName, in boolean addAsSubscribed, in boolean changeIfExists); */
NS_IMETHODIMP nsSubscribableServer::AddToSubscribeDS(const char *aName, PRBool addAsSubscribed, PRBool changeIfExists)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setAsSubscribedInSubscribeDS (in string aURI); */
NS_IMETHODIMP nsSubscribableServer::SetAsSubscribedInSubscribeDS(const char *aURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void updateSubscribedInSubscribeDS (); */
NS_IMETHODIMP nsSubscribableServer::UpdateSubscribedInSubscribeDS()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void subscribe (in wstring name); */
NS_IMETHODIMP nsSubscribableServer::Subscribe(const PRUnichar *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void unsubscribe (in wstring name); */
NS_IMETHODIMP nsSubscribableServer::Unsubscribe(const PRUnichar *name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setShowFullName (in boolean showFullName); */
NS_IMETHODIMP nsSubscribableServer::SetShowFullName(PRBool showFullName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void subscribeCleanup (); */
NS_IMETHODIMP nsSubscribableServer::SubscribeCleanup()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISubscribableServer_h__ */
