michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ michael@0: /* vim:expandtab:shiftwidth=4:tabstop=4: 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: #include "nsIIOService.idl" michael@0: michael@0: /** michael@0: * nsIIOService2 extends nsIIOService michael@0: */ michael@0: [scriptable, uuid(9a7dc724-0b5c-4b78-9722-1037074c02de)] michael@0: interface nsIIOService2 : nsIIOService michael@0: { michael@0: /** michael@0: * While this is set, IOService will monitor an nsINetworkLinkService michael@0: * (if available) and set its offline status to "true" whenever michael@0: * isLinkUp is false. michael@0: * michael@0: * Applications that want to control changes to the IOService's offline michael@0: * status should set this to false, watch for network:link-status-changed michael@0: * broadcasts, and change nsIIOService::offline as they see fit. Note michael@0: * that this means during application startup, IOService may be offline michael@0: * if there is no link, until application code runs and can turn off michael@0: * this management. michael@0: */ michael@0: attribute boolean manageOfflineStatus; michael@0: michael@0: /** michael@0: * Creates a channel for a given URI. michael@0: * michael@0: * @param aURI nsIURI from which to make a channel michael@0: * @param aProxyURI nsIURI to use for proxy resolution. Can be null in which michael@0: * case aURI is used michael@0: * @param aProxyFlags flags from nsIProtocolProxyService to use michael@0: * when resolving proxies for this new channel michael@0: * @return reference to the new nsIChannel object michael@0: */ michael@0: nsIChannel newChannelFromURIWithProxyFlags(in nsIURI aURI, michael@0: in nsIURI aProxyURI, michael@0: in unsigned long aProxyFlags); michael@0: };