mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Mass rename CxPrivate to CmptPrivate.
As part of the SM45->52 migration, a ScriptInterface becomes a wrapper around a JSCompartment, not a JSContext, thus we ought to store private data for the compartment and not the context. This is a mass rename of CxPrivate to CmptPrivate to match that before the actual changes. Part of the SM52 migration, stage: SM45 compatible Patch by: Itms Tested By: Freagarach Refs #4893 Differential Revision: https://code.wildfiregames.com/D3089 This was SVN commit r24177.
This commit is contained in:
@@ -80,9 +80,9 @@ static Status BuildDirEntListCB(const VfsPath& pathname, const CFileInfo& UNUSED
|
||||
// specified directory.
|
||||
// filter_string: default "" matches everything; otherwise, see vfs_next_dirent.
|
||||
// recurse: should subdirectories be included in the search? default false.
|
||||
JS::Value JSI_VFS::BuildDirEntList(ScriptInterface::CxPrivate* pCxPrivate, const std::vector<CStrW>& validPaths, const std::wstring& path, const std::wstring& filterStr, bool recurse)
|
||||
JS::Value JSI_VFS::BuildDirEntList(ScriptInterface::CmptPrivate* pCmptPrivate, const std::vector<CStrW>& validPaths, const std::wstring& path, const std::wstring& filterStr, bool recurse)
|
||||
{
|
||||
if (!PathRestrictionMet(pCxPrivate, validPaths, path))
|
||||
if (!PathRestrictionMet(pCmptPrivate, validPaths, path))
|
||||
return JS::NullValue();
|
||||
|
||||
// convert to const wchar_t*; if there's no filter, pass 0 for speed
|
||||
@@ -94,20 +94,20 @@ JS::Value JSI_VFS::BuildDirEntList(ScriptInterface::CxPrivate* pCxPrivate, const
|
||||
int flags = recurse ? vfs::DIR_RECURSIVE : 0;
|
||||
|
||||
// build array in the callback function
|
||||
BuildDirEntListState state(pCxPrivate->pScriptInterface);
|
||||
BuildDirEntListState state(pCmptPrivate->pScriptInterface);
|
||||
vfs::ForEachFile(g_VFS, path, BuildDirEntListCB, (uintptr_t)&state, filter, flags);
|
||||
|
||||
return JS::ObjectValue(*state.filename_array);
|
||||
}
|
||||
|
||||
// Return true iff the file exits
|
||||
bool JSI_VFS::FileExists(ScriptInterface::CxPrivate* pCxPrivate, const std::vector<CStrW>& validPaths, const CStrW& filename)
|
||||
bool JSI_VFS::FileExists(ScriptInterface::CmptPrivate* pCmptPrivate, const std::vector<CStrW>& validPaths, const CStrW& filename)
|
||||
{
|
||||
return PathRestrictionMet(pCxPrivate, validPaths, filename) && g_VFS->GetFileInfo(filename, 0) == INFO::OK;
|
||||
return PathRestrictionMet(pCmptPrivate, validPaths, filename) && g_VFS->GetFileInfo(filename, 0) == INFO::OK;
|
||||
}
|
||||
|
||||
// Return time [seconds since 1970] of the last modification to the specified file.
|
||||
double JSI_VFS::GetFileMTime(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), const std::wstring& filename)
|
||||
double JSI_VFS::GetFileMTime(ScriptInterface::CmptPrivate* UNUSED(pCmptPrivate), const std::wstring& filename)
|
||||
{
|
||||
CFileInfo fileInfo;
|
||||
Status err = g_VFS->GetFileInfo(filename, &fileInfo);
|
||||
@@ -117,7 +117,7 @@ double JSI_VFS::GetFileMTime(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), con
|
||||
}
|
||||
|
||||
// Return current size of file.
|
||||
unsigned int JSI_VFS::GetFileSize(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), const std::wstring& filename)
|
||||
unsigned int JSI_VFS::GetFileSize(ScriptInterface::CmptPrivate* UNUSED(pCmptPrivate), const std::wstring& filename)
|
||||
{
|
||||
CFileInfo fileInfo;
|
||||
Status err = g_VFS->GetFileInfo(filename, &fileInfo);
|
||||
@@ -127,7 +127,7 @@ unsigned int JSI_VFS::GetFileSize(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)
|
||||
}
|
||||
|
||||
// Return file contents in a string. Assume file is UTF-8 encoded text.
|
||||
JS::Value JSI_VFS::ReadFile(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& filename)
|
||||
JS::Value JSI_VFS::ReadFile(ScriptInterface::CmptPrivate* pCmptPrivate, const std::wstring& filename)
|
||||
{
|
||||
CVFSFile file;
|
||||
if (file.Load(g_VFS, filename) != PSRETURN_OK)
|
||||
@@ -139,14 +139,14 @@ JS::Value JSI_VFS::ReadFile(ScriptInterface::CxPrivate* pCxPrivate, const std::w
|
||||
contents.Replace("\r\n", "\n");
|
||||
|
||||
// Decode as UTF-8
|
||||
ScriptInterface::Request rq(pCxPrivate);
|
||||
ScriptInterface::Request rq(pCmptPrivate);
|
||||
JS::RootedValue ret(rq.cx);
|
||||
ScriptInterface::ToJSVal(rq, &ret, contents.FromUTF8());
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Return file contents as an array of lines. Assume file is UTF-8 encoded text.
|
||||
JS::Value JSI_VFS::ReadFileLines(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& filename)
|
||||
JS::Value JSI_VFS::ReadFileLines(ScriptInterface::CmptPrivate* pCmptPrivate, const std::wstring& filename)
|
||||
{
|
||||
CVFSFile file;
|
||||
if (file.Load(g_VFS, filename) != PSRETURN_OK)
|
||||
@@ -160,7 +160,7 @@ JS::Value JSI_VFS::ReadFileLines(ScriptInterface::CxPrivate* pCxPrivate, const s
|
||||
// split into array of strings (one per line)
|
||||
std::stringstream ss(contents);
|
||||
|
||||
const ScriptInterface& scriptInterface = *pCxPrivate->pScriptInterface;
|
||||
const ScriptInterface& scriptInterface = *pCmptPrivate->pScriptInterface;
|
||||
ScriptInterface::Request rq(scriptInterface);
|
||||
|
||||
JS::RootedValue line_array(rq.cx);
|
||||
@@ -180,21 +180,21 @@ JS::Value JSI_VFS::ReadFileLines(ScriptInterface::CxPrivate* pCxPrivate, const s
|
||||
return line_array;
|
||||
}
|
||||
|
||||
JS::Value JSI_VFS::ReadJSONFile(ScriptInterface::CxPrivate* pCxPrivate, const std::vector<CStrW>& validPaths, const CStrW& filePath)
|
||||
JS::Value JSI_VFS::ReadJSONFile(ScriptInterface::CmptPrivate* pCmptPrivate, const std::vector<CStrW>& validPaths, const CStrW& filePath)
|
||||
{
|
||||
if (!PathRestrictionMet(pCxPrivate, validPaths, filePath))
|
||||
if (!PathRestrictionMet(pCmptPrivate, validPaths, filePath))
|
||||
return JS::NullValue();
|
||||
|
||||
const ScriptInterface& scriptInterface = *pCxPrivate->pScriptInterface;
|
||||
const ScriptInterface& scriptInterface = *pCmptPrivate->pScriptInterface;
|
||||
ScriptInterface::Request rq(scriptInterface);
|
||||
JS::RootedValue out(rq.cx);
|
||||
scriptInterface.ReadJSONFile(filePath, &out);
|
||||
return out;
|
||||
}
|
||||
|
||||
void JSI_VFS::WriteJSONFile(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& filePath, JS::HandleValue val1)
|
||||
void JSI_VFS::WriteJSONFile(ScriptInterface::CmptPrivate* pCmptPrivate, const std::wstring& filePath, JS::HandleValue val1)
|
||||
{
|
||||
const ScriptInterface& scriptInterface = *pCxPrivate->pScriptInterface;
|
||||
const ScriptInterface& scriptInterface = *pCmptPrivate->pScriptInterface;
|
||||
ScriptInterface::Request rq(scriptInterface);
|
||||
|
||||
// TODO: This is a workaround because we need to pass a MutableHandle to StringifyJSON.
|
||||
@@ -208,7 +208,7 @@ void JSI_VFS::WriteJSONFile(ScriptInterface::CxPrivate* pCxPrivate, const std::w
|
||||
g_VFS->CreateFile(path, buf.Data(), buf.Size());
|
||||
}
|
||||
|
||||
bool JSI_VFS::PathRestrictionMet(ScriptInterface::CxPrivate* pCxPrivate, const std::vector<CStrW>& validPaths, const CStrW& filePath)
|
||||
bool JSI_VFS::PathRestrictionMet(ScriptInterface::CmptPrivate* pCmptPrivate, const std::vector<CStrW>& validPaths, const CStrW& filePath)
|
||||
{
|
||||
for (const CStrW& validPath : validPaths)
|
||||
if (filePath.find(validPath) == 0)
|
||||
@@ -223,24 +223,24 @@ bool JSI_VFS::PathRestrictionMet(ScriptInterface::CxPrivate* pCxPrivate, const s
|
||||
allowedPaths += L"\"" + validPaths[i] + L"\"";
|
||||
}
|
||||
|
||||
ScriptInterface::Request rq(pCxPrivate);
|
||||
ScriptInterface::Request rq(pCmptPrivate);
|
||||
JS_ReportError(rq.cx, "This part of the engine may only read from %s!", utf8_from_wstring(allowedPaths).c_str());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#define VFS_ScriptFunctions(context)\
|
||||
JS::Value Script_ReadJSONFile_##context(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& filePath)\
|
||||
JS::Value Script_ReadJSONFile_##context(ScriptInterface::CmptPrivate* pCmptPrivate, const std::wstring& filePath)\
|
||||
{\
|
||||
return JSI_VFS::ReadJSONFile(pCxPrivate, PathRestriction_##context, filePath);\
|
||||
return JSI_VFS::ReadJSONFile(pCmptPrivate, PathRestriction_##context, filePath);\
|
||||
}\
|
||||
JS::Value Script_ListDirectoryFiles_##context(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& path, const std::wstring& filterStr, bool recurse)\
|
||||
JS::Value Script_ListDirectoryFiles_##context(ScriptInterface::CmptPrivate* pCmptPrivate, const std::wstring& path, const std::wstring& filterStr, bool recurse)\
|
||||
{\
|
||||
return JSI_VFS::BuildDirEntList(pCxPrivate, PathRestriction_##context, path, filterStr, recurse);\
|
||||
return JSI_VFS::BuildDirEntList(pCmptPrivate, PathRestriction_##context, path, filterStr, recurse);\
|
||||
}\
|
||||
bool Script_FileExists_##context(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& filePath)\
|
||||
bool Script_FileExists_##context(ScriptInterface::CmptPrivate* pCmptPrivate, const std::wstring& filePath)\
|
||||
{\
|
||||
return JSI_VFS::FileExists(pCxPrivate, PathRestriction_##context, filePath);\
|
||||
return JSI_VFS::FileExists(pCmptPrivate, PathRestriction_##context, filePath);\
|
||||
}\
|
||||
|
||||
VFS_ScriptFunctions(GUI);
|
||||
|
||||
Reference in New Issue
Block a user