Changeset View
Changeset View
Standalone View
Standalone View
source/ps/scripting/JSInterface_ModIo.cpp
Show First 20 Lines • Show All 86 Lines • ▼ Show 20 Lines | JS::Value JSI_ModIo::GetMods(ScriptInterface::CxPrivate* pCxPrivate) | ||||
ScriptInterface* scriptInterface = pCxPrivate->pScriptInterface; | ScriptInterface* scriptInterface = pCxPrivate->pScriptInterface; | ||||
JSContext* cx = scriptInterface->GetContext(); | JSContext* cx = scriptInterface->GetContext(); | ||||
JSAutoRequest rq(cx); | JSAutoRequest rq(cx); | ||||
const std::vector<ModIoModData>& availableMods = g_ModIo->GetMods(); | const std::vector<ModIoModData>& availableMods = g_ModIo->GetMods(); | ||||
JS::RootedValue mods(cx); | JS::RootedValue mods(cx); | ||||
scriptInterface->CreateArray(&mods, availableMods.size()); | ScriptInterface::CreateArray(cx, &mods, availableMods.size()); | ||||
u32 i = 0; | u32 i = 0; | ||||
for (const ModIoModData& mod : availableMods) | for (const ModIoModData& mod : availableMods) | ||||
{ | { | ||||
JS::RootedValue m(cx); | JS::RootedValue m(cx); | ||||
scriptInterface->CreateObject(&m); | ScriptInterface::CreateObject(cx, &m); | ||||
for (const std::pair<std::string, std::string>& prop : mod.properties) | for (const std::pair<std::string, std::string>& prop : mod.properties) | ||||
scriptInterface->SetProperty(m, prop.first.c_str(), prop.second, true); | scriptInterface->SetProperty(m, prop.first.c_str(), prop.second, true); | ||||
scriptInterface->SetProperty(m, "dependencies", mod.dependencies, true); | scriptInterface->SetProperty(m, "dependencies", mod.dependencies, true); | ||||
scriptInterface->SetPropertyInt(mods, i++, m); | scriptInterface->SetPropertyInt(mods, i++, m); | ||||
} | } | ||||
Show All 24 Lines | JS::Value JSI_ModIo::GetDownloadProgress(ScriptInterface::CxPrivate* pCxPrivate) | ||||
ScriptInterface* scriptInterface = pCxPrivate->pScriptInterface; | ScriptInterface* scriptInterface = pCxPrivate->pScriptInterface; | ||||
JSContext* cx = scriptInterface->GetContext(); | JSContext* cx = scriptInterface->GetContext(); | ||||
JSAutoRequest rq(cx); | JSAutoRequest rq(cx); | ||||
const DownloadProgressData& progress = g_ModIo->GetDownloadProgress(); | const DownloadProgressData& progress = g_ModIo->GetDownloadProgress(); | ||||
JS::RootedValue progressData(cx); | JS::RootedValue progressData(cx); | ||||
scriptInterface->CreateObject(&progressData); | ScriptInterface::CreateObject(cx, &progressData); | ||||
scriptInterface->SetProperty(progressData, "status", statusStrings.at(progress.status), true); | scriptInterface->SetProperty(progressData, "status", statusStrings.at(progress.status), true); | ||||
scriptInterface->SetProperty(progressData, "progress", progress.progress, true); | scriptInterface->SetProperty(progressData, "progress", progress.progress, true); | ||||
scriptInterface->SetProperty(progressData, "error", progress.error, true); | scriptInterface->SetProperty(progressData, "error", progress.error, true); | ||||
return progressData; | return progressData; | ||||
} | } | ||||
void JSI_ModIo::RegisterScriptFunctions(const ScriptInterface& scriptInterface) | void JSI_ModIo::RegisterScriptFunctions(const ScriptInterface& scriptInterface) | ||||
Show All 9 Lines |
Wildfire Games · Phabricator