| // 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); |
| }; |