| { |
| "program": { |
| "binary": "bin/workstation_session", |
| }, |
| collections: [ |
| { |
| name: "element_launchers", |
| durability: "transient", |
| }, |
| { |
| name: "elements", |
| durability: "transient", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ |
| "/svc/fuchsia.session.ElementManager", |
| ], |
| from: "self", |
| }, |
| ], |
| "use": [ |
| { "runner": "elf" }, |
| { |
| "directory": "/dev/class/input-report", |
| "from": "realm", |
| "rights": [ "r*",] |
| }, |
| { |
| protocol: "/svc/fuchsia.sys2.Realm", |
| from: "framework", |
| }, |
| { |
| "protocol": "/svc/fuchsia.sys.Launcher", |
| }, |
| { |
| "protocol": "/svc/fuchsia.ui.input2.Keyboard", |
| }, |
| { |
| "protocol": "/svc/fuchsia.ui.scenic.Scenic", |
| }, |
| { |
| "protocol": "/svc/fuchsia.ui.input.ImeService", |
| }, |
| { |
| "protocol": "/svc/fuchsia.logger.LogSink", |
| }, |
| { |
| "protocol": "/svc/fuchsia.ui.shortcut.Manager", |
| }, |
| ], |
| offer: [ |
| // Offer the ELF runner to children. |
| { |
| "runner": "elf", |
| "from": "realm", |
| "to": [ |
| "#elements", |
| ] |
| }, |
| { |
| protocol: "/svc/fuchsia.session.ElementManager", |
| from: "self", |
| to: [ |
| "#element_launchers", |
| ], |
| }, |
| ], |
| } |