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 file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsINetworkManager.idl" michael@0: #include "nsISupports.idl" michael@0: michael@0: [scriptable, uuid(b44d74db-c9d6-41dd-98ae-a56918d6e6ad)] michael@0: interface nsINetworkInterfaceList : nsISupports michael@0: { michael@0: /** michael@0: * Number of the network interfaces that is available. michael@0: */ michael@0: long getNumberOfInterface(); michael@0: michael@0: /** michael@0: * Get the i-th interface from the list. michael@0: * @param interfaceIndex index of interface, from 0 to number of interface - 1. michael@0: */ michael@0: nsINetworkInterface getInterface(in long interfaceIndex); michael@0: }; michael@0: michael@0: [scriptable, uuid(ee0e7cd7-1baa-44fd-86cb-f70acb549163)] michael@0: interface nsINetworkInterfaceListService : nsISupports michael@0: { michael@0: const long LIST_NOT_INCLUDE_MMS_INTERFACES = (1 << 0); michael@0: const long LIST_NOT_INCLUDE_SUPL_INTERFACES = (1 << 1); michael@0: const long LIST_NOT_INCLUDE_IMS_INTERFACES = (1 << 2); michael@0: const long LIST_NOT_INCLUDE_DUN_INTERFACES = (1 << 3); michael@0: michael@0: /** michael@0: * Obtain a list of network interfaces that satisfy the specified condition. michael@0: * @param condition flags that specify the interfaces to be returned. This michael@0: * can be OR combination of LIST_* flags, or zero to make all available michael@0: * interfaces returned. michael@0: */ michael@0: nsINetworkInterfaceList getDataInterfaceList(in long condition); michael@0: };