blob: 1620d78d42828839fe0fabd799d7e0d5854e62d2 [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.migration;
using fuchsia.io;
enum MigrationStatus {
UNKNOWN = 1;
IN_PROGRESS = 2;
COMPLETE = 3;
ENCOUNTERED_ERROR = 4;
};
/// Table for state of migration operations.
table MigrationState {
1: MigrationStatus status;
2: uint8 progress_percentage;
};
protocol Provider {
Get(request<fuchsia.io.Directory> dir);
Processed();
};
[Discoverable]
protocol CastProvider {
compose Provider;
};
[Discoverable]
protocol KronkProvider {
compose Provider;
};
[Discoverable]
protocol DisplayProvider {
compose Provider;
};
[Discoverable]
protocol UltrasoundProvider {
compose Provider;
};
/// Protocol to watch for changes when a migration of system data is started.
[Discoverable]
protocol State {
/// Hanging get. Will return immediatedly on first call per connection
/// and then on change after that.
Watch() -> (MigrationState state);
};