/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx64-xr/build/netwerk/protocol/websocket/nsIWebSocketProtocol.idl
 */

#ifndef __gen_nsIWebSocketProtocol_h__
#define __gen_nsIWebSocketProtocol_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 nsIURI; /* forward declaration */

class nsIInterfaceRequestor; /* forward declaration */

class nsIRunnable; /* forward declaration */

class nsILoadGroup; /* forward declaration */


/* starting interface:    nsIWebSocketListener */
#define NS_IWEBSOCKETLISTENER_IID_STR "b0c27050-31e9-42e5-bc59-499d54b52f99"

#define NS_IWEBSOCKETLISTENER_IID \
  {0xb0c27050, 0x31e9, 0x42e5, \
    { 0xbc, 0x59, 0x49, 0x9d, 0x54, 0xb5, 0x2f, 0x99 }}

/**
 * nsIWebSocketListener
 */
class NS_NO_VTABLE NS_SCRIPTABLE nsIWebSocketListener : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBSOCKETLISTENER_IID)

  /**
     * Called to signify the establishment of the message stream.
     * Any listener that receives onStart will also receive OnStop.
     *
     * @param aContext user defined context
     */
  /* void onStart (in nsISupports aContext); */
  NS_SCRIPTABLE NS_IMETHOD OnStart(nsISupports *aContext) = 0;

  /**
     * Called to signify the completion of the message stream.
     * OnStop is the final notification the listener will receive and it
     * completes the WebSocket connection. This event can be received in error
     * cases even if nsIWebSocketProtocol::Close() has not been called.
     *
     * @param aContext user defined context
     * @param aStatusCode reason for stopping (NS_OK if completed successfully)
     */
  /* void onStop (in nsISupports aContext, in nsresult aStatusCode); */
  NS_SCRIPTABLE NS_IMETHOD OnStop(nsISupports *aContext, nsresult aStatusCode) = 0;

  /**
     * Called to deliver text message.
     *
     * @param aContext user defined context
     * @param aMsg the message data
     */
  /* void onMessageAvailable (in nsISupports aContext, in AUTF8String aMsg); */
  NS_SCRIPTABLE NS_IMETHOD OnMessageAvailable(nsISupports *aContext, const nsACString & aMsg) = 0;

  /**
     * Called to deliver binary message.
     *
     * @param aContext user defined context
     * @param aMsg the message data
     */
  /* void onBinaryMessageAvailable (in nsISupports aContext, in ACString aMsg); */
  NS_SCRIPTABLE NS_IMETHOD OnBinaryMessageAvailable(nsISupports *aContext, const nsACString & aMsg) = 0;

  /**
     * Called to acknowledge message sent via sendMsg() or sendBinaryMsg.
     *
     * @param aContext user defined context
     * @param aSize number of bytes placed in OS send buffer
     */
  /* void onAcknowledge (in nsISupports aContext, in PRUint32 aSize); */
  NS_SCRIPTABLE NS_IMETHOD OnAcknowledge(nsISupports *aContext, PRUint32 aSize) = 0;

  /**
     * Called to inform receipt of WebSocket Close message from server.
     * In the case of errors onStop() can be called without ever
     * receiving server close.
     *
     * No additional messages through onMessageAvailable(),
     * onBinaryMessageAvailable() or onAcknowledge() will be delievered
     * to the listener after onServerClose(), though outgoing messages can still
     * be sent through the nsIWebSocketProtocol connection.
     */
  /* void onServerClose (in nsISupports aContext); */
  NS_SCRIPTABLE NS_IMETHOD OnServerClose(nsISupports *aContext) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebSocketListener, NS_IWEBSOCKETLISTENER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBSOCKETLISTENER \
  NS_SCRIPTABLE NS_IMETHOD OnStart(nsISupports *aContext); \
  NS_SCRIPTABLE NS_IMETHOD OnStop(nsISupports *aContext, nsresult aStatusCode); \
  NS_SCRIPTABLE NS_IMETHOD OnMessageAvailable(nsISupports *aContext, const nsACString & aMsg); \
  NS_SCRIPTABLE NS_IMETHOD OnBinaryMessageAvailable(nsISupports *aContext, const nsACString & aMsg); \
  NS_SCRIPTABLE NS_IMETHOD OnAcknowledge(nsISupports *aContext, PRUint32 aSize); \
  NS_SCRIPTABLE NS_IMETHOD OnServerClose(nsISupports *aContext); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBSOCKETLISTENER(_to) \
  NS_SCRIPTABLE NS_IMETHOD OnStart(nsISupports *aContext) { return _to OnStart(aContext); } \
  NS_SCRIPTABLE NS_IMETHOD OnStop(nsISupports *aContext, nsresult aStatusCode) { return _to OnStop(aContext, aStatusCode); } \
  NS_SCRIPTABLE NS_IMETHOD OnMessageAvailable(nsISupports *aContext, const nsACString & aMsg) { return _to OnMessageAvailable(aContext, aMsg); } \
  NS_SCRIPTABLE NS_IMETHOD OnBinaryMessageAvailable(nsISupports *aContext, const nsACString & aMsg) { return _to OnBinaryMessageAvailable(aContext, aMsg); } \
  NS_SCRIPTABLE NS_IMETHOD OnAcknowledge(nsISupports *aContext, PRUint32 aSize) { return _to OnAcknowledge(aContext, aSize); } \
  NS_SCRIPTABLE NS_IMETHOD OnServerClose(nsISupports *aContext) { return _to OnServerClose(aContext); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBSOCKETLISTENER(_to) \
  NS_SCRIPTABLE NS_IMETHOD OnStart(nsISupports *aContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnStart(aContext); } \
  NS_SCRIPTABLE NS_IMETHOD OnStop(nsISupports *aContext, nsresult aStatusCode) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnStop(aContext, aStatusCode); } \
  NS_SCRIPTABLE NS_IMETHOD OnMessageAvailable(nsISupports *aContext, const nsACString & aMsg) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnMessageAvailable(aContext, aMsg); } \
  NS_SCRIPTABLE NS_IMETHOD OnBinaryMessageAvailable(nsISupports *aContext, const nsACString & aMsg) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnBinaryMessageAvailable(aContext, aMsg); } \
  NS_SCRIPTABLE NS_IMETHOD OnAcknowledge(nsISupports *aContext, PRUint32 aSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnAcknowledge(aContext, aSize); } \
  NS_SCRIPTABLE NS_IMETHOD OnServerClose(nsISupports *aContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnServerClose(aContext); } 

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

