kjsembed
kjsembed.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KJSEMBED_H
00025 #define KJSEMBED_H
00026
00027 class QObject;
00028
00029 #include <kjsembed/kjseglobal.h>
00030 #include <kjs/object.h>
00031 #include <kdemacros.h>
00032
00033 namespace KJS {
00034 class Interpreter;
00035 class Object;
00036 class Completion;
00037 }
00038
00039 namespace KJSEmbed {
00040
00058 class KJSEMBED_EXPORT Engine
00059 {
00060 public:
00065 enum ExitStatus { Success = 0, Failure = 1 };
00066
00075 Engine( bool enableBindings = true);
00077 virtual ~Engine();
00078
00080 bool isBindingsEnabled() const;
00081
00086 ExitStatus runFile( const KJS::UString &file );
00087
00093 static KJS::Completion runFile( KJS::Interpreter *interpreter, const KJS::UString &file );
00094
00099 ExitStatus execute( const KJS::UString &code );
00100
00104 KJS::Completion completion() const;
00105
00109 KJS::Interpreter *interpreter() const;
00110
00114 KJS::JSObject *addObject( QObject *obj, const KJS::UString &name = KJS::UString() ) const;
00115
00119 KJS::JSObject *addObject( QObject *obj, KJS::JSObject *parent, const KJS::UString &name = KJS::UString()) const;
00120
00125 KJS::JSObject *construct( const KJS::UString &className, const KJS::List &args = KJS::List() ) const;
00126
00130 KJS::JSValue *callMethod( const KJS::UString &methodName, const KJS::List &args = KJS::List() );
00131
00135 KJS::JSValue *callMethod( KJS::JSObject *parent, const KJS::UString &methodName, const KJS::List &args = KJS::List() );
00136
00137 private:
00138 class EnginePrivate *dptr;
00139 };
00140
00141 }
00142
00143 #endif
00144
00145