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 : */ 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: #ifndef mozilla_net_NeckoChild_h michael@0: #define mozilla_net_NeckoChild_h michael@0: michael@0: #include "mozilla/net/PNeckoChild.h" michael@0: #include "mozilla/net/NeckoCommon.h" michael@0: michael@0: namespace mozilla { michael@0: namespace net { michael@0: michael@0: // Header file contents michael@0: class NeckoChild : michael@0: public PNeckoChild michael@0: { michael@0: public: michael@0: NeckoChild(); michael@0: virtual ~NeckoChild(); michael@0: michael@0: static void InitNeckoChild(); michael@0: static void DestroyNeckoChild(); michael@0: michael@0: protected: michael@0: virtual PHttpChannelChild* michael@0: AllocPHttpChannelChild(PBrowserChild*, const SerializedLoadContext&, michael@0: const HttpChannelCreationArgs& aOpenArgs) MOZ_OVERRIDE; michael@0: virtual bool DeallocPHttpChannelChild(PHttpChannelChild*) MOZ_OVERRIDE; michael@0: virtual PCookieServiceChild* AllocPCookieServiceChild() MOZ_OVERRIDE; michael@0: virtual bool DeallocPCookieServiceChild(PCookieServiceChild*) MOZ_OVERRIDE; michael@0: virtual PWyciwygChannelChild* AllocPWyciwygChannelChild() MOZ_OVERRIDE; michael@0: virtual bool DeallocPWyciwygChannelChild(PWyciwygChannelChild*) MOZ_OVERRIDE; michael@0: virtual PFTPChannelChild* michael@0: AllocPFTPChannelChild(PBrowserChild* aBrowser, michael@0: const SerializedLoadContext& aSerialized, michael@0: const FTPChannelCreationArgs& aOpenArgs) MOZ_OVERRIDE; michael@0: virtual bool DeallocPFTPChannelChild(PFTPChannelChild*) MOZ_OVERRIDE; michael@0: virtual PWebSocketChild* michael@0: AllocPWebSocketChild(PBrowserChild*, const SerializedLoadContext&) MOZ_OVERRIDE; michael@0: virtual bool DeallocPWebSocketChild(PWebSocketChild*) MOZ_OVERRIDE; michael@0: virtual PTCPSocketChild* AllocPTCPSocketChild() MOZ_OVERRIDE; michael@0: virtual bool DeallocPTCPSocketChild(PTCPSocketChild*) MOZ_OVERRIDE; michael@0: virtual PTCPServerSocketChild* michael@0: AllocPTCPServerSocketChild(const uint16_t& aLocalPort, michael@0: const uint16_t& aBacklog, michael@0: const nsString& aBinaryType) MOZ_OVERRIDE; michael@0: virtual bool DeallocPTCPServerSocketChild(PTCPServerSocketChild*) MOZ_OVERRIDE; michael@0: virtual PUDPSocketChild* AllocPUDPSocketChild(const nsCString& aHost, michael@0: const uint16_t& aPort, michael@0: const nsCString& aFilter) MOZ_OVERRIDE; michael@0: virtual bool DeallocPUDPSocketChild(PUDPSocketChild*) MOZ_OVERRIDE; michael@0: virtual PDNSRequestChild* AllocPDNSRequestChild(const nsCString& aHost, michael@0: const uint32_t& aFlags) MOZ_OVERRIDE; michael@0: virtual bool DeallocPDNSRequestChild(PDNSRequestChild*) MOZ_OVERRIDE; michael@0: virtual PRemoteOpenFileChild* michael@0: AllocPRemoteOpenFileChild(const URIParams&, michael@0: const OptionalURIParams&) MOZ_OVERRIDE; michael@0: virtual bool DeallocPRemoteOpenFileChild(PRemoteOpenFileChild*) MOZ_OVERRIDE; michael@0: virtual PRtspControllerChild* AllocPRtspControllerChild() MOZ_OVERRIDE; michael@0: virtual bool DeallocPRtspControllerChild(PRtspControllerChild*) MOZ_OVERRIDE; michael@0: virtual PRtspChannelChild* michael@0: AllocPRtspChannelChild(const RtspChannelConnectArgs& aArgs) michael@0: MOZ_OVERRIDE; michael@0: virtual bool DeallocPRtspChannelChild(PRtspChannelChild*) MOZ_OVERRIDE; michael@0: virtual PChannelDiverterChild* michael@0: AllocPChannelDiverterChild(const ChannelDiverterArgs& channel) MOZ_OVERRIDE; michael@0: virtual bool michael@0: DeallocPChannelDiverterChild(PChannelDiverterChild* actor) MOZ_OVERRIDE; michael@0: }; michael@0: michael@0: /** michael@0: * Reference to the PNecko Child protocol. michael@0: * Null if this is not a content process. michael@0: */ michael@0: extern PNeckoChild *gNeckoChild; michael@0: michael@0: } // namespace net michael@0: } // namespace mozilla michael@0: michael@0: #endif // mozilla_net_NeckoChild_h