StartupInterface Class

An interface that allows to implement custom startup activities. More...

Header: #include <StartupInterface>

Public Functions

virtual void afterQmlEngineLoad(QQmlEngine *engine) = 0
virtual void afterRuntimeRegistration() = 0
virtual void afterWindowShow(QWindow *window) = 0
virtual void beforeQmlEngineLoad(QQmlEngine *engine) = 0
virtual void beforeWindowShow(QWindow *window) = 0
virtual void initialize(const QVariantMap &systemProperties) = 0

Detailed Description

This interface provides hooks that are called during the startup of application manager processes. Hence, implementers of the interface can run their custom code at certain points during the startup phase.

A plugin has to implemet the pure virtual functions of the StartupInterface. The interface is the same for the System UI (appman), as well as for QML applications (appman-launcher-qml). The plugins that should be loaded have to be specified in the (am-config.yaml) configuration file. The following snippet shows how the application manager can be configured to load and execute the libappmanplugin.so in both the System UI and applications and additionally the libextplugin.so in the System UI only:

# System UI
plugins:
  startup: [ "path/to/libappmanplugin.so", "path/to/libextplugin.so" ]

# Applications
runtimes:
  qml:
    startup: "path/to/libappmanplugin.so"

The functions are called in the following order:

Member Function Documentation

[pure virtual] void StartupInterface::afterQmlEngineLoad(QQmlEngine *engine)

This method is called, after the QML engine has been loaded.

[pure virtual] void StartupInterface::afterRuntimeRegistration()

This method is called, right after the runtime has been registered.

Note: It will only be called in the System UI process.

[pure virtual] void StartupInterface::afterWindowShow(QWindow *window)

This method is called, right after the main window is shown. The window parameter holds a pointer to the just shown main window.

Note: This function will only be called, if the root object of your QML tree is a visible item (e.g. a Window or Item derived class). It will not be called, if it is a QtObject for instance.

[pure virtual] void StartupInterface::beforeQmlEngineLoad(QQmlEngine *engine)

This method is called, before the QML engine is loaded.

Note: All QtApplicationManager* QML namespaces are locked for new registrations via qmlProtectModule() after this call.

[pure virtual] void StartupInterface::beforeWindowShow(QWindow *window)

This method is called, after the main window has been instantiated, but before it is shown. The window parameter holds a pointer to the main window.

Note: The window is only valid, if the root object of your QML tree is a visible item (e.g. a Window or Item derived class). It will be a nullptr, if it is a QtObject for instance.

[pure virtual] void StartupInterface::initialize(const QVariantMap &systemProperties)

This method is called right after the systemProperties have been parsed.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.