michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */ michael@0: michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PNecko; michael@0: include protocol PBrowser; michael@0: include InputStreamParams; michael@0: include URIParams; michael@0: michael@0: include protocol PBlob; //FIXME: bug #792908 michael@0: michael@0: using class IPC::SerializedLoadContext from "SerializedLoadContext.h"; michael@0: michael@0: namespace mozilla { michael@0: namespace net { michael@0: michael@0: async protocol PWebSocket michael@0: { michael@0: manager PNecko; michael@0: michael@0: parent: michael@0: // Forwarded methods corresponding to methods on nsIWebSocketChannel michael@0: AsyncOpen(URIParams aURI, michael@0: nsCString aOrigin, michael@0: nsCString aProtocol, michael@0: bool aSecure, michael@0: // ping values only meaningful if client set them michael@0: uint32_t aPingInterval, michael@0: bool aClientSetPingInterval, michael@0: uint32_t aPingTimeout, michael@0: bool aClientSetPingTimeout); michael@0: Close(uint16_t code, nsCString reason); michael@0: SendMsg(nsCString aMsg); michael@0: SendBinaryMsg(nsCString aMsg); michael@0: SendBinaryStream(InputStreamParams aStream, uint32_t aLength); michael@0: michael@0: DeleteSelf(); michael@0: michael@0: child: michael@0: // Forwarded notifications corresponding to the nsIWebSocketListener interface michael@0: OnStart(nsCString aProtocol, nsCString aExtensions); michael@0: OnStop(nsresult aStatusCode); michael@0: OnMessageAvailable(nsCString aMsg); michael@0: OnBinaryMessageAvailable(nsCString aMsg); michael@0: OnAcknowledge(uint32_t aSize); michael@0: OnServerClose(uint16_t code, nsCString aReason); michael@0: michael@0: __delete__(); michael@0: michael@0: }; michael@0: michael@0: } //namespace net michael@0: } //namespace mozilla