# interfaces Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KScriptClientInterface Class Reference

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

`#include <scriptclientinterface.h>`

Inheritance diagram for KScriptClientInterface:

[legend]
List of all members.

## 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 <geiseri@kde.org>

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::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::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.

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::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.

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

- scriptclientinterface.h

This file is part of the documentation for interfaces Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:34:59 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003