blob: 0e6229fcbeffa85ca5c26af7f031508139a56a30 [file]
{
include: [ "sdk/lib/diagnostics/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.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.logger.LogSink",
"fuchsia.sys.Launcher",
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.input.ImeService",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.shortcut.Manager",
"fuchsia.ui.views.ViewRefInstalled",
],
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.element.Manager",
"fuchsia.input.injection.InputDeviceRegistry",
"fuchsia.session.ElementManager",
"fuchsia.session.Launcher",
"fuchsia.session.Restarter",
"fuchsia.sessionmanager.Startup",
],
from: "self",
},
],
}