// 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.
@available(added=7)
library fuchsia.update.channel;

/// Information about the state of the update system.
@discoverable
closed protocol Provider {
    /// Retrieve the currently active update channel.
    ///
    /// - response `channel` the currently active update channel.
    strict GetCurrent() -> (struct {
        channel string:128;
    });
};
