#ifndef node_script_h #define node_script_h #include #include #include #include namespace node { class Script : ObjectWrap { public: static void Initialize (v8::Handle target); enum EvalInputFlags { compileCode, unwrapExternal }; enum EvalContextFlags { thisContext, newContext }; enum EvalOutputFlags { returnResult, wrapExternal }; template static v8::Handle EvalMachine(const v8::Arguments& args); protected: static v8::Persistent constructor_template; Script () : ObjectWrap () {} ~Script(); static v8::Handle New (const v8::Arguments& args); static v8::Handle RunInThisContext (const v8::Arguments& args); static v8::Handle RunInNewContext (const v8::Arguments& args); static v8::Handle CompileRunInThisContext (const v8::Arguments& args); static v8::Handle CompileRunInNewContext (const v8::Arguments& args); v8::Persistent _script; }; } // namespace node #endif // node_script_h