| { |
| 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", |
| }, |
| ], |
| } |