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 };