Home · All Classes · Grouped Classes · Annotated · Functions

QuickExeApplicationLauncher Class Reference

The QuickExeApplicationLauncher class supports launching quicklaunched Qtopia applications. More...

    #include <QuickExeApplicationLauncher>

Inherits ExeApplicationLauncher.

Public Functions

Additional Inherited Members

Detailed Description

The QuickExeApplicationLauncher class supports launching quicklaunched Qtopia applications.

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

Task NameQuickExeApplicationLauncher
InterfacesApplicationTypeLauncher, SystemShutdownHandler

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

When Qtopia applications start, there are many non-application-specific tasks they must perform during startup. For example, every Qtopia application dynamically links against the Qtopia 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 Qtopia application, links against the Qtopia 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 Qtopia version.

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

Member Function Documentation

QuickExeApplicationLauncher::QuickExeApplicationLauncher ()

Constructs a new QuickExeApplicationLauncher instance.

QuickExeApplicationLauncher::~QuickExeApplicationLauncher ()   [virtual]

Destroys the QuickExeApplicationLauncher instance.

Copyright © 2008 Nokia Trademarks
Qtopia 4.3.3