michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim:set ts=2 sw=2 sts=2 et cindent: */ 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: #include "nsISupports.idl" michael@0: michael@0: interface nsIChannel; michael@0: interface nsIProxyInfo; michael@0: interface nsICancelable; michael@0: michael@0: /** michael@0: * This interface serves as a closure for nsIProtocolProxyService's michael@0: * asyncResolve method. michael@0: */ michael@0: [scriptable, uuid(fbb6eff6-0cc2-4d99-8d6f-0a12b462bdeb)] michael@0: interface nsIProtocolProxyCallback : nsISupports michael@0: { michael@0: /** michael@0: * This method is called when proxy info is available or when an error michael@0: * in the proxy resolution occurs. michael@0: * michael@0: * @param aRequest michael@0: * The value returned from asyncResolve. michael@0: * @param aChannel michael@0: * The channel passed to asyncResolve. michael@0: * @param aProxyInfo michael@0: * The resulting proxy info or null if there is no associated proxy michael@0: * info for aURI. As with the result of nsIProtocolProxyService's michael@0: * resolve method, a null result implies that a direct connection michael@0: * should be used. michael@0: * @param aStatus michael@0: * The status of the callback. This is a failure code if the request michael@0: * could not be satisfied, in which case the value of aStatus michael@0: * indicates the reason for the failure and aProxyInfo will be null. michael@0: */ michael@0: void onProxyAvailable(in nsICancelable aRequest, michael@0: in nsIChannel aChannel, michael@0: in nsIProxyInfo aProxyInfo, michael@0: in nsresult aStatus); michael@0: };