| { |
| program: { |
| binary: "bin/element_session", |
| }, |
| children: [ |
| { |
| name: "element_proposer", |
| url: "fuchsia-pkg://fuchsia.com/element_proposer#meta/element_proposer.cm", |
| startup: "eager", |
| }, |
| ], |
| collections: [ |
| { |
| name: "elements", |
| durability: "transient", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ |
| "/svc/fuchsia.session.ElementManager", |
| "/svc/fuchsia.session.examples.ElementPing", |
| ], |
| from: "self", |
| }, |
| ], |
| use: [ |
| { runner: "elf" }, |
| { |
| protocol: "/svc/fuchsia.sys2.Realm", |
| from: "framework", |
| }, |
| ], |
| offer: [ |
| // Offer the ELF runner to children. |
| { |
| "runner": "elf", |
| "from": "realm", |
| "to": [ |
| "#element_proposer", |
| "#elements", |
| ] |
| }, |
| { |
| protocol: "/svc/fuchsia.session.examples.ElementPing", |
| from: "self", |
| to: [ |
| "#elements", |
| ], |
| }, |
| { |
| protocol: "/svc/fuchsia.session.ElementManager", |
| from: "self", |
| to: [ |
| "#element_proposer", |
| ], |
| }, |
| ], |
| } |