| { |
| include: [ "syslog/client.shard.cml" ], |
| program: { |
| runner: "elf", |
| 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.element.Manager", |
| "fuchsia.input.injection.InputDeviceRegistry", |
| "fuchsia.session.ElementManager", |
| "fuchsia.session.Launcher", |
| "fuchsia.session.Restarter", |
| "fuchsia.sessionmanager.Startup", |
| "fuchsia.ui.accessibility.view.Registry", |
| "fuchsia.ui.lifecycle.LifecycleController", |
| ], |
| }, |
| ], |
| use: [ |
| { |
| // 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: "config-data", |
| from: "parent", |
| rights: [ "r*" ], |
| path: "/config/data", |
| }, |
| ], |
| offer: [ |
| { |
| protocol: [ |
| "fuchsia.cobalt.LoggerFactory", |
| "fuchsia.deprecatedtimezone.Timezone", |
| "fuchsia.feedback.CrashReporter", |
| "fuchsia.hardware.power.statecontrol.Admin", |
| "fuchsia.intl.PropertyProvider", |
| "fuchsia.logger.LogSink", |
| "fuchsia.posix.socket.Provider", |
| "fuchsia.sys.Launcher", |
| "fuchsia.tracing.provider.Registry", |
| "fuchsia.ui.focus.FocusChainListenerRegistry", |
| "fuchsia.ui.input.ImeService", |
| "fuchsia.ui.input3.Keyboard", |
| "fuchsia.ui.input3.KeyEventInjector", |
| "fuchsia.ui.keyboard.focus.Controller", |
| "fuchsia.ui.pointerinjector.Registry", |
| "fuchsia.ui.policy.Presenter", |
| "fuchsia.ui.scenic.Scenic", |
| "fuchsia.ui.shortcut.Manager", |
| "fuchsia.ui.views.ViewRefInstalled", |
| ], |
| from: "parent", |
| to: "#session", |
| }, |
| { |
| storage: "cache", |
| from: "parent", |
| to: "#session", |
| }, |
| { |
| storage: "data", |
| from: "parent", |
| to: "#session", |
| }, |
| { |
| storage: "tmp", |
| from: "parent", |
| to: "#session", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#session", |
| }, |
| { |
| directory: "dev-input-report", |
| from: "parent", |
| to: "#session", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ |
| "fuchsia.element.Manager", |
| "fuchsia.input.injection.InputDeviceRegistry", |
| "fuchsia.session.ElementManager", |
| "fuchsia.session.Launcher", |
| "fuchsia.session.Restarter", |
| "fuchsia.sessionmanager.Startup", |
| "fuchsia.ui.accessibility.view.Registry", |
| ], |
| from: "self", |
| }, |
| ], |
| } |