Rubber stamped by hyatt.
[WebKit-https.git] / JavaScriptGlue / JSRun.h
1 #ifndef __JSRun_h
2 #define __JSRun_h
3
4 /*
5         JSRun.h
6 */
7
8 #include "JSBase.h"
9 #include "JSUtils.h"
10
11 class JSInterpreter : public Interpreter {
12         public:
13                 JSInterpreter(const Object &global, JSFlags flags) : Interpreter(global), fJSFlags(flags) { }
14                 JSInterpreter(const Object &global) : Interpreter(global), fJSFlags(kJSFlagNone) { }
15                 JSInterpreter() : Interpreter(), fJSFlags(kJSFlagNone) { }
16                 JSInterpreter::~JSInterpreter() { }
17                 JSFlags Flags() const { return fJSFlags; }
18         private:
19                 JSFlags fJSFlags;
20 };
21
22 class JSRun : public JSBase {
23         public:
24                 JSRun(CFStringRef source, JSFlags inFlags);
25                 virtual ~JSRun();
26
27                 UString GetSource() const;
28                 Object GlobalObject() const;
29                 JSInterpreter* GetInterpreter();
30                 Completion Evaluate();
31                 bool CheckSyntax();
32                 JSFlags Flags() const;
33         private:
34                 UString fSource;                
35                 ProtectedObject fGlobalObject;
36                 JSInterpreter fInterpreter;
37                 JSFlags fFlags;
38 };
39
40 #endif