// Copyright 2022 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.

// For information on manifest format and features,
// see https://fuchsia.dev/fuchsia-src/concepts/components/component_manifests.

// [START example_snippet]
{
    // [START_EXCLUDE]
    include: [ "syslog/client.shard.cml" ],

    // [START lifecycle_event]
    // Information about the program to run.
    program: {
        // Use the built-in ELF runner.
        runner: "elf",

        // The binary to run for this component.
        binary: "bin/lifecycle_example_cpp",

        // Subscribe to component lifecycle events
        lifecycle: { stop_event: "notify" },
    },

    // [END lifecycle_event]
    // [END_EXCLUDE]

    // Capabilities exposed from this component to parent.
    expose: [
        {
            // Expose this protocol so that parent component can start it
            // by binding to this capability.
            protocol: "fuchsia.component.Binder",
            from: "framework",
        },
    ],
}

// [END example_snippet]
