app/launcher: <configfile name="..."/> support

Fix #2404
This commit is contained in:
Emery Hemingway 2017-04-26 19:40:02 -05:00 committed by Christian Helmuth
parent 23337eb6e7
commit 32d16c1792
1 changed files with 13 additions and 2 deletions

View File

@ -199,8 +199,19 @@ class Launcher::Subsystem_manager
/* configure child */
try {
Xml_node config_node = subsystem.sub_node("config");
child->configure(config_node.addr(), config_node.size());
if (subsystem.has_sub_node("configfile")) {
Genode::String<96> name;
Xml_node node = subsystem.sub_node("configfile");
Xml_attribute attr = node.attribute("name");
attr.value(&name);
Attached_rom_dataspace rom(_env, name.string());
Xml_node config_node = rom.xml();
child->configure(config_node.addr(), config_node.size());
} else {
Xml_node config_node = subsystem.sub_node("config");
child->configure(config_node.addr(), config_node.size());
}
} catch (...) { }
_children.insert(child);