tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nsITransportProvider.idl (1236B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
      2 /* vim: set sw=4 ts=4 et tw=80 : */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 interface nsIHttpUpgradeListener;
      8 
      9 #include "nsISupports.idl"
     10 
     11 %{C++
     12 namespace mozilla {
     13 namespace net {
     14 class PTransportProviderChild;
     15 }
     16 }
     17 %}
     18 
     19 [ptr] native PTransportProviderChild(mozilla::net::PTransportProviderChild);
     20 
     21 /**
     22 * An interface which can be used to asynchronously request a nsITransport
     23 * together with the input and output streams that go together with it.
     24 */
     25 [scriptable, uuid(6fcec704-cfd2-46ef-a394-a64d5cb1475c)]
     26 interface nsITransportProvider : nsISupports
     27 {
     28    // This must not be called in a child process since transport
     29    // objects are not accessible there. Call getIPCChild instead.
     30    [must_use] void setListener(in nsIHttpUpgradeListener listener);
     31 
     32    // This must be implemented by nsITransportProvider objects running
     33    // in the child process. It must return null when called in the parent
     34    // process.
     35    [noscript, must_use] PTransportProviderChild getIPCChild();
     36 };