// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module arc; [Extensible] enum NetworkResult { SUCCESS = 0, FAILURE = 1, }; [Extensible] enum GetNetworksRequestType { CONFIGURED_ONLY = 0, VISIBLE_ONLY = 1, }; struct WifiConfiguration { // These correspond to ONC properties returned by // chrome.networkingPrivate.getNetworks(). // See components/onc/docs/onc_spec.html string ssid; int32 frequency; int32 signal_strength; string bssid; string security; [MinVersion=1] string? guid; }; struct NetworkData { NetworkResult status; array networks; }; interface NetHost { // Sends a request to get configured or visible WiFi networks based on the // |configured_only| and |visible_only| flags. GetNetworksDeprecated@0(bool configured_only, bool visible_only) => (NetworkData data); // Sends a request to get enabled / disabled status of WiFi. GetWifiEnabledState@1() => (bool is_enabled); // Sends a request to start scan of WiFi APs. [MinVersion=1] StartScan@2(); // Sends a request to get configured or visible WiFi networks based on the // request type. [MinVersion=2] GetNetworks@3(GetNetworksRequestType type) => (NetworkData data); // Sends a request to enable or disable WiFi. The |result| is true when the // the state has been successfully set or WiFi is already in the desired // state. It is false if WiFi manipulation is prohibited due to a policy or // its current state. [MinVersion=3] SetWifiEnabledState@4(bool is_enabled) => (bool result); }; interface NetInstance { // Establishes full-duplex communication with the host. Init@0(NetHost host_ptr); // Notifies the instance of a WiFI AP scan being completed. [MinVersion=1] ScanCompleted@1(); };