|  | // Copyright 2021 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_rust", | 
|  |  | 
|  | // 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] |