/* Header file */
class nsWebSocketListener : public nsIWebSocketListener
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIWEBSOCKETLISTENER

  nsWebSocketListener();

private:
  ~nsWebSocketListener();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsWebSocketListener, nsIWebSocketListener)

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

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

/* void onStart (in nsISupports aContext); */
NS_IMETHODIMP nsWebSocketListener::OnStart(nsISupports *aContext)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onStop (in nsISupports aContext, in nsresult aStatusCode); */
NS_IMETHODIMP nsWebSocketListener::OnStop(nsISupports *aContext, nsresult aStatusCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onMessageAvailable (in nsISupports aContext, in AUTF8String aMsg); */
NS_IMETHODIMP nsWebSocketListener::OnMessageAvailable(nsISupports *aContext, const nsACString & aMsg)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onBinaryMessageAvailable (in nsISupports aContext, in ACString aMsg); */
NS_IMETHODIMP nsWebSocketListener::OnBinaryMessageAvailable(nsISupports *aContext, const nsACString & aMsg)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onAcknowledge (in nsISupports aContext, in PRUint32 aSize); */
NS_IMETHODIMP nsWebSocketListener::OnAcknowledge(nsISupports *aContext, PRUint32 aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onServerClose (in nsISupports aContext); */
NS_IMETHODIMP nsWebSocketListener::OnServerClose(nsISupports *aContext)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsIWebSocketProtocol */
#define NS_IWEBSOCKETPROTOCOL_IID_STR "dc01db59-a513-4c90-824b-085cce06c0aa"

#define NS_IWEBSOCKETPROTOCOL_IID \
  {0xdc01db59, 0xa513, 0x4c90, \
    { 0x82, 0x4b, 0x08, 0x5c, 0xce, 0x06, 0xc0, 0xaa }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIWebSocketProtocol : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBSOCKETPROTOCOL_IID)

  /**
     * The original URI used to construct the protocol connection. This is used
     * in the case of a redirect or URI "resolution" (e.g. resolving a
     * resource: URI to a file: URI) so that the original pre-redirect
     * URI can still be obtained.  This is never null.
     */
  /* readonly attribute nsIURI originalURI; */
  NS_SCRIPTABLE NS_IMETHOD GetOriginalURI(nsIURI **aOriginalURI) = 0;

  /**
     * The readonly URI corresponding to the protocol connection after any
     * redirections are completed.
     */
  /* readonly attribute nsIURI URI; */
  NS_SCRIPTABLE NS_IMETHOD GetURI(nsIURI **aURI) = 0;

  /**
     * The notification callbacks for authorization, etc..
     */
  /* attribute nsIInterfaceRequestor notificationCallbacks; */
  NS_SCRIPTABLE NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks) = 0;

  /**
     * Transport-level security information (if any)
     */
  /* readonly attribute nsISupports securityInfo; */
  NS_SCRIPTABLE NS_IMETHOD GetSecurityInfo(nsISupports **aSecurityInfo) = 0;

  /**
     * The load group of the websockets code.
     */
  /* attribute nsILoadGroup loadGroup; */
  NS_SCRIPTABLE NS_IMETHOD GetLoadGroup(nsILoadGroup **aLoadGroup) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetLoadGroup(nsILoadGroup *aLoadGroup) = 0;

  /**
     * Sec-Websocket-Protocol value
     */
  /* attribute ACString protocol; */
  NS_SCRIPTABLE NS_IMETHOD GetProtocol(nsACString & aProtocol) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetProtocol(const nsACString & aProtocol) = 0;

  /**
     * Asynchronously open the websocket connection.  Received messages are fed
     * to the socket listener as they arrive.  The socket listener's methods
     * are called on the thread that calls asyncOpen and are not called until
     * after asyncOpen returns.  If asyncOpen returns successfully, the
     * protocol implementation promises to call at least onStart and onStop of
     * the listener.
     *
     * NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
     * websocket connection is reopened.
     *
     * @param aURI the uri of the websocket protocol - may be redirected
     * @param aOrigin the uri of the originating resource
     * @param aListener the nsIWebSocketListener implementation
     * @param aContext an opaque parameter forwarded to aListener's methods
     */
  /* void asyncOpen (in nsIURI aURI, in ACString aOrigin, in nsIWebSocketListener aListener, in nsISupports aContext); */
  NS_SCRIPTABLE NS_IMETHOD AsyncOpen(nsIURI *aURI, const nsACString & aOrigin, nsIWebSocketListener *aListener, nsISupports *aContext) = 0;

  /* void close (); */
  NS_SCRIPTABLE NS_IMETHOD Close(void) = 0;

  /**
     * Use to send text message down the connection to WebSocket peer.
     *
     * @param aMsg the utf8 string to send
     */
  /* void sendMsg (in AUTF8String aMsg); */
  NS_SCRIPTABLE NS_IMETHOD SendMsg(const nsACString & aMsg) = 0;

  /**
     * Use to send binary message down the connection to WebSocket peer.
     *
     * @param aMsg the data to send
     */
  /* void sendBinaryMsg (in ACString aMsg); */
  NS_SCRIPTABLE NS_IMETHOD SendBinaryMsg(const nsACString & aMsg) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebSocketProtocol, NS_IWEBSOCKETPROTOCOL_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBSOCKETPROTOCOL \
  NS_SCRIPTABLE NS_IMETHOD GetOriginalURI(nsIURI **aOriginalURI); \
  NS_SCRIPTABLE NS_IMETHOD GetURI(nsIURI **aURI); \
  NS_SCRIPTABLE NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks); \
  NS_SCRIPTABLE NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks); \
  NS_SCRIPTABLE NS_IMETHOD GetSecurityInfo(nsISupports **aSecurityInfo); \
  NS_SCRIPTABLE NS_IMETHOD GetLoadGroup(nsILoadGroup **aLoadGroup); \
  NS_SCRIPTABLE NS_IMETHOD SetLoadGroup(nsILoadGroup *aLoadGroup); \
  NS_SCRIPTABLE NS_IMETHOD GetProtocol(nsACString & aProtocol); \
  NS_SCRIPTABLE NS_IMETHOD SetProtocol(const nsACString & aProtocol); \
  NS_SCRIPTABLE NS_IMETHOD AsyncOpen(nsIURI *aURI, const nsACString & aOrigin, nsIWebSocketListener *aListener, nsISupports *aContext); \
  NS_SCRIPTABLE NS_IMETHOD Close(void); \
  NS_SCRIPTABLE NS_IMETHOD SendMsg(const nsACString & aMsg); \
  NS_SCRIPTABLE NS_IMETHOD SendBinaryMsg(const nsACString & aMsg); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBSOCKETPROTOCOL(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetOriginalURI(nsIURI **aOriginalURI) { return _to GetOriginalURI(aOriginalURI); } \
  NS_SCRIPTABLE NS_IMETHOD GetURI(nsIURI **aURI) { return _to GetURI(aURI); } \
  NS_SCRIPTABLE NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks) { return _to GetNotificationCallbacks(aNotificationCallbacks); } \
  NS_SCRIPTABLE NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks) { return _to SetNotificationCallbacks(aNotificationCallbacks); } \
  NS_SCRIPTABLE NS_IMETHOD GetSecurityInfo(nsISupports **aSecurityInfo) { return _to GetSecurityInfo(aSecurityInfo); } \
  NS_SCRIPTABLE NS_IMETHOD GetLoadGroup(nsILoadGroup **aLoadGroup) { return _to GetLoadGroup(aLoadGroup); } \
  NS_SCRIPTABLE NS_IMETHOD SetLoadGroup(nsILoadGroup *aLoadGroup) { return _to SetLoadGroup(aLoadGroup); } \
  NS_SCRIPTABLE NS_IMETHOD GetProtocol(nsACString & aProtocol) { return _to GetProtocol(aProtocol); } \
  NS_SCRIPTABLE NS_IMETHOD SetProtocol(const nsACString & aProtocol) { return _to SetProtocol(aProtocol); } \
  NS_SCRIPTABLE NS_IMETHOD AsyncOpen(nsIURI *aURI, const nsACString & aOrigin, nsIWebSocketListener *aListener, nsISupports *aContext) { return _to AsyncOpen(aURI, aOrigin, aListener, aContext); } \
  NS_SCRIPTABLE NS_IMETHOD Close(void) { return _to Close(); } \
  NS_SCRIPTABLE NS_IMETHOD SendMsg(const nsACString & aMsg) { return _to SendMsg(aMsg); } \
  NS_SCRIPTABLE NS_IMETHOD SendBinaryMsg(const nsACString & aMsg) { return _to SendBinaryMsg(aMsg); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBSOCKETPROTOCOL(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetOriginalURI(nsIURI **aOriginalURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOriginalURI(aOriginalURI); } \
  NS_SCRIPTABLE NS_IMETHOD GetURI(nsIURI **aURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetURI(aURI); } \
  NS_SCRIPTABLE NS_IMETHOD GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNotificationCallbacks(aNotificationCallbacks); } \
  NS_SCRIPTABLE NS_IMETHOD SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNotificationCallbacks(aNotificationCallbacks); } \
  NS_SCRIPTABLE NS_IMETHOD GetSecurityInfo(nsISupports **aSecurityInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSecurityInfo(aSecurityInfo); } \
  NS_SCRIPTABLE NS_IMETHOD GetLoadGroup(nsILoadGroup **aLoadGroup) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadGroup(aLoadGroup); } \
  NS_SCRIPTABLE NS_IMETHOD SetLoadGroup(nsILoadGroup *aLoadGroup) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoadGroup(aLoadGroup); } \
  NS_SCRIPTABLE NS_IMETHOD GetProtocol(nsACString & aProtocol) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProtocol(aProtocol); } \
  NS_SCRIPTABLE NS_IMETHOD SetProtocol(const nsACString & aProtocol) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProtocol(aProtocol); } \
  NS_SCRIPTABLE NS_IMETHOD AsyncOpen(nsIURI *aURI, const nsACString & aOrigin, nsIWebSocketListener *aListener, nsISupports *aContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->AsyncOpen(aURI, aOrigin, aListener, aContext); } \
  NS_SCRIPTABLE NS_IMETHOD Close(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Close(); } \
  NS_SCRIPTABLE NS_IMETHOD SendMsg(const nsACString & aMsg) { return !_to ? NS_ERROR_NULL_POINTER : _to->SendMsg(aMsg); } \
  NS_SCRIPTABLE NS_IMETHOD SendBinaryMsg(const nsACString & aMsg) { return !_to ? NS_ERROR_NULL_POINTER : _to->SendBinaryMsg(aMsg); } 

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

