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

/// Standard error codes for component framework protocols.
enum Error {
    /// Component manager encountered an otherwise unspecified error while
    /// performing the operation.
    INTERNAL = 1;
    /// At least one argument had an invalid format.
    INVALID_ARGUMENTS = 2;
    /// The feature is not yet supported.
    UNSUPPORTED = 3;
    /// The component instance was not found.
    INSTANCE_NOT_FOUND = 4;
    /// The component instance already exists.
    INSTANCE_ALREADY_EXISTS = 5;
    /// The component instance could not be started.
    INSTANCE_CANNOT_START = 6;
    /// Failed to resolve the component's declaration.
    INSTANCE_CANNOT_RESOLVE = 7;
    /// The component collection was not found.
    COLLECTION_NOT_FOUND = 8;
    /// There was insufficient space to perform the operation.
    NO_SPACE = 9;
};
