xref: /aosp_15_r20/external/pigweed/pw_bluetooth_sapphire/fuchsia/bt_host/meta/bt-host.cml (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1// Copyright 2024 The Pigweed Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License"); you may not
4// use this file except in compliance with the License. You may obtain a copy of
5// the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12// License for the specific language governing permissions and limitations under
13// the License.
14{
15    include: [
16        "inspect/client.shard.cml",
17        "syslog/client.shard.cml",
18    ],
19    program: {
20        // Use the built-in ELF runner.
21        runner: "elf",
22
23        // The binary to run for this component.
24        binary: "bin/bt_host",
25
26        // Subscribe to component lifecycle events
27        lifecycle: { stop_event: "notify" },
28
29        // Enable stdout logging
30        forward_stderr_to: "log",
31        forward_stdout_to: "log",
32    },
33    use: [
34        {
35            // If the flag is true, then we have the option of using legacy pairing. This will only
36            // occur if the peer does NOT support SSP. If the flag is false and the peer does not
37            // support SSP, pairing will fail. If the peer supports SSP, then SSP will be used
38            // regardless of what value this flag is set to.
39            config: "fuchsia.bluetooth.LegacyPairing",
40            key: "legacy_pairing_enabled",
41            type: "bool",
42        },
43        {
44            directory: "dev-bt-hci",
45            rights: [ "r*" ],
46            path: "/dev/class/bt-hci",
47        },
48        {
49            protocol: [ "fuchsia.bluetooth.host.Receiver" ],
50        },
51    ],
52    config: {
53        device_path: {
54            type: "string",
55            max_size: 512,
56            mutability: [ "parent" ],
57        },
58    },
59}
60