| // Copyright 2017 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. |
| |
| // Definitions for tether API calls. |
| |
| syntax = "proto2"; |
| |
| package chromeos.tether; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| // Types of messages which are sent between tether hosts and tether clients. |
| enum MessageType { |
| UNKNOWN_TYPE = 0; |
| TETHER_AVAILABILITY_REQUEST = 1; |
| TETHER_AVAILABILITY_RESPONSE = 2; |
| CONNECT_TETHERING_REQUEST = 3; |
| CONNECT_TETHERING_RESPONSE = 4; |
| DISCONNECT_TETHERING_REQUEST = 5; |
| KEEP_ALIVE_TICKLE = 6; |
| KEEP_ALIVE_TICKLE_RESPONSE = 7; |
| } |
| |
| // Meant to communicate the host's current Wifi status. This is intended to |
| // allow the client to warn the user that Tether will disconnect the host's |
| // Wi-Fi, if applicable. |
| // Next id: 3 |
| message WifiStatus { |
| enum StatusCode { |
| STATUS_UNKNOWN = 0; |
| CONNECTED = 1; |
| NOT_CONNECTED = 2; |
| } |
| |
| optional StatusCode status_code = 1; |
| |
| // The SSID of the Wifi the host is currently connected to. |
| optional string ssid = 2; |
| } |
| |
| // Contains details about a device (presumably the host). |
| // Next id: 7 |
| message DeviceStatus { |
| // Battery, from 0 to 100; |
| optional int32 battery_percentage = 1; |
| |
| // For example, "Google Fi" or "Verizon". |
| optional string cell_provider = 2; |
| |
| // Number of "bars", from 0 to 4. |
| optional int32 connection_strength = 3; |
| |
| optional WifiStatus wifi_status = 4; |
| |
| // True if Data Saver is on. |
| optional bool is_data_saver_enabled = 5; |
| |
| // True if cellular data is enabled and a connection can be established. |
| optional bool is_cell_data_available = 6; |
| } |
| |
| // Next id: 1 |
| message TetherAvailabilityRequest {} |
| |
| // Next id: 7 |
| message TetherAvailabilityResponse { |
| enum ResponseCode { |
| UNKNOWN_ERROR = 0; |
| TETHER_AVAILABLE = 1; |
| SETUP_NEEDED = 2; |
| NO_RECEPTION = 3; |
| NO_SIM_CARD = 4; |
| NOTIFICATIONS_DISABLED_LEGACY = 5; |
| NOTIFICATIONS_DISABLED_WITH_NOTIFICATION_CHANNEL = 6; |
| LAST_PROVISIONING_FAILED = 7; |
| } |
| |
| optional ResponseCode response_code = 1; |
| optional DeviceStatus device_status = 2; |
| } |
| |
| // Next id: 1 |
| message ConnectTetheringRequest {} |
| |
| // Next id: 8 |
| message ConnectTetheringResponse { |
| enum ResponseCode { |
| UNKNOWN_ERROR = 0; |
| SUCCESS = 1; |
| PROVISIONING_FAILED = 2; |
| TETHERING_TIMEOUT = 3; |
| TETHERING_UNSUPPORTED = 4; |
| NO_CELL_DATA = 5; |
| ENABLING_HOTSPOT_FAILED = 6; |
| ENABLING_HOTSPOT_TIMEOUT = 7; |
| } |
| |
| optional ResponseCode response_code = 1; |
| |
| // SSID for the new hotspot. |
| optional string ssid = 2; |
| |
| // Password for the new hotspot. |
| optional string password = 3; |
| |
| optional DeviceStatus device_status = 4; |
| } |
| |
| // Next id: 1 |
| message KeepAliveTickle {} |
| |
| // Next id: 2 |
| message KeepAliveTickleResponse { |
| optional DeviceStatus device_status = 1; |
| } |
| |
| // Next id: 1 |
| message DisconnectTetheringRequest {} |