blob: 1014da51809107cfea9ac7e2cc6309fe3448a93b [file] [log] [blame]
// Copyright 2020 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.weave;
using fuchsia.mem as mem;
using zx;
/// Protocol to allow components to provide initial configuration data derived from
/// an existing Weave implementation to ensure continuity of the Weave fabric and
/// other Weave settings or configuration data.
@discoverable
closed protocol Bootstrap {
/// Import a JSON-formatted Weave config providing data in the format
/// expected to satisfy the Weave DeviceLayer
/// [ConfigurationManager](https://github.com/openweave/openweave-core/blob/master/src/adaptations/device-layer/include/Weave/DeviceLayer/ConfigurationManager.h).
///
/// Configuration is guaranteed to have been persisted upon successful
/// completion of this call.
strict ImportWeaveConfig(resource struct {
config_json mem.Buffer;
}) -> () error zx.Status;
};