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