blob: 1a42bdd694863f24153d7c240b05fb098963eacb [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
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.
ImportWeaveConfig(resource struct {
config_json mem.Buffer;
}) -> (struct {}) error zx.status;
};