// Copyright 2021 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. syntax = "proto2"; option optimize_for = LITE_RUNTIME; package remoting.protocol; // Composite message type for messages sent over the url-forwarder-control data // channel. // Next ID: 5 message UrlForwarderControl { // Message sent by the client requesting the host for the current // configuration state. The host will respond with a QueryConfigStateResponse. // Next ID: 1 message QueryConfigStateRequest {} // Message sent by the host reporting the current configuration state. // Next ID: 2 message QueryConfigStateResponse { // Indicates whether the URL forwarder has been properly set up. optional bool is_url_forwarder_set_up = 1; } // Message sent by the client requesting the host to set up the URL forwarder. // The host will respond with one or more SetUpUrlForwarderResponse(s). // Next ID: 1 message SetUpUrlForwarderRequest {} // Message sent by the host reporting the current state of the URL forwarder // setup process. // Next ID: 2 message SetUpUrlForwarderResponse { // Next ID: 4 enum State { UNSPECIFIED_STATE = 0; // The setup process has been completed successfully. COMPLETE = 1; // The setup process has failed. FAILED = 2; // The setup process requires user intervention. The host will send // another SetUpUrlForwarderResponse once the setup process becomes // completed or failed. USER_INTERVENTION_REQUIRED = 3; } optional State state = 1; } oneof message { QueryConfigStateRequest query_config_state_request = 1; QueryConfigStateResponse query_config_state_response = 2; SetUpUrlForwarderRequest set_up_url_forwarder_request = 3; SetUpUrlForwarderResponse set_up_url_forwarder_response = 4; } }