Details
-
Bug
-
Resolution: Done
-
Low
-
None
Description
Currently the gdp-hmi-controller can start and raise applications via the name of an app's systemd unit. This is a reasonable key, but the GDP-HMI-Controller has a static array of structs that associate the unit names with layer ids and surface ids. This should be changed to a dynamic list. Where a layer is created per PID that creates a surface when the 1st surface is created. In the ILM surface data struct we can get the PID of the creating process. We can automatically create a layer with id == PID. When the last surface for a layer is destroyed the layer can also be destroyed. When an application is asked to be started or raised by the controller given a systemd unit name we need to figure out the PID of the unit if it is already running and raise that layer.