KScriptClientInterface Class Referenceabstract

`#include <scriptclientinterface.h>`

Inheritance diagram for KScriptClientInterface:

## Public Types

enum | Result { ResultSuccess, ResultFailure, ResultContinue, ResultBreak }

## Public Member Functions

virtual void | error (const QString &msg)=0
virtual void | warning (const QString &msg)=0
virtual void | output (const QString &msg)=0
virtual void | progress (int percent)=0
virtual void | done (KScriptClientInterface::Result result, const QVariant &returned)=0

## Detailed Description

This class is used for allowing feedback to the main system.

Author
  Ian Reinhart Geiser geise.nosp@m.ri@k.nosp@m.de.or.nosp@m.g

To implement KScript in your application you would use this class to interface with the scripting engine. There are currently a few implementations of script managers around but developers can implement their own custom interfaces with this class.

class MyScript : public QObject, public KScriptClientInterface {
Q_OBJECT
public:
MyScript(QObject *parent)
{
// Create your @ref KScriptInterface here.
m_interface = KParts::ComponentFactory::createInstanceFromQuery<KScriptInterface>(
"KScriptRunner/KScriptRunner", "([X-KDE-Script-Runner] == 'bash/shell')", this );
}
virtual ~KScriptAction()
{
delete m_interface;
}
signals:
void error ( const QString &msg );
void warning ( const QString &msg );
void output ( const QString &msg );
void progress ( int percent );
void done ( KScriptClientInterface::Result result, const QVariant &returned );
public slots:
void activate(const QVariant &args)
{
m_interface->run(parent(), args);
}
private:
KScriptInterface *m_interface;
};

Things to note about this example are that it only handles a single script type and instance. You may wish to extend this.

Definition at line 73 of file scriptclientinterface.h.

## Member Function Documentation

virtual void KScriptClientInterface::done | ( | KScriptClientInterface::Result | result,
|  | const QVariant & | returned
| ) |  |

pure virtual

This function will allow feedback on completion of the script.

It turns the result as a KScriptInteface::Result, and a return value as a QVariant For script clients its best to implement this as a signal so feedback can be sent to the main application.

Implemented in KScriptManager.

virtual void KScriptClientInterface::error | ( | const QString & | msg | ) |

pure virtual

This function will allow the main application of any errors that have occurred during processing of the script.

For script clients its best to implement this as a signal so feedback can be sent to the main application.

Implemented in KScriptManager.

virtual void KScriptClientInterface::output | ( | const QString & | msg | ) |

pure virtual

This function will allow the main application of any normal output that has occurred during the processing of the script.

For script clients its best to implement this as a signal so feedback can be sent to the main application.

Implemented in KScriptManager.

virtual void KScriptClientInterface::progress | ( | int | percent | ) |

pure virtual

This function will allow feedback to any progress bars in the main application as to how far along the script is.

This is very useful when a script is processing files or doing some long operation that is of a known duration.] For script clients its best to implement this as a signal so feedback can be sent to the main application.

Implemented in KScriptManager.

virtual void KScriptClientInterface::warning | ( | const QString & | msg | ) |

pure virtual

This function will allow the main application of any warnings that have occurred during the processing of the script.

For script clients its best to implement this as a signal so feedback can be sent to the main application.

Implemented in KScriptManager.

The documentation for this class was generated from the following file:

- scriptclientinterface.h

KDE Home | KDE Accessibility Home | Description of Access Keys