ceeab7ce1ef3909512a652bb15ca9e5946323493
[AGL/documentation.git] / docs / 04_Developer_Guides / images / application_switching.msc
1 #!/usr/bin/mscgen -Tpng
2
3 msc {
4        hscale="1.5";
5
6        u [label = "touch/pointer event" ],
7        l [label = "launcher app" ],
8        s [label = "runtime/shell-client"],
9        a [label = "applaunchd" ],
10        g [label = "gRPC-proxy" ],
11        c [label = "compositor" ],
12        d [label = "libsystemd"];
13
14        |||;
15
16        --- [label = "initial phase - subscribe for signal/status events, assume app_id already started" ];
17
18        s >> a [label = "subscribe for applaunchd GetStatusEvents"];
19
20        --- [label = "handling of application switching" ];
21
22        u => l [label = "tapShortCut(appid)" ];
23        l => a [label = "StartApplication(appid)"];
24        a => d [label = "start application's systemd unit"];
25        d => a [label = "return status from starting systemd unit"];
26        a => s [label = "StartResponse(status = TRUE)"];
27        a => s [label = "StatusResponse(app_id, 'started')"];
28        s => c [label = "activate_app(app_id)"];
29 }