blob: 4649802c3ace01a51a1687e125c8cd8415c4f0f9 [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.
type UpdateEffectError = strict enum {
const MAX_EFFECT_NAME_LENGTH uint32 = 128;
protocol EffectsController {
/// Sends the `config` message to an audio effect named `effect_name`. If the
/// server closes the `EffectsController` connection for any reason, that
/// indicates that the effects have been reset and any state associated with
/// previous `UpdateEffect` messages have been lost. Clients who wish to re-apply
/// state should respond by reconnecting and resending any needed `UpdateEffect`
/// messages. If a client closes the connection, no state will be lost but the
/// client will also be unable to determine if and when any state associated with
/// previous messages have been lost.
/// Returns success (empty response) if the message was accepted by an
/// effect named `effect_name`.
/// Returns `UpdateEffectError.INVALID_CONFIG` if an effect with the name
/// `effect_name` was found, but the `config` message was rejected.
/// Returns `UpdateEffectError.NOT_FOUND` if no effect with name `effect_name`
/// could be located.
UpdateEffect(struct {
effect_name string:MAX_EFFECT_NAME_LENGTH;
config string:MAX;
}) -> (struct {}) error UpdateEffectError;