JsValuePtr GlobalJsObject::Setup(JsEnginePtr jsEngine, const AppInfo& appInfo, JsValuePtr obj) { obj->SetProperty("setTimeout", jsEngine->NewCallback(::SetTimeoutCallback)); obj->SetProperty("_triggerEvent", jsEngine->NewCallback(::TriggerEventCallback)); obj->SetProperty("_fileSystem", FileSystemJsObject::Setup(jsEngine, jsEngine->NewObject())); obj->SetProperty("_webRequest", WebRequestJsObject::Setup(jsEngine, jsEngine->NewObject())); obj->SetProperty("console", ConsoleJsObject::Setup(jsEngine, jsEngine->NewObject())); obj->SetProperty("_appInfo", AppInfoJsObject::Setup(jsEngine, appInfo, jsEngine->NewObject())); return obj; }
JsValuePtr FileSystemJsObject::Setup(JsEnginePtr jsEngine, JsValuePtr obj) { 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)); obj->SetProperty("resolve", jsEngine->NewCallback(::ResolveCallback)); return obj; }