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

#ifndef __gen_nsIHTTPProtocolHandler_h__
#define __gen_nsIHTTPProtocolHandler_h__

#include "nsIProtocolHandler.h"

class nsIInputStream; /* forward declaration */

class nsAuthEngine;
#define NS_IHTTPHANDLER_CID                           \
{ /* 52A30880-DD95-11d3-A1A7-0050041CAF44 */         \
 0x52a30880, 0xdd95, 0x11d3, { 0xa1, 0xa7, 0x0, 0x50, 0x4, 0x1c, 0xaf, 0x44 } \
}

/* starting interface:    nsIHTTPProtocolHandler */
#define NS_IHTTPPROTOCOLHANDLER_IID_STR "ad1d53ae-3e25-11d3-8cd3-0060b0fc14a3"

#define NS_IHTTPPROTOCOLHANDLER_IID \
  {0xad1d53ae, 0x3e25, 0x11d3, \
    { 0x8c, 0xd3, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 }}

class NS_NO_VTABLE nsIHTTPProtocolHandler : public nsIProtocolHandler {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IHTTPPROTOCOLHANDLER_IID)

  enum { ENCODE_NORMAL = 0U };

  enum { ENCODE_ADD_CRLF = 1U };

  enum { ENCODE_QUOTE_LINES = 2U };

  enum { ALLOW_KEEPALIVE = 1U };

  enum { ALLOW_PIPELINING = 2U };

  enum { ALLOW_PROXY_KEEPALIVE = 4U };

  enum { ALLOW_PROXY_PIPELINING = 8U };

  enum { DONTRECORD_CAPABILITIES = 16U };

  enum { DONTALLOW_HTTP11 = 32U };

  /**
     *
     */
  /* nsIInputStream NewEncodeStream (in nsIInputStream rawStream, in unsigned long encodeFlags); */
  NS_IMETHOD NewEncodeStream(nsIInputStream *rawStream, PRUint32 encodeFlags, nsIInputStream **_retval) = 0;

  /**
     *
     */
  /* nsIInputStream NewDecodeStream (in nsIInputStream encodedStream, in unsigned long encodeFlags); */
  NS_IMETHOD NewDecodeStream(nsIInputStream *encodedStream, PRUint32 encodeFlags, nsIInputStream **_retval) = 0;

  /**
     *
     */
  /* nsIInputStream NewPostDataStream (in boolean isFile, in string data, in unsigned long encodeFlags); */
  NS_IMETHOD NewPostDataStream(PRBool isFile, const char *data, PRUint32 encodeFlags, nsIInputStream **_retval) = 0;

  /* attribute string acceptLanguages; */
  NS_IMETHOD GetAcceptLanguages(char * *aAcceptLanguages) = 0;
  NS_IMETHOD SetAcceptLanguages(const char * aAcceptLanguages) = 0;

  /* attribute string acceptEncodings; */
  NS_IMETHOD GetAcceptEncodings(char * *aAcceptEncodings) = 0;
  NS_IMETHOD SetAcceptEncodings(const char * aAcceptEncodings) = 0;

  /* attribute unsigned long httpVersion; */
  NS_IMETHOD GetHttpVersion(PRUint32 *aHttpVersion) = 0;
  NS_IMETHOD SetHttpVersion(PRUint32 aHttpVersion) = 0;

  /* [noscript] void getAuthEngine (out nsAuthEnginePtr authEngine); */
  NS_IMETHOD GetAuthEngine(nsAuthEngine * *authEngine) = 0;

  /**
     * Get the application name.
	 *
     * @return The name of this application (eg. "Mozilla").
     */
  /* readonly attribute wstring appName; */
  NS_IMETHOD GetAppName(PRUnichar * *aAppName) = 0;

  /**
     * Get the application version string.
     *
     * @return The complete version (major and minor) string. (eg. "5.0")
     */
  /* readonly attribute wstring appVersion; */
  NS_IMETHOD GetAppVersion(PRUnichar * *aAppVersion) = 0;

  /**
     * @return The vendor name.
     */
  /* attribute wstring vendor; */
  NS_IMETHOD GetVendor(PRUnichar * *aVendor) = 0;
  NS_IMETHOD SetVendor(const PRUnichar * aVendor) = 0;

  /**
     * @return The vendor sub string.
     */
  /* attribute wstring vendorSub; */
  NS_IMETHOD GetVendorSub(PRUnichar * *aVendorSub) = 0;
  NS_IMETHOD SetVendorSub(const PRUnichar * aVendorSub) = 0;

  /**
     * @return The vendor comment.
     */
  /* attribute wstring vendorComment; */
  NS_IMETHOD GetVendorComment(PRUnichar * *aVendorComment) = 0;
  NS_IMETHOD SetVendorComment(const PRUnichar * aVendorComment) = 0;

  /**
     * @return The product name.
     */
  /* attribute wstring product; */
  NS_IMETHOD GetProduct(PRUnichar * *aProduct) = 0;
  NS_IMETHOD SetProduct(const PRUnichar * aProduct) = 0;

  /**
     * @return A product sub string.
     */
  /* attribute wstring productSub; */
  NS_IMETHOD GetProductSub(PRUnichar * *aProductSub) = 0;
  NS_IMETHOD SetProductSub(const PRUnichar * aProductSub) = 0;

  /**
     * @return A product comment.
     */
  /* attribute wstring productComment; */
  NS_IMETHOD GetProductComment(PRUnichar * *aProductComment) = 0;
  NS_IMETHOD SetProductComment(const PRUnichar * aProductComment) = 0;

  /**
     * Get the current platform.
     *
     * @return The platform this application is running on
     *		   (eg. "Windows", "Macintosh", "X11")
     */
  /* readonly attribute wstring platform; */
  NS_IMETHOD GetPlatform(PRUnichar * *aPlatform) = 0;

  /**
     * Get the current oscpu.
     *
     * @return The oscpu this application is running on
     */
  /* readonly attribute wstring oscpu; */
  NS_IMETHOD GetOscpu(PRUnichar * *aOscpu) = 0;

  /**
     * Get the translation of the application. The value for language
     * is usually a 2-letter code such as "en" and occasionally a 
     * five-character code to indicate a language subtype, such as "zh_CN". 
     */
  /* attribute wstring language; */
  NS_IMETHOD GetLanguage(PRUnichar * *aLanguage) = 0;
  NS_IMETHOD SetLanguage(const PRUnichar * aLanguage) = 0;

  /**
     * Get the HTTP advertised user agent string.
     */
  /* readonly attribute wstring userAgent; */
  NS_IMETHOD GetUserAgent(PRUnichar * *aUserAgent) = 0;

  /**
     * Get/Set the application comment misc portion.
     */
  /* attribute wstring misc; */
  NS_IMETHOD GetMisc(PRUnichar * *aMisc) = 0;
  NS_IMETHOD SetMisc(const PRUnichar * aMisc) = 0;

  /* readonly attribute unsigned long capabilities; */
  NS_IMETHOD GetCapabilities(PRUint32 *aCapabilities) = 0;

  /* readonly attribute unsigned long keepAliveTimeout; */
  NS_IMETHOD GetKeepAliveTimeout(PRUint32 *aKeepAliveTimeout) = 0;

  /**
	 * Check for bad server and return the capabilites supported by
	 * such server
	 */
  /* unsigned long Check4BrokenHTTPServers (in string serverHeader); */
  NS_IMETHOD Check4BrokenHTTPServers(const char *serverHeader, PRUint32 *_retval) = 0;

  /* unsigned long GetServerCapabilities (in string host, in long port, in unsigned long defaultCapabilities); */
  NS_IMETHOD GetServerCapabilities(const char *host, PRInt32 port, PRUint32 defaultCapabilities, PRUint32 *_retval) = 0;

  /* void SetServerCapabilities (in string host, in long port, in unsigned long capabilities); */
  NS_IMETHOD SetServerCapabilities(const char *host, PRInt32 port, PRUint32 capabilities) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIHTTPPROTOCOLHANDLER \
  NS_IMETHOD NewEncodeStream(nsIInputStream *rawStream, PRUint32 encodeFlags, nsIInputStream **_retval); \
  NS_IMETHOD NewDecodeStream(nsIInputStream *encodedStream, PRUint32 encodeFlags, nsIInputStream **_retval); \
  NS_IMETHOD NewPostDataStream(PRBool isFile, const char *data, PRUint32 encodeFlags, nsIInputStream **_retval); \
  NS_IMETHOD GetAcceptLanguages(char * *aAcceptLanguages); \
  NS_IMETHOD SetAcceptLanguages(const char * aAcceptLanguages); \
  NS_IMETHOD GetAcceptEncodings(char * *aAcceptEncodings); \
  NS_IMETHOD SetAcceptEncodings(const char * aAcceptEncodings); \
  NS_IMETHOD GetHttpVersion(PRUint32 *aHttpVersion); \
  NS_IMETHOD SetHttpVersion(PRUint32 aHttpVersion); \
  NS_IMETHOD GetAuthEngine(nsAuthEngine * *authEngine); \
  NS_IMETHOD GetAppName(PRUnichar * *aAppName); \
  NS_IMETHOD GetAppVersion(PRUnichar * *aAppVersion); \
  NS_IMETHOD GetVendor(PRUnichar * *aVendor); \
  NS_IMETHOD SetVendor(const PRUnichar * aVendor); \
  NS_IMETHOD GetVendorSub(PRUnichar * *aVendorSub); \
  NS_IMETHOD SetVendorSub(const PRUnichar * aVendorSub); \
  NS_IMETHOD GetVendorComment(PRUnichar * *aVendorComment); \
  NS_IMETHOD SetVendorComment(const PRUnichar * aVendorComment); \
  NS_IMETHOD GetProduct(PRUnichar * *aProduct); \
  NS_IMETHOD SetProduct(const PRUnichar * aProduct); \
  NS_IMETHOD GetProductSub(PRUnichar * *aProductSub); \
  NS_IMETHOD SetProductSub(const PRUnichar * aProductSub); \
  NS_IMETHOD GetProductComment(PRUnichar * *aProductComment); \
  NS_IMETHOD SetProductComment(const PRUnichar * aProductComment); \
  NS_IMETHOD GetPlatform(PRUnichar * *aPlatform); \
  NS_IMETHOD GetOscpu(PRUnichar * *aOscpu); \
  NS_IMETHOD GetLanguage(PRUnichar * *aLanguage); \
  NS_IMETHOD SetLanguage(const PRUnichar * aLanguage); \
  NS_IMETHOD GetUserAgent(PRUnichar * *aUserAgent); \
  NS_IMETHOD GetMisc(PRUnichar * *aMisc); \
  NS_IMETHOD SetMisc(const PRUnichar * aMisc); \
  NS_IMETHOD GetCapabilities(PRUint32 *aCapabilities); \
  NS_IMETHOD GetKeepAliveTimeout(PRUint32 *aKeepAliveTimeout); \
  NS_IMETHOD Check4BrokenHTTPServers(const char *serverHeader, PRUint32 *_retval); \
  NS_IMETHOD GetServerCapabilities(const char *host, PRInt32 port, PRUint32 defaultCapabilities, PRUint32 *_retval); \
  NS_IMETHOD SetServerCapabilities(const char *host, PRInt32 port, PRUint32 capabilities); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIHTTPPROTOCOLHANDLER(_to) \
  NS_IMETHOD NewEncodeStream(nsIInputStream *rawStream, PRUint32 encodeFlags, nsIInputStream **_retval) { return _to ## NewEncodeStream(rawStream, encodeFlags, _retval); } \
  NS_IMETHOD NewDecodeStream(nsIInputStream *encodedStream, PRUint32 encodeFlags, nsIInputStream **_retval) { return _to ## NewDecodeStream(encodedStream, encodeFlags, _retval); } \
  NS_IMETHOD NewPostDataStream(PRBool isFile, const char *data, PRUint32 encodeFlags, nsIInputStream **_retval) { return _to ## NewPostDataStream(isFile, data, encodeFlags, _retval); } \
  NS_IMETHOD GetAcceptLanguages(char * *aAcceptLanguages) { return _to ## GetAcceptLanguages(aAcceptLanguages); } \
  NS_IMETHOD SetAcceptLanguages(const char * aAcceptLanguages) { return _to ## SetAcceptLanguages(aAcceptLanguages); } \
  NS_IMETHOD GetAcceptEncodings(char * *aAcceptEncodings) { return _to ## GetAcceptEncodings(aAcceptEncodings); } \
  NS_IMETHOD SetAcceptEncodings(const char * aAcceptEncodings) { return _to ## SetAcceptEncodings(aAcceptEncodings); } \
  NS_IMETHOD GetHttpVersion(PRUint32 *aHttpVersion) { return _to ## GetHttpVersion(aHttpVersion); } \
  NS_IMETHOD SetHttpVersion(PRUint32 aHttpVersion) { return _to ## SetHttpVersion(aHttpVersion); } \
  NS_IMETHOD GetAuthEngine(nsAuthEngine * *authEngine) { return _to ## GetAuthEngine(authEngine); } \
  NS_IMETHOD GetAppName(PRUnichar * *aAppName) { return _to ## GetAppName(aAppName); } \
  NS_IMETHOD GetAppVersion(PRUnichar * *aAppVersion) { return _to ## GetAppVersion(aAppVersion); } \
  NS_IMETHOD GetVendor(PRUnichar * *aVendor) { return _to ## GetVendor(aVendor); } \
  NS_IMETHOD SetVendor(const PRUnichar * aVendor) { return _to ## SetVendor(aVendor); } \
  NS_IMETHOD GetVendorSub(PRUnichar * *aVendorSub) { return _to ## GetVendorSub(aVendorSub); } \
  NS_IMETHOD SetVendorSub(const PRUnichar * aVendorSub) { return _to ## SetVendorSub(aVendorSub); } \
  NS_IMETHOD GetVendorComment(PRUnichar * *aVendorComment) { return _to ## GetVendorComment(aVendorComment); } \
  NS_IMETHOD SetVendorComment(const PRUnichar * aVendorComment) { return _to ## SetVendorComment(aVendorComment); } \
  NS_IMETHOD GetProduct(PRUnichar * *aProduct) { return _to ## GetProduct(aProduct); } \
  NS_IMETHOD SetProduct(const PRUnichar * aProduct) { return _to ## SetProduct(aProduct); } \
  NS_IMETHOD GetProductSub(PRUnichar * *aProductSub) { return _to ## GetProductSub(aProductSub); } \
  NS_IMETHOD SetProductSub(const PRUnichar * aProductSub) { return _to ## SetProductSub(aProductSub); } \
  NS_IMETHOD GetProductComment(PRUnichar * *aProductComment) { return _to ## GetProductComment(aProductComment); } \
  NS_IMETHOD SetProductComment(const PRUnichar * aProductComment) { return _to ## SetProductComment(aProductComment); } \
  NS_IMETHOD GetPlatform(PRUnichar * *aPlatform) { return _to ## GetPlatform(aPlatform); } \
  NS_IMETHOD GetOscpu(PRUnichar * *aOscpu) { return _to ## GetOscpu(aOscpu); } \
  NS_IMETHOD GetLanguage(PRUnichar * *aLanguage) { return _to ## GetLanguage(aLanguage); } \
  NS_IMETHOD SetLanguage(const PRUnichar * aLanguage) { return _to ## SetLanguage(aLanguage); } \
  NS_IMETHOD GetUserAgent(PRUnichar * *aUserAgent) { return _to ## GetUserAgent(aUserAgent); } \
  NS_IMETHOD GetMisc(PRUnichar * *aMisc) { return _to ## GetMisc(aMisc); } \
  NS_IMETHOD SetMisc(const PRUnichar * aMisc) { return _to ## SetMisc(aMisc); } \
  NS_IMETHOD GetCapabilities(PRUint32 *aCapabilities) { return _to ## GetCapabilities(aCapabilities); } \
  NS_IMETHOD GetKeepAliveTimeout(PRUint32 *aKeepAliveTimeout) { return _to ## GetKeepAliveTimeout(aKeepAliveTimeout); } \
  NS_IMETHOD Check4BrokenHTTPServers(const char *serverHeader, PRUint32 *_retval) { return _to ## Check4BrokenHTTPServers(serverHeader, _retval); } \
  NS_IMETHOD GetServerCapabilities(const char *host, PRInt32 port, PRUint32 defaultCapabilities, PRUint32 *_retval) { return _to ## GetServerCapabilities(host, port, defaultCapabilities, _retval); } \
  NS_IMETHOD SetServerCapabilities(const char *host, PRInt32 port, PRUint32 capabilities) { return _to ## SetServerCapabilities(host, port, capabilities); } 

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

/* Header file */
class nsHTTPProtocolHandler : public nsIHTTPProtocolHandler
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIHTTPPROTOCOLHANDLER

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

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsHTTPProtocolHandler, nsIHTTPProtocolHandler)

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

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

/* nsIInputStream NewEncodeStream (in nsIInputStream rawStream, in unsigned long encodeFlags); */
NS_IMETHODIMP nsHTTPProtocolHandler::NewEncodeStream(nsIInputStream *rawStream, PRUint32 encodeFlags, nsIInputStream **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIInputStream NewDecodeStream (in nsIInputStream encodedStream, in unsigned long encodeFlags); */
NS_IMETHODIMP nsHTTPProtocolHandler::NewDecodeStream(nsIInputStream *encodedStream, PRUint32 encodeFlags, nsIInputStream **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIInputStream NewPostDataStream (in boolean isFile, in string data, in unsigned long encodeFlags); */
NS_IMETHODIMP nsHTTPProtocolHandler::NewPostDataStream(PRBool isFile, const char *data, PRUint32 encodeFlags, nsIInputStream **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string acceptLanguages; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetAcceptLanguages(char * *aAcceptLanguages)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetAcceptLanguages(const char * aAcceptLanguages)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string acceptEncodings; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetAcceptEncodings(char * *aAcceptEncodings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetAcceptEncodings(const char * aAcceptEncodings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long httpVersion; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetHttpVersion(PRUint32 *aHttpVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetHttpVersion(PRUint32 aHttpVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void getAuthEngine (out nsAuthEnginePtr authEngine); */
NS_IMETHODIMP nsHTTPProtocolHandler::GetAuthEngine(nsAuthEngine * *authEngine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute wstring appName; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetAppName(PRUnichar * *aAppName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute wstring appVersion; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetAppVersion(PRUnichar * *aAppVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring vendor; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetVendor(PRUnichar * *aVendor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetVendor(const PRUnichar * aVendor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring vendorSub; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetVendorSub(PRUnichar * *aVendorSub)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetVendorSub(const PRUnichar * aVendorSub)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring vendorComment; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetVendorComment(PRUnichar * *aVendorComment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetVendorComment(const PRUnichar * aVendorComment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring product; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetProduct(PRUnichar * *aProduct)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetProduct(const PRUnichar * aProduct)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring productSub; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetProductSub(PRUnichar * *aProductSub)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetProductSub(const PRUnichar * aProductSub)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring productComment; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetProductComment(PRUnichar * *aProductComment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetProductComment(const PRUnichar * aProductComment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute wstring platform; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetPlatform(PRUnichar * *aPlatform)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute wstring oscpu; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetOscpu(PRUnichar * *aOscpu)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring language; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetLanguage(PRUnichar * *aLanguage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetLanguage(const PRUnichar * aLanguage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute wstring userAgent; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetUserAgent(PRUnichar * *aUserAgent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring misc; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetMisc(PRUnichar * *aMisc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTTPProtocolHandler::SetMisc(const PRUnichar * aMisc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long capabilities; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetCapabilities(PRUint32 *aCapabilities)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long keepAliveTimeout; */
NS_IMETHODIMP nsHTTPProtocolHandler::GetKeepAliveTimeout(PRUint32 *aKeepAliveTimeout)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long Check4BrokenHTTPServers (in string serverHeader); */
NS_IMETHODIMP nsHTTPProtocolHandler::Check4BrokenHTTPServers(const char *serverHeader, PRUint32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long GetServerCapabilities (in string host, in long port, in unsigned long defaultCapabilities); */
NS_IMETHODIMP nsHTTPProtocolHandler::GetServerCapabilities(const char *host, PRInt32 port, PRUint32 defaultCapabilities, PRUint32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void SetServerCapabilities (in string host, in long port, in unsigned long capabilities); */
NS_IMETHODIMP nsHTTPProtocolHandler::SetServerCapabilities(const char *host, PRInt32 port, PRUint32 capabilities)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

//Possible errors
#define NS_ERROR_BAD_REQUEST    NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 200)
#define NS_ERROR_BUSY           NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 201)
// HTTP protocol handler will do_GetService() each CID or Contractid that is registered
// under this category when it comes alive.
#define NS_HTTP_STARTUP_CATEGORY "http-startup-category"

#endif /* __gen_nsIHTTPProtocolHandler_h__ */
