mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-04 07:40:42 +00:00
138 lines
3.7 KiB
Plaintext
138 lines
3.7 KiB
Plaintext
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
[scriptable, function, uuid(2a3ad56c-edc0-439f-8aae-900b331ddf49)]
|
|
interface nsIEthernetManagerCallback : nsISupports
|
|
{
|
|
/**
|
|
* Callback function used to report the success of different operations.
|
|
*
|
|
* @param success
|
|
* Boolean value indicates the success of an operation.
|
|
* @prarm message
|
|
* Message reported in the end of operation.
|
|
*/
|
|
void notify(in boolean success, in DOMString message);
|
|
};
|
|
|
|
[scriptable, function, uuid(1746e7dd-92d4-43fa-8ef4-bc13d0b60353)]
|
|
interface nsIEthernetManagerScanCallback : nsISupports
|
|
{
|
|
/**
|
|
* Callback function used to report the result of scan function.
|
|
*
|
|
* @param list
|
|
* List of available ethernet interfaces.
|
|
*/
|
|
void notify(in jsval list);
|
|
};
|
|
|
|
/**
|
|
* An internal idl provides control to ethernet interfaces.
|
|
*/
|
|
[scriptable, uuid(81750c87-bb3b-4724-b955-834eafa53fd1)]
|
|
interface nsIEthernetManager : nsISupports
|
|
{
|
|
/**
|
|
* List of exisiting interface name.
|
|
*/
|
|
readonly attribute jsval interfaceList;
|
|
|
|
/**
|
|
* Scan available ethernet interfaces on device.
|
|
*
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void scan(in nsIEthernetManagerScanCallback callback);
|
|
|
|
/**
|
|
* Add a new interface to the interface list.
|
|
*
|
|
* @param ifname
|
|
* Interface name. Should be the form of "eth*".
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void addInterface(in DOMString ifname,
|
|
in nsIEthernetManagerCallback callback);
|
|
|
|
/**
|
|
* Remove an existing interface from the interface list.
|
|
*
|
|
* @param ifname
|
|
* Interface name.
|
|
* @param Callback
|
|
* Callback function.
|
|
*/
|
|
void removeInterface(in DOMString ifname,
|
|
in nsIEthernetManagerCallback callback);
|
|
|
|
/**
|
|
* Update a conifg of an existing interface in the interface list.
|
|
*
|
|
* @param ifname
|
|
* Interface name.
|
|
* @param config
|
|
* .ip: IP address.
|
|
* .prefixLength: Mask length.
|
|
* .gateway: Gateway.
|
|
* .dnses: DNS addresses.
|
|
* .httpProxyHost: HTTP proxy host.
|
|
* .httpProxyPort: HTTP proxy port.
|
|
* .ipMode: IP mode, can be 'dhcp' or 'static'.
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void updateInterfaceConfig(in DOMString ifname,
|
|
in jsval config,
|
|
in nsIEthernetManagerCallback callback);
|
|
|
|
/**
|
|
* Enable networking of an existing interface in the interface list.
|
|
*
|
|
* @param ifname
|
|
* Interface name.
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void enable(in DOMString ifname,
|
|
in nsIEthernetManagerCallback callback);
|
|
|
|
/**
|
|
* Disable networking of an existing interface in the interface list.
|
|
*
|
|
* @param ifname
|
|
* Interface name.
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void disable(in DOMString ifname,
|
|
in nsIEthernetManagerCallback callback);
|
|
|
|
/**
|
|
* Make an existing interface connect to network.
|
|
*
|
|
* @param ifname
|
|
* Interface name.
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void connect(in DOMString ifname,
|
|
in nsIEthernetManagerCallback callback);
|
|
|
|
/**
|
|
* Disconnect a connected interface in the interface list.
|
|
*
|
|
* @param ifname
|
|
* Interface name.
|
|
* @param callback
|
|
* Callback function.
|
|
*/
|
|
void disconnect(in DOMString ifname,
|
|
in nsIEthernetManagerCallback callback);
|
|
};
|