| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.developer.bridge; |
| using fuchsia.developer.remotecontrol as rc; |
| using fuchsia.device; |
| |
| enum DaemonError { |
| TARGET_CACHE_ERROR = 1; |
| TARGET_STATE_ERROR = 2; |
| RCS_CONNECTION_ERROR = 3; |
| }; |
| |
| [Discoverable] |
| protocol Daemon { |
| /// Returns the input. |
| EchoString(string:256 value) -> (string:256 response); |
| |
| /// Lists targets by nodename. |
| /// TODO(fxb/52798): Use an iterator instead of a limited vector. |
| ListTargets(string:fuchsia.device.DEVICE_NAME_MAX value) -> (vector<Target>:512 response); |
| |
| /// Make the daemon exit. |
| Quit() -> (bool success); |
| |
| /// Gets a remote control proxy for the given target. |
| /// The target param expects an exact match with a target's |
| /// nodename. |
| GetRemoteControl( |
| string:fuchsia.device.DEVICE_NAME_MAX target, |
| request<rc.RemoteControl> remote) -> () error DaemonError; |
| }; |