gecko/netwerk/ipc/PNecko.ipdl

114 lines
3.5 KiB
Plaintext
Raw Normal View History

2009-08-18 12:05:15 -07:00
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
2012-05-21 04:12:37 -07:00
/* 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/. */
2009-08-18 12:05:15 -07:00
include protocol PContent;
include protocol PHttpChannel;
include protocol PCookieService;
include protocol PBrowser;
include protocol PWyciwygChannel;
include protocol PFTPChannel;
include protocol PWebSocket;
include protocol PTCPSocket;
include protocol PTCPServerSocket;
include protocol PUDPSocket;
include protocol PRemoteOpenFile;
include protocol PDNSRequest;
include protocol PChannelDiverter;
include protocol PBlob; //FIXME: bug #792908
include protocol PFileDescriptorSet;
include protocol PRtspController;
include protocol PRtspChannel;
include URIParams;
include InputStreamParams;
include NeckoChannelParams;
2009-08-18 12:05:15 -07:00
using class IPC::SerializedLoadContext from "SerializedLoadContext.h";
2009-08-18 12:05:15 -07:00
namespace mozilla {
namespace net {
union PBrowserOrId {
nullable PBrowser;
uint64_t;
};
2009-08-18 12:05:15 -07:00
//-------------------------------------------------------------------
sync protocol PNecko
2009-08-18 12:05:15 -07:00
{
manager PContent;
2009-08-18 12:05:15 -07:00
manages PHttpChannel;
manages PCookieService;
manages PWyciwygChannel;
manages PFTPChannel;
manages PWebSocket;
manages PTCPSocket;
manages PTCPServerSocket;
manages PUDPSocket;
manages PDNSRequest;
manages PRemoteOpenFile;
manages PRtspController;
manages PRtspChannel;
manages PChannelDiverter;
2009-08-18 12:05:15 -07:00
parent:
__delete__();
PCookieService();
PHttpChannel(PBrowserOrId browser,
SerializedLoadContext loadContext,
HttpChannelCreationArgs args);
PWyciwygChannel();
PFTPChannel(PBrowserOrId browser, SerializedLoadContext loadContext,
FTPChannelCreationArgs args);
PWebSocket(PBrowserOrId browser, SerializedLoadContext loadContext);
PTCPServerSocket(uint16_t localPort, uint16_t backlog, nsString binaryType);
PUDPSocket(nsCString host, uint16_t port, nsCString filter);
PDNSRequest(nsCString hostName, uint32_t flags);
PRemoteOpenFile(SerializedLoadContext loadContext,
URIParams fileuri,
OptionalURIParams appuri);
HTMLDNSPrefetch(nsString hostname, uint16_t flags);
CancelHTMLDNSPrefetch(nsString hostname, uint16_t flags, nsresult reason);
PRtspController();
PRtspChannel(RtspChannelConnectArgs args);
PChannelDiverter(ChannelDiverterArgs channel);
/**
* These are called from the child with the results of the auth prompt.
* callbackId is the id that was passed in PBrowser::AsyncAuthPrompt,
* corresponding to an nsIAuthPromptCallback
*/
OnAuthAvailable(uint64_t callbackId, nsString user,
nsString password, nsString domain);
OnAuthCancelled(uint64_t callbackId, bool userCancel);
child:
/*
* Bring up the http auth prompt for a nested remote mozbrowser.
* NestedFrameId is the id corresponding to the PBrowser. It is the same id
* that was passed to the PBrowserOrId param in to the PHttpChannel constructor
*/
AsyncAuthPromptForNestedFrame(uint64_t nestedFrameId, nsCString uri,
nsString realm, uint64_t callbackId);
both:
// Actually we need PTCPSocket() for parent. But ipdl disallows us having different
// signatures on parent and child. So when constructing the parent side object, we just
// leave host/port unused.
PTCPSocket(nsString host, uint16_t port);
2009-08-18 12:05:15 -07:00
};
} // namespace net
} // namespace mozilla