blob: 1b24b7d8e2b23e2127ea4d0686cff5b419a8ec85 [file] [log] [blame]
// 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.remotecontrol;
using fuchsia.diagnostics as diagnostics;
using fuchsia.url;
using fuchsia.test as test;
using fuchsia.test.manager as test_manager;
using zx;
const uint16 MAX_NUM_MATCHES = 250;
const uint16 MAX_CONNECT_MATCHES = 5;
enum RebootType {
// Standard reboot.
REBOOT = 1;
// Reboots into recovery mode.
RECOVERY = 2;
// Reboots into the bootloader.
BOOTLOADER = 3;
};
[Discoverable]
protocol RemoteControl {
IdentifyHost() -> (IdentifyHostResponse response) error IdentifyHostError;
// Enumerate the test cases available in a test suite.
LaunchSuite(
fuchsia.url.Url test_url,
request<test.Suite> suite,
request<test_manager.SuiteController> controller) -> ()
error test_manager.LaunchError;
// Connects a channel to a service, given a selector and a channel iff the selector
// matches exactly one service on the system.
// If successful, returns information about the service connected to.
Connect(
diagnostics.Selector selector,
zx.handle:CHANNEL service_chan) -> (ServiceMatch match)
error ConnectError;
Select(diagnostics.Selector selector)
-> (vector<ServiceMatch>:MAX_NUM_MATCHES matches)
error SelectError;
};