KJSEmbed::Engine

Search for usage in LXR

#include <kjsembed.h>

Public Types

enum  ExitStatus { Success = 0, Failure = 1 }
 

Public Member Functions

 Engine (bool enableBindings=true)
 
virtual ~Engine ()
 
KJS::JSObject * addObject (QObject *obj, const KJS::UString &name=KJS::UString()) const
 
KJS::JSObject * addObject (QObject *obj, KJS::JSObject *parent, const KJS::UString &name=KJS::UString()) const
 
KJS::JSValuecallMethod (const KJS::UString &methodName, const KJS::List &args=KJS::List())
 
KJS::JSValuecallMethod (KJS::JSObject *parent, const KJS::UString &methodName, const KJS::List &args=KJS::List())
 
KJS::Completion completion () const
 
KJS::JSObject * construct (const KJS::UString &className, const KJS::List &args=KJS::List()) const
 
ExitStatus execute (const KJS::UString &code)
 
KJS::Interpreterinterpreter () const
 
bool isBindingsEnabled () const
 
ExitStatus runFile (const KJS::UString &file)
 

Static Public Member Functions

static KJS::Completion runFile (KJS::Interpreter *interpreter, const KJS::UString &file)
 

Detailed Description

The main interface for running embedded Javascript.

interpreter->setShouldPrintExceptions(true);
KJS::ExecState *exec = interpreter->globalExec();
KJS::UString code("print(\"Hello World\")");
KJSEmbed::Engine::ExitStatus exitstatus = engine->execute(code);
if(exitstatus != KJSEmbed::Engine::Success) {
KJS::JSValue* value = completion.value();
qDebug() << value->toString(exec).qstring();
}

Definition at line 58 of file kjsembed.h.

Member Enumeration Documentation

Status codes for script execution.

Note that you can access the completion object itself with completion() for more detail.

Definition at line 65 of file kjsembed.h.

Constructor & Destructor Documentation

Engine::Engine ( bool  enableBindings = true)

Constructs an embedded JS engine.

Parameters
enableBindingsIf true then the bindings will be added to the interpreter created. Otherwise a plain interpreter with nothing beyond the JS built in functions and objects is created. This allows users who want to run untrusted scripts to choose exactly which bindings they offer.

Definition at line 163 of file kjsembed.cpp.

Engine::~Engine ( )
virtual

Clean up.

Definition at line 172 of file kjsembed.cpp.

Member Function Documentation

KJS::JSObject * Engine::addObject ( QObject obj,
const KJS::UString name = KJS::UString() 
) const

publishes a QObject to the global context of the javascript interpereter.

Definition at line 192 of file kjsembed.cpp.

KJS::JSObject * Engine::addObject ( QObject obj,
KJS::JSObject *  parent,
const KJS::UString name = KJS::UString() 
) const

publishes a QObject to a parent object.

Definition at line 182 of file kjsembed.cpp.

KJS::JSValue * Engine::callMethod ( const KJS::UString methodName,
const KJS::List args = KJS::List() 
)

Execute a method at the global scope of the javascript interperter.

Definition at line 265 of file kjsembed.cpp.

KJS::JSValue * Engine::callMethod ( KJS::JSObject *  parent,
const KJS::UString methodName,
const KJS::List args = KJS::List() 
)

Execute a method on an object.

Definition at line 288 of file kjsembed.cpp.

KJS::Completion Engine::completion ( ) const

Returns the Completion object for the last script executed.

Definition at line 197 of file kjsembed.cpp.

KJS::JSObject * Engine::construct ( const KJS::UString className,
const KJS::List args = KJS::List() 
) const

Create a new instance of an object that the Javascript engine knows about.

If the object doesn't exist a KJS::jsNull() is returned and an exception thrown.

Definition at line 258 of file kjsembed.cpp.

Engine::ExitStatus Engine::execute ( const KJS::UString code)

Execute a code string using the current interpreter.

Parameters
codeThe script code to execute.

Definition at line 246 of file kjsembed.cpp.

KJS::Interpreter * Engine::interpreter ( ) const

Returns the current interpreter.

Definition at line 202 of file kjsembed.cpp.

bool Engine::isBindingsEnabled ( ) const

Returns true if the Engine was created with the bindings enabled.

Definition at line 177 of file kjsembed.cpp.

Engine::ExitStatus Engine::runFile ( const KJS::UString file)

Execute the file with the specified name using the current interpreter.

Parameters
fileFilename to execute.

Definition at line 233 of file kjsembed.cpp.

KJS::Completion Engine::runFile ( KJS::Interpreter interpreter,
const KJS::UString file 
)
static

Execute the file with the specified name using the specified interpreter.

Parameters
interpreterInterpreter to use.
fileFilename to execute.

Definition at line 207 of file kjsembed.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Fri Apr 16 2021 22:39:09 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.