1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include
"nsISupports.idl"
7 [scriptable
, builtinclass
, uuid(2693457e-3ba5
-4455-991f
-5350946adb12
)]
8 interface nsINetworkConnectivityService
: nsISupports
11 * Each tested feature may be in one of 3 states:
12 * UNKNOWN, if a check hasn't been performed.
13 * OK, if the feature was successfully tested
14 * NOT_AVAILABLE, if the feature is blocked by the network.
15 * Note that the endpoints are guaranteed to support the features.
17 cenum ConnectivityState
: 32 {
23 /* If DNS v4/v6 queries actually work on the current network */
25 readonly attribute nsINetworkConnectivityService_ConnectivityState DNSv4
;
27 readonly attribute nsINetworkConnectivityService_ConnectivityState DNSv6
;
29 /* If connecting to IPv4/v6 works on the current network */
31 readonly attribute nsINetworkConnectivityService_ConnectivityState IPv4
;
33 readonly attribute nsINetworkConnectivityService_ConnectivityState IPv6
;
35 /* If a NAT64 gateway was detected on the current network */
37 readonly attribute nsINetworkConnectivityService_ConnectivityState NAT64
;
39 /* Starts the DNS request to check for DNS v4/v6 availability */
42 /* Starts HTTP requests over IPv4 and IPv6, and checks if they work */
43 void recheckIPConnectivity
();