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
00071 class KDECORE_EXPORT KToolInvocation : public QObject
00072 {
00073
00074 Q_OBJECT
00075 private:
00076 KToolInvocation();
00077 public:
00078
00079 ~KToolInvocation();
00080 static KToolInvocation *self();
00081
00082 public Q_SLOTS:
00096 static void invokeHelp( const QString& anchor = QString(),
00097 const QString& appname = QString(),
00098 const QByteArray& startup_id = QByteArray());
00099
00108 static void invokeMailer( const QString &address, const QString &subject,
00109 const QByteArray& startup_id = QByteArray() );
00110
00120 static void invokeMailer( const KUrl &mailtoURL, const QByteArray& startup_id = QByteArray(),
00121 bool allowAttachments = false );
00122
00138 static void invokeMailer(const QString &to, const QString &cc, const QString &bcc,
00139 const QString &subject, const QString &body,
00140 const QString &messageFile = QString(),
00141 const QStringList &attachURLs = QStringList(),
00142 const QByteArray& startup_id = QByteArray() );
00143
00158 static void invokeBrowser( const QString &url,
00159 const QByteArray& startup_id = QByteArray() );
00160
00171 static void invokeTerminal(const QString &command,
00172 const QString& workdir = QString(),
00173 const QByteArray &startup_id = "");
00174
00175 public:
00180 static OrgKdeKLauncherInterface *klauncher();
00181
00202 static int startServiceByName( const QString& _name, const QString &URL,
00203 QString *error=0, QString *serviceName=0, int *pid=0,
00204 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00205
00226 static int startServiceByName( const QString& _name, const QStringList &URLs=QStringList(),
00227 QString *error=0, QString *serviceName=0, int *pid=0,
00228 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00229
00250 static int startServiceByDesktopPath( const QString& _name, const QString &URL,
00251 QString *error=0, QString *serviceName=0, int *pid = 0,
00252 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00253
00273 static int startServiceByDesktopPath( const QString& _name, const QStringList &URLs=QStringList(),
00274 QString *error=0, QString *serviceName=0, int *pid = 0,
00275 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00276
00297 static int startServiceByDesktopName( const QString& _name, const QString &URL,
00298 QString *error=0, QString *serviceName=0, int *pid = 0,
00299 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00300
00321 static int startServiceByDesktopName( const QString& _name, const QStringList &URLs=QStringList(),
00322 QString *error=0, QString *serviceName=0, int *pid = 0,
00323 const QByteArray &startup_id = QByteArray(), bool noWait = false );
00324
00342 static int kdeinitExec( const QString& name, const QStringList &args=QStringList(),
00343 QString *error=0, int *pid = 0, const QByteArray& startup_id = QByteArray() );
00344
00362 static int kdeinitExecWait( const QString& name, const QStringList &args=QStringList(),
00363 QString *error=0, int *pid = 0, const QByteArray& startup_id = QByteArray() );
00364
00365 Q_SIGNALS:
00370 void kapplication_hook(QStringList& env , QByteArray& startup_id);
00371
00372 private:
00376 static void startKdeinit();
00377
00378 int startServiceInternal(const char *_function,
00379 const QString& _name, const QStringList &URLs,
00380 QString *error, QString *serviceName, int *pid,
00381 const QByteArray& startup_id, bool noWait,
00382 const QString& workdir = QString());
00383 static bool isMainThreadActive(QString* error = 0);
00384
00385 KToolInvocationPrivate * const d;
00386 };
00387
00388 #endif
00389