My setup/environment: - Source: Branch: staging commit 17f3b559735027bcbde233ebacbb1f9d173a566c Date: Thu Aug 3 09:44:17 2017 -0500 - Target-genode-System: nova x86_64 - Host-System: genode-x86-gcc (GCC) 6.3.0 Ubuntu 17.04 QEMU emulator version 2.8.0(Debian 1:2.8+dfsg-3ubuntu2.3)
Hi,
I try to understand the difference between cli_monitor, launcher, launchpad and qt-launchpad.
I looked into the source code and I understand following:
- app/cli_monitor is the command line version to start child processes. It exists in the low-level OS components repo. - app/launcher is the UI version of cli_monitor and uses some headers from cli_monitor. It exists in the gems repo.
- app/launchpad is the UI version to start child processes. Launchpad is not using the cli_monitor headers. It exists in the demo repo. - app/qt5/qt_launchpad is the Qt version of launchpad. It uses lib/launchpad from demo repo. It exists in the libports repo.
Both cli_monitor headers and lib/launchpad using the Genode::Child and Genode::Child_policy API to managed the child compoments as described in section 8.17.2. Child management [1].
What I see between the cli_monitor/launcher and launchpad approach, that the configuration of the subsystems is different. But is there even more differences ?
May I asked, what are the future plans of these "launchers"? Cli_monitor is in the OS repo and sounds like the API is what I should use to implement some "own" launchers. Launch app in gems repo, as what I understand from the email from Norman (see Friday, 4. August 2017 11:56:38 CEST from Norman Feske) this is outdated. Launchpad is in the demo repo and what I see in the git commit history, this is also the older approach to "launch" subsystems in genode, or?
Here some background information, why I asked... I will use genode as a desktop system and for such a use case I need something to launch applications. I notice, that genode is currently implementing a package management and it sounds like for me, in the future I need a launcher that are flexible enough to start an application after I installed a package in genode :-) ... but step by step.
I'm a C++ developer and using STL/boost etc. but for UI I use Qt/QML. The idea, I will try to develope a launcher in Qt/QML (I know there is a launchpad in Qt ... but not in QML). I still try to find out, which approach is the best: Use the lib/launchpad or cli_monitor API or develope from scratch as described in section 8.17.2. Child management [1]. Maybe I will still using the current aprroaches (launchpad etc.), it depends on the email reply :-)
Cheers, Jörg
[1] http://genode.org/documentation/genode-foundations-17-05.pdf