1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2019 Luxoft Sweden AB
// Copyright (C) 2018 Pelagicore AG
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page appman-controller.html
\title Controller
\brief A command-line utility to remote control the application manager on a target device.
\ingroup qtappman-tools
The \c{appman-controller} is a command-line utility that can be used by the developer, or
indirectly by other tools, on the target device to control the application manager without
communicating directly with its D-Bus interface.
\note In order to use this tool, the application manager has to be connected to either a session- or
system-bus; don't run it with \c{--dbus none}.
If you are running multiple application manager instances in the same system, you need to first
\l{instance-id}{assign unique instance-ids} to each of them and then you can address them
individually from the \c appman-controller tool by using the \c --instance-id command line option.
The following commands are available:
\table
\header
\li Command
\li Arguments
\li Description
\row
\li \span {style="white-space: nowrap"} {\c start-application}
\li \c{<application-id>}
\c{[document-url]}
\li Starts the application with \c application-id within the application manager.
\row
\li \span {style="white-space: nowrap"} {\c debug-application}
\li \c{<debug-wrapper-specification>}
\c{<application-id>}
\c{[document-url]}
\li Starts the application with \c application-id within the application manager using
a debug-wrapper. For more information, see \l{DebugWrappers}.
\row
\li \span {style="white-space: nowrap"} {\c stop-application}
\li \c{<application-id>}
\li Stops the application with \c application-id.
\row
\li \span {style="white-space: nowrap"} {\c stop-all-applications}
\li (none)
\li Stops all applications that are running within the application manager.
\row
\li \span {style="white-space: nowrap"} {\c list-applications}
\li (none)
\li Outputs all available application IDs on the console, one per line.
\row
\li \span {style="white-space: nowrap"} {\c show-application}
\li \c{<application-id>}
\li Shows the current metadata for the given application in YAML format. Alternatively, use
\c{--json} to get the metadata in JSON format instead.
\row
\li \span {style="white-space: nowrap"} {\c list-packages}
\li (none)
\li Outputs all available package IDs on the console, one per line.
\row
\li \span {style="white-space: nowrap"} {\c show-package}
\li \c{<package-id>}
\li Shows the current metadata for the given package in YAML format. Alternatively, use
\c{--json} to get the metadata in JSON format instead.
\row
\li \span {style="white-space: nowrap"} {\c install-package}
\li \c{<package>}
\li Installs the package given on the command-line. If the package file is specified as \c{-},
the tool tries to read the package from \c stdin. The following options are supported:
\c{-a, --acknowledge}: Automatically acknowledge the installation, instead of relying on
the System UI's logic.
\row
\li \span {style="white-space: nowrap"} {\c remove-package}
\li \c{<package-id>}
\li Removes the package, specified with \c package-id. The following options are
supported:
\c{-f, --force}: Force removal of package.
\c{-k, --keep-documents}: Keep the document folder of the package.
\row
\li \span {style="white-space: nowrap"} {\c list-installation-locations}
\li (none)
\li Lists all installaton locations.
\row
\li \span {style="white-space: nowrap"} {\c show-installation-location}
\li \c{<installation-location>}
\li Shows details for the specified \c installation-location in YAML format. Alternatively, use
\c{--json} to get the location details in JSON format instead.
\row
\li \span {style="white-space: nowrap"} {\c list-instances}
\li (none)
\li Lists all currently running \l{instance-id}{named} application manager instances.
\row
\li \span {style="white-space: nowrap"} {\c inject-intent-request}
\li \c{<intent-id>}
\c{[parameters as json string]}
\li Injects an intent request into the application manager for testing or debugging purposes.
This only works, if the application manager is running in \l{development-mode}{developmentMode}.
The parameters have to be supplied as a single argument JSON string - make sure to correctly
escape any quotation marks when running from a shell.
By default, the injected intent request will have a requesting application id of \c{:sysui:}
(the System UI) and no handling application id. You can use the following command line
options to change this behavior:
\c{--requesting-application-id} Fake the requesting application id.
\c{--application-id} Specify the handling application id to prevent disambiguation.
\c{--broadcast} Instead of a directed request, create a broadcast.
Please note that \c{--application-id} and \c{--broadcast} are mutually exclusive.
For successful non-broadcast requests, the result will be printed to the console as JSON.
\endtable
The \c{appman-controller} naturally supports the standard Unix \c{--help} command-line option.
*/
|