blob: 7c27bb0b8dcd8230a3ab364b66317a33542a6e16 [file] [log] [blame]
{
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",
},
],
use: [
{ runner: "elf" },
{
// The Realm service allows session_manager to start components.
protocol: "/svc/fuchsia.sys2.Realm",
from: "framework",
},
{
protocol: [
"/svc/fuchsia.cobalt.LoggerFactory",
"/svc/fuchsia.logger.LogSink",
],
from: "realm",
},
{
directory: "/config/data",
from: "realm",
rights: [ "r*" ],
},
],
offer: [
{
protocol: [
"/svc/fuchsia.accessibility.SettingsManager",
"/svc/fuchsia.bluetooth.control.Control",
"/svc/fuchsia.bluetooth.gatt.Server",
"/svc/fuchsia.bluetooth.le.Peripheral",
"/svc/fuchsia.castauth.CastKeySigner",
"/svc/fuchsia.castconfig.Provider",
"/svc/fuchsia.deprecatedtimezone.Timezone",
"/svc/fuchsia.device.manager.Administrator",
"/svc/fuchsia.device.NameProvider",
"/svc/fuchsia.devicesettings.DeviceSettingsManager",
"/svc/fuchsia.feedback.CrashReporter",
"/svc/fuchsia.feedback.DataProvider",
"/svc/fuchsia.hardware.power.statecontrol.Admin",
"/svc/fuchsia.hwinfo.Board",
"/svc/fuchsia.hwinfo.Device",
"/svc/fuchsia.hwinfo.Product",
"/svc/fuchsia.intl.PropertyProvider",
"/svc/fuchsia.location.namedplace.RegulatoryRegionConfigurator",
"/svc/fuchsia.logger.LogSink",
"/svc/fuchsia.media.Audio",
"/svc/fuchsia.media.audio.VolumeControl",
"/svc/fuchsia.media.AudioCore",
"/svc/fuchsia.media.sessions2.Discovery",
"/svc/fuchsia.media.sessions2.Publisher",
"/svc/fuchsia.media.sounds.Player",
"/svc/fuchsia.media.UsageReporter",
"/svc/fuchsia.net.Connectivity",
"/svc/fuchsia.net.mdns.Publisher",
"/svc/fuchsia.net.mdns.Subscriber",
"/svc/fuchsia.net.NameLookup",
"/svc/fuchsia.netstack.Netstack",
"/svc/fuchsia.posix.socket.Provider",
"/svc/fuchsia.settings.Accessibility",
"/svc/fuchsia.settings.Audio",
"/svc/fuchsia.settings.DoNotDisturb",
"/svc/fuchsia.settings.Privacy",
"/svc/fuchsia.settings.Setup",
"/svc/fuchsia.stash.Store",
"/svc/fuchsia.sys.Environment",
"/svc/fuchsia.sys.Launcher", // so that the session can launch cmx components
"/svc/fuchsia.sys2.Realm",
"/svc/fuchsia.timezone.Timezone",
"/svc/fuchsia.tracing.provider.Registry",
"/svc/fuchsia.ui.brightness.Control",
"/svc/fuchsia.ui.focus.FocusChainListenerRegistry",
"/svc/fuchsia.ui.input.ImeService",
"/svc/fuchsia.ui.input2.Keyboard",
"/svc/fuchsia.ui.lifecycle.LifecycleController", // to kill scenic if restarting
"/svc/fuchsia.ui.scenic.Scenic", // sessions use Scenic to display images
"/svc/fuchsia.ui.shortcut.Manager",
"/svc/fuchsia.update.channel.Provider",
"/svc/fuchsia.update.channelcontrol.ChannelControl",
"/svc/fuchsia.wlan.service.Wlan",
],
from: "realm",
to: [ "#session" ],
},
{
// features: build-info
directory: "/config/build-info",
from: "realm",
to: [ "#session" ],
rights: [ "r*" ],
},
{
// features: root-ssl-certificates
directory: "/config/ssl",
from: "realm",
to: [ "#session" ],
rights: [ "r*" ],
},
{
// features: isolated-persistent-storage
directory: "/data",
from: "realm",
to: [ "#session" ],
rights: [ "rw*" ],
},
{
directory: "/dev/class/input",
from: "realm",
to: [ "#session" ],
rights: [ "r*" ],
},
{
directory: "/dev/class/input-report",
from: "realm",
to: [ "#session" ],
rights: [ "r*" ],
},
{
directory: "/dev/null",
from: "realm",
to: [ "#session" ],
rights: [ "rw*" ],
},
{
directory: "/dev/zero",
from: "realm",
to: [ "#session" ],
rights: [ "rw*" ],
},
{
// features: config-data for cast_agent
directory: "/pkgfs/packages/config-data/0/data/cast_agent",
// There is an approved Component Framework design to support
// offering subdirectories.
//
// WHEN AVAILABLE, THIS SHOULD BE CHANGED TO JUST:
// directory: "/pkgfs/packages/config-data/0/data",
// as: "/pkgfs-config-data"
// and then share "/pkgfs-config-data/cast_agent" with the
// cast_agent component.
from: "realm",
to: [ "#session" ],
rights: [ "r*" ],
},
{
// features: config-data for setui_service (see above)
directory: "/pkgfs/packages/config-data/0/data/setui_service",
from: "realm",
to: [ "#session" ],
rights: [ "r*" ],
},
{
// features: isolated-temp
directory: "/tmp",
from: "realm",
to: [ "#session" ],
rights: [ "rw*" ],
},
],
expose: [
{
protocol: "/svc/fuchsia.session.Launcher",
from: "self",
},
],
}