00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _KTOOLINVOCATION_H
00026 #define _KTOOLINVOCATION_H
00027
00028 #include <kdecore_export.h>
00029
00030 #include <QtCore/QObject>
00031 #include <QtCore/QByteArray>
00032 #include <QtCore/QStringList>
00033
00034 class OrgKdeKLauncherInterface;
00035 class KUrl;
00036 class KToolInvocationPrivate;
00037
00068 class KDECORE_EXPORT KToolInvocation : public QObject
00069 {
00070
00071 Q_OBJECT
00072 private:
00073 KToolInvocation();
00074 public:
00075
00076 ~KToolInvocation();
00077 static KToolInvocation *self();
00078
00079 public Q_SLOTS:
00093 static void invokeHelp( const QString& anchor = QString(),
00094 const QString& appname = QString(),
00095 const QByteArray& startup_id = QByteArray());
00096
00105 static void invokeMailer( const QString &address, const QString &subject,
00106 const QByteArray& startup_id = QByteArray() );
00107
00117 static void invokeMailer( const KUrl &mailtoURL, const QByteArray& startup_id = QByteArray(),
00118 bool allowAttachments = false );
00119
00135 static void invokeMailer(const QString &to, const QString &cc, const QString &bcc,
00136 const QString &subject, const QString &body,
00137 const QString &messageFile = QString(),
00138 const QStringList &attachURLs = QStringList(),
00139 const QByteArray& startup_id = QByteArray() );
00140
00151 static void invokeBrowser( const QString &url,
00152 const QByteArray& startup_id = QByteArray() );
00153
00164 static void invokeTerminal(const QString &command,
00165 const QString& workdir = QString(),
00166 const QByteArray &startup_id = "");
00167
00168 public:
00173 static OrgKdeKLauncherInterface *klauncher();
00174
00195 static int startServiceByName( const QString& _name, const QString &URL,
00196 QString *error=0, QString *serviceName=0, int *pid=0,
00197 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00198
00219 static int startServiceByName( const QString& _name, const QStringList &URLs=QStringList(),
00220 QString *error=0, QString *serviceName=0, int *pid=0,
00221 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00222
00243 static int startServiceByDesktopPath( const QString& _name, const QString &URL,
00244 QString *error=0, QString *serviceName=0, int *pid = 0,
00245 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00246
00266 static int startServiceByDesktopPath( const QString& _name, const QStringList &URLs=QStringList(),
00267 QString *error=0, QString *serviceName=0, int *pid = 0,
00268 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00269
00290 static int startServiceByDesktopName( const QString& _name, const QString &URL,
00291 QString *error=0, QString *serviceName=0, int *pid = 0,
00292 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00293
00314 static int startServiceByDesktopName( const QString& _name, const QStringList &URLs=QStringList(),
00315 QString *error=0, QString *serviceName=0, int *pid = 0,
00316 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00317
00335 static int kdeinitExec( const QString& name, const QStringList &args=QStringList(),
00336 QString *error=0, int *pid = 0, const QByteArray& startup_id = QByteArray() );
00337
00355 static int kdeinitExecWait( const QString& name, const QStringList &args=QStringList(),
00356 QString *error=0, int *pid = 0, const QByteArray& startup_id = QByteArray() );
00357
00358 Q_SIGNALS:
00363 void kapplication_hook(QStringList& env , QByteArray& startup_id);
00364
00365 private:
00369 static void startKdeinit();
00370
00371 int startServiceInternal(const char *_function,
00372 const QString& _name, const QStringList &URLs,
00373 QString *error, QString *serviceName, int *pid,
00374 const QByteArray& startup_id, bool noWait,
00375 const QString& workdir = QString());
00376 static bool isMainThreadActive(QString* error = 0);
00377
00378 KToolInvocationPrivate * const d;
00379 };
00380
00381 #endif
00382