// 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.deprecatedtimezone;

using zx;

/// The updated time as returned from [`TimeService::Update`].
struct UpdatedTime {
    zx.time utc_time;
};

/// Interface to allow manual updates of the system time.
[Discoverable]
protocol TimeService {

    /// Requests an immediate update of the time from network,
    /// returing the updated time if successful.
    Update(uint8 num_retries)
        -> (UpdatedTime? new_time);
};
