Home · All Namespaces · All Classes · Grouped Classes · Modules · Functions codeless banner

QuickExeApplicationLauncher Class Reference
[QtBaseModule]

The QuickExeApplicationLauncher class supports launching quicklaunched Qt Extended applications. More...

    #include <QuickExeApplicationLauncher>

Inherits ExeApplicationLauncher.

Public Functions

Additional Inherited Members


Detailed Description

The QuickExeApplicationLauncher class supports launching quicklaunched Qt Extended applications.

The QuickExeApplicationLauncher provides a Qt Extended Server Task. Qt Extended Server Tasks are documented in full in the QtopiaServerApplication class documentation.

Task NameQuickExeApplicationLauncher
InterfacesApplicationTypeLauncher, SystemShutdownHandler
ServicesNone

The QuickExeApplicationLauncher class provides the ApplicationTypeLauncher implementation that works with the quicklauncher executable to accelerate application launching.

When Qt Extended applications start, there are many non-application-specific tasks they must perform during startup. For example, every Qt Extended application dynamically links against the Qt Extended libraries and instantiates a QtopiaApplication instance. These tasks are independent of any specifics regarding the application.

The Quicklauncher process attempts to minimize the inefficiencies of these predictable tasks by performing them before any specific application is launched. The system consists of two main parts - the quicklauncher binary and the application launcher interface provided by this class.

When the QuickExeApplicationLauncher is first instantiated, it spawns a copy of the quicklauncher executable. The quicklauncher executable, like every other Qt Extended application, links against the Qt Extended libraries, instantiates a QtopiaApplication instance and other performs all the other common, non-application-specific tasks. Once these tasks are completed, however, the quicklauncher stub enters an idle loop awaiting instruction from the QuickExeApplicationLauncher.

When the user attempts to launch an application with the quicklauncher running, the QuickExeApplicationLauncher class checks to see whether the application was compiled to support Quicklaunching. An application that supports Quicklaunching is compiled as a shared library, not an executable. This shared library has a well known entry point that can be called to run application specific code. The build system documentation contains more information on compiling an application to support Quicklaunching.

If the application does support Quicklaunching, a message is sent to the idle quicklauncher instance. This instance then loads the application shared library and immediately begins executing application specific code, bypassing the non-application-specific portions that it executed earlier in anticipation of an application launch.

Once a quicklauncher instance has transformed itself into a running application, the QuickExeApplicationLauncher class starts another. When the system shuts down, the QuickExeApplicationLauncher will ensure that the running quicklauncher instance is stopped.

Both the QuickExeApplicationLauncher and the quicklauncher itself search the paths returned by the Qtopia::installPaths() method for the plugins/application/lib<application name>.so application plugin.

Note: quicklauncher itself does not correctly search the install paths for applications. This functionality is planned for a future Qt Extended version.

This class is part of the Qt Extended server and cannot be used by other Qt Extended applications.


Member Function Documentation

QuickExeApplicationLauncher::QuickExeApplicationLauncher ()

Constructs a new QuickExeApplicationLauncher instance.

QuickExeApplicationLauncher::~QuickExeApplicationLauncher ()   [virtual]

Destroys the QuickExeApplicationLauncher instance.


Copyright © 2009 Trolltech Trademarks
Qt Extended 4.4.3