blob: 62da4b1ae17ae7eba3285d2f8f24afee3929e205 [file]
{
include: [ "sdk/lib/diagnostics/syslog/client.shard.cml" ],
program: {
binary: "bin/session_manager",
},
collections: [
// Holds all the sessions this session_manager will create. Capabilities
// offered to and exposed by sessions should be routed here.
{
name: "session",
durability: "transient",
},
],
capabilities: [
{
protocol: [
"fuchsia.input.injection.InputDeviceRegistry",
"fuchsia.session.ElementManager",
"fuchsia.session.Launcher",
"fuchsia.session.Restarter",
"fuchsia.ui.lifecycle.LifecycleController",
],
},
],
use: [
{ runner: "elf" },
{
// The Realm service allows session_manager to start components.
protocol: "fuchsia.sys2.Realm",
from: "framework",
},
{
protocol: [ "fuchsia.cobalt.LoggerFactory" ],
from: "parent",
},
{ protocol: "fuchsia.ui.lifecycle.LifecycleController" },
{
directory: "component-manager-config-data",
from: "parent",
rights: [ "r*" ],
path: "/config/data",
},
],
offer: [
{
protocol: [
"fuchsia.accessibility.SettingsManager",
"fuchsia.bluetooth.control.Control",
"fuchsia.bluetooth.gatt.Server",
"fuchsia.bluetooth.le.Peripheral",
"fuchsia.castauth.CastKeySigner",
"fuchsia.castconfig.Provider",
"fuchsia.deprecatedtimezone.Timezone",
"fuchsia.device.NameProvider",
"fuchsia.devicesettings.DeviceSettingsManager",
"fuchsia.feedback.CrashReporter",
"fuchsia.feedback.DataProvider",
"fuchsia.hardware.power.statecontrol.Admin",
"fuchsia.hwinfo.Board",
"fuchsia.hwinfo.Device",
"fuchsia.hwinfo.Product",
"fuchsia.intl.PropertyProvider",
"fuchsia.location.namedplace.RegulatoryRegionConfigurator",
"fuchsia.logger.LogSink",
"fuchsia.media.Audio",
"fuchsia.media.audio.VolumeControl",
"fuchsia.media.AudioCore",
"fuchsia.media.sessions2.Discovery",
"fuchsia.media.sessions2.Publisher",
"fuchsia.media.sounds.Player",
"fuchsia.media.UsageReporter",
"fuchsia.net.mdns.Publisher",
"fuchsia.net.mdns.Subscriber",
"fuchsia.net.NameLookup",
"fuchsia.netstack.Netstack",
"fuchsia.posix.socket.Provider",
"fuchsia.settings.Accessibility",
"fuchsia.settings.Audio",
"fuchsia.settings.DoNotDisturb",
"fuchsia.settings.Input",
"fuchsia.settings.Privacy",
"fuchsia.settings.Setup",
"fuchsia.stash.Store",
"fuchsia.sys.Environment",
"fuchsia.sys.Launcher", // so that the session can launch cmx components
"fuchsia.sys2.Realm",
"fuchsia.timezone.Timezone",
"fuchsia.tracing.provider.Registry",
"fuchsia.ui.brightness.Control",
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.input.ImeService",
"fuchsia.ui.input2.Keyboard",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.lifecycle.LifecycleController", // to kill scenic if restarting
"fuchsia.ui.scenic.Scenic", // sessions use Scenic to display images
"fuchsia.ui.shortcut.Manager",
"fuchsia.ui.views.ViewRefInstalled",
"fuchsia.update.channel.Provider",
"fuchsia.update.channelcontrol.ChannelControl",
],
from: "parent",
to: [ "#session" ],
},
// features: build-info
{
directory: "config-build-info",
from: "parent",
to: [ "#session" ],
},
// features: root-ssl-certificates
{
directory: "config-ssl",
from: "parent",
to: [ "#session" ],
rights: [ "r*" ],
},
// features: isolated-persistent-storage
{
directory: "data",
from: "parent",
to: [ "#session" ],
},
// devices
{
directory: "dev-input",
from: "parent",
to: [ "#session" ],
},
{
directory: "dev-input-report",
from: "parent",
to: [ "#session" ],
},
{
directory: "dev-null",
from: "parent",
to: [ "#session" ],
},
{
directory: "dev-zero",
from: "parent",
to: [ "#session" ],
},
// features: config-data
{
directory: "config-data",
from: "parent",
to: [ "#session" ],
},
// features: isolated-temp
{
directory: "tmp",
from: "parent",
to: [ "#session" ],
},
],
expose: [
{
protocol: [
"fuchsia.input.injection.InputDeviceRegistry",
"fuchsia.session.ElementManager",
"fuchsia.session.Launcher",
"fuchsia.session.Restarter",
],
from: "self",
},
],
}