PROTOCOLS
Launcher
Defined in fuchsia.modular.session/launcher.fidl
A protocol used to launch sessionmgr.
basemgr serves this protocol to session components.
LaunchSessionmgr
Launches an instance of sessionmgr with the given Modular configuration.
|config| should contain all configuration necessary for starting a session. When LaunchSessionmgr is called, basemgr uses only |config| to configure the session. It does not use any fields from its startup configuration (/config(_override)/data/startup.config).
|config| cannot include a session launcher component.
If sessionmgr is already running, it will be stopped and restarted with the new configuration.
On error, the protocol channel is closed with:
-
ZX_ERR_INVALID_ARGS
: |config| is invalid, could not be read, or includes a session launcher component. -
ZX_ERR_BAD_STATE
: The session cannot be launched because basemgr is shutting down. -
config
Modular configuration serialized as UTF-8 JSON
Request
Name | Type |
---|---|
config |
fuchsia.mem/Buffer
|
LaunchSessionmgrWithServices
Launches an instance of sessionmgr with the given Modular configuration and a list of services to be provided to agents in ModularConfig.sessionmgr_config.session_agents and .startup_agents.
|additional_services.host_directory| is required. The channel will close with ZX_ERR_INVALID_ARGS if not present.
Request
Name | Type |
---|---|
config |
fuchsia.mem/Buffer
|
additional_services |
fuchsia.sys/ServiceList
|
STRUCTS
TABLES
AgentServiceIndexEntry
Defined in fuchsia.modular.session/modular_config.fidl
A service and the URL of the agent known to provide that service.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | service_name |
string
|
The service name. |
2 | agent_url |
fuchsia.sys/component_url
|
The fuchsia component url for agent. |
AppConfig
Defined in fuchsia.modular.session/modular_config.fidl
Used to pass around configuration references to apps such as base shell, session shell, story shell, and agents.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | url |
string[4096]
|
The fuchsia package url for app. |
2 | args |
vector<string>
|
The arguments for the app. |
BaseShellConfig
Defined in fuchsia.modular.session/modular_config.fidl
Ordinal | Name | Type | Description |
---|---|---|---|
1 | app_config |
AppConfig
|
Contains the fuchsia package url and arguments to pass to the shell. |
2 | keep_alive_after_login |
bool
|
When set to true, the base shell is kept alive after a log in. This is used for testing because current integration tests expect base shell to always be running. Default: false |
BasemgrConfig
Defined in fuchsia.modular.session/modular_config.fidl
Descriptions and defaults for these configurations are echoed in peridot/docs/modular/guide/config.md.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | enable_cobalt |
bool
|
When set to false, Cobalt statistics are disabled. Default: true |
2 |
|
|
|
3 | use_session_shell_for_story_shell_factory |
bool
|
Create story shells through StoryShellFactory exposed by the session
shell instead of creating separate story shell components. When set,
|
4 | base_shell |
BaseShellConfig
|
Launch configurations specific to base shell. |
5 | session_shell_map |
vector<SessionShellMapEntry>
|
A map of launch configurations specific to session shells. |
6 | story_shell |
StoryShellConfig
|
Launch configurations specific to story shell. |
7 |
|
|
|
8 | session_launcher |
AppConfig
|
Launch configuration for a session launcher component. If specified, this component is started instead of sessionmgr,
and all other configuration fields are ignored, except The session launcher component can then use the |
ModularConfig
Defined in fuchsia.modular.session/modular_config.fidl
Contains the configurations for the modular framework components.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | basemgr_config |
BasemgrConfig
|
|
2 | sessionmgr_config |
SessionmgrConfig
|
SessionShellConfig
Defined in fuchsia.modular.session/modular_config.fidl
Ordinal | Name | Type | Description |
---|---|---|---|
1 | app_config |
AppConfig
|
Contains the fuchsia package url and arguments to pass to the shell. |
2 | display_usage |
fuchsia.ui.policy/DisplayUsage
|
The display usage policy for this session shell. Optional: defaults to DisplayUsage::kUnknown. |
3 | screen_height |
float32
|
The screen height in millimeters for the session shell's display. Optional: defaults to full screen. |
4 | screen_width |
float32
|
The screen width in millimeters for the session shell's display. Optional: defaults to full screen. |
SessionShellMapEntry
Defined in fuchsia.modular.session/modular_config.fidl
Ordinal | Name | Type | Description |
---|---|---|---|
1 | name |
string[4096]
|
The name of the session shell represented by its url. |
2 | config |
SessionShellConfig
|
The launch configurations for the session shell. |
SessionmgrConfig
Defined in fuchsia.modular.session/modular_config.fidl
Ordinal | Name | Type | Description |
---|---|---|---|
1 |
|
|
|
2 | enable_cobalt |
bool
|
When set to false, Cobalt statistics are disabled. This is used for testing. Default: true |
3 | reserved |
bool
|
|
4 |
|
|
|
5 | startup_agents |
vector<string>
|
A list of fuchsia package urls that specify which agents to launch at startup. |
6 | session_agents |
vector<string>
|
A list of fuchsia package urls that specify which agents to launch at startup with PuppetMaster and FocusProvider services. |
7 | story_shell_url |
string[4096]
|
The fuchsia package url for which story shell to use. |
8 | component_args |
vector<AppConfig>
|
A map of agents to the arguments they should be started with. |
9 |
|
|
|
10 | agent_service_index |
vector<AgentServiceIndexEntry>
|
A list of services mapped to the component URL that serves it. Valid components to specify here are agents or the session shell. Services listed here are available in the incoming namespaces for modules, shells, and agents. |
11 | restart_session_on_agent_crash |
vector<string>
|
A list of agent URLs that will cause the session to be restarted when they terminate. If an agent is not in this list, sessionmgr will restart it individually, preserving the session. The session shell is automatically added to this list. |
StoryShellConfig
Defined in fuchsia.modular.session/modular_config.fidl
Ordinal | Name | Type | Description |
---|---|---|---|
1 | app_config |
AppConfig
|
Contains the fuchsia package url and arguments to pass to the shell. |