00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef __scriptmanager_h__
00020
#define __scriptmanager_h__
00021
00022
#include <qvariant.h>
00023
#include <scriptclientinterface.h>
00024
#include <scriptinterface.h>
00025
#include <qdict.h>
00026
#include <qobject.h>
00027
00028
#include <kdelibs_export.h>
00029
00030
class ScriptInfo;
00031
00032
00033
00039 class KDE_EXPORT KScriptManager :
public QObject,
public KScriptClientInterface
00040 {
00041 Q_OBJECT
00042
friend class KScriptInterface;
00043
public:
00047 KScriptManager(
QObject *parent,
const char *name);
00051
virtual ~KScriptManager();
00057
bool addScript(
const QString &scriptDesktopFile);
00062
bool removeScript(
const QString &scriptName );
00067
QStringList scripts();
00071
void clear();
00076 void error(
const QString &msg ) {emit scriptError(msg);}
00081 void warning(
const QString &msg ) {emit scriptWarning(msg);}
00086 void output(
const QString &msg ) {emit scriptOutput(msg);}
00093 void progress(
int percent ) {emit scriptProgress(percent);}
00099 void done( KScriptClientInterface::Result result,
const QVariant &returned ) {emit scriptDone(result, returned);}
00100
00101
public slots:
00105
void runScript(
const QString &scriptName,
QObject *context = 0,
const QVariant &arg = 0 );
00106 signals:
00111
void scriptError(
const QString &msg );
00116
void scriptWarning(
const QString &msg );
00121
void scriptOutput(
const QString &msg );
00126
void scriptProgress(
int percent);
00131
void scriptDone( KScriptClientInterface::Result result,
const QVariant &returned);
00132
protected:
00133
QDict<ScriptInfo> m_scripts;
00134
QDict<KScriptInterface> m_scriptCache;
00135
00136
QString m_currentScript;
00137 };
00138
00139
#endif