summaryrefslogtreecommitdiff
path: root/chromium/components/arc/common/net.mojom
blob: 912fdac97eabc9cbbef0c47e5dbec871797c1633 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// 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<WifiConfiguration> 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();
};