| Index: src/FileSystemJsObject.cpp | 
| =================================================================== | 
| --- a/src/FileSystemJsObject.cpp | 
| +++ b/src/FileSystemJsObject.cpp | 
| @@ -310,27 +310,17 @@ namespace | 
| "Second argument to _fileSystem.stat must be a function")); | 
| StatThread* const statThread = new StatThread(jsEngine, converted[1], | 
| converted[0]->AsString()); | 
| statThread->Start(); | 
| return v8::Undefined(); | 
| } | 
| } | 
| -v8::Handle<v8::ObjectTemplate> | 
| -FileSystemJsObject::Create(JsEngine& jsEngine) | 
| +JsValuePtr FileSystemJsObject::Setup(JsEngine& jsEngine, JsValuePtr obj) | 
| { | 
| - v8::HandleScope handleScope; | 
| - const v8::Local<v8::ObjectTemplate> file = v8::ObjectTemplate::New(); | 
| - const v8::Local<v8::External> jsEngineExternal = | 
| - v8::External::New(&jsEngine); | 
| - file->Set(v8::String::New("read"), | 
| - v8::FunctionTemplate::New(ReadCallback, jsEngineExternal)); | 
| - file->Set(v8::String::New("write"), | 
| - v8::FunctionTemplate::New(WriteCallback, jsEngineExternal)); | 
| - file->Set(v8::String::New("move"), | 
| - v8::FunctionTemplate::New(MoveCallback, jsEngineExternal)); | 
| - file->Set(v8::String::New("remove"), | 
| - v8::FunctionTemplate::New(RemoveCallback, jsEngineExternal)); | 
| - file->Set(v8::String::New("stat"), | 
| - v8::FunctionTemplate::New(StatCallback, jsEngineExternal)); | 
| - return handleScope.Close(file); | 
| + obj->SetProperty("read", jsEngine.NewCallback(::ReadCallback)); | 
| + obj->SetProperty("write", jsEngine.NewCallback(::WriteCallback)); | 
| + obj->SetProperty("move", jsEngine.NewCallback(::MoveCallback)); | 
| + obj->SetProperty("remove", jsEngine.NewCallback(::RemoveCallback)); | 
| + obj->SetProperty("stat", jsEngine.NewCallback(::StatCallback)); | 
| + return obj; | 
| } |