// 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{} \c{[document-url]} [optional] \li Starts the application with \c application-id within the application manager. \row \li \span {style="white-space: nowrap"} {\c debug-application} \li \c{} \c{} \c{[document-url]} [optional] \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{} \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{} \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{} \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{} \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{} \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{} \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. \endtable The \c{appman-controller} naturally supports the standard Unix \c{--help} command-line option. */