Detailed Description
The ExeApplicationLauncher class simplifies implementing ApplicationTypeLauncher for process based applications.
The ExeApplicationLauncher is helpful for writing ApplicationTypeLauncher implementations that are slight variations on the simple executable process model.
Note: This class is part of the Qt Extended server and cannot be used by other Qt Extended applications.
Many application types are just different ways of starting a QtopiaApplication application. For example, the SimpleExeApplicationLauncher and the QuickExeApplicationLauncher types both start external processes that instantiate a QtopiaApplication instance. The ExeApplicationLauncher encapsulates the commonality between these types of application launchers.
It is the responsibility of derived classes to respond to the canLaunch() and launch() methods of the ApplicationTypeLauncher interface. Once the derived class has brung a process to the state where it is launching, it should call addStartingApplication() to pass ownership of the process to the ExeApplicationLauncher. The ExeApplicationLauncher class operates under the following assumptions:
The application will send an available(QString,int) message to the QPE/QtopiaApplication channel when it has completed startup. The process, and thus the QProcess instance, will terminate normally when it is done.
Member Function Documentation
ExeApplicationLauncher::ExeApplicationLauncher ()
Construct a new ExeApplicationLauncher instance.
ExeApplicationLauncher::~ExeApplicationLauncher () [virtual]
Destroy the ExeApplicationLauncher instance.
void ExeApplicationLauncher::addStartingApplication ( const QString & app, QProcess * proc ) [protected]
Add a new process, proc, for the applications app to the ExeApplicationLauncher. The ExeApplicationLauncher will take ownership of the process.
bool ExeApplicationLauncher::isRunning ( const QString & app ) [protected]
Returns true if app is already being managed by the ExeApplicationLauncher (that is, addStartingApplication() has been called), otherwise returns false.