/* Header file */
class nsWebSocketProtocol : public nsIWebSocketProtocol
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIWEBSOCKETPROTOCOL

  nsWebSocketProtocol();

private:
  ~nsWebSocketProtocol();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsWebSocketProtocol, nsIWebSocketProtocol)

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

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

/* readonly attribute nsIURI originalURI; */
NS_IMETHODIMP nsWebSocketProtocol::GetOriginalURI(nsIURI **aOriginalURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIURI URI; */
NS_IMETHODIMP nsWebSocketProtocol::GetURI(nsIURI **aURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIInterfaceRequestor notificationCallbacks; */
NS_IMETHODIMP nsWebSocketProtocol::GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsWebSocketProtocol::SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISupports securityInfo; */
NS_IMETHODIMP nsWebSocketProtocol::GetSecurityInfo(nsISupports **aSecurityInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsILoadGroup loadGroup; */
NS_IMETHODIMP nsWebSocketProtocol::GetLoadGroup(nsILoadGroup **aLoadGroup)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsWebSocketProtocol::SetLoadGroup(nsILoadGroup *aLoadGroup)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString protocol; */
NS_IMETHODIMP nsWebSocketProtocol::GetProtocol(nsACString & aProtocol)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsWebSocketProtocol::SetProtocol(const nsACString & aProtocol)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void asyncOpen (in nsIURI aURI, in ACString aOrigin, in nsIWebSocketListener aListener, in nsISupports aContext); */
NS_IMETHODIMP nsWebSocketProtocol::AsyncOpen(nsIURI *aURI, const nsACString & aOrigin, nsIWebSocketListener *aListener, nsISupports *aContext)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void close (); */
NS_IMETHODIMP nsWebSocketProtocol::Close()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void sendMsg (in AUTF8String aMsg); */
NS_IMETHODIMP nsWebSocketProtocol::SendMsg(const nsACString & aMsg)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void sendBinaryMsg (in ACString aMsg); */
NS_IMETHODIMP nsWebSocketProtocol::SendBinaryMsg(const nsACString & aMsg)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIWebSocketProtocol_h__ */
