18void SYS_AcquireFileData(
const char* path,
bool isAsset, int32_t maxSize,
char*& outData, uint32_t& outSize);
34 const std::string& destDir);
39bool SYS_Rename(
const char* oldPath,
const char* newPath);
60void SYS_Exec(
const char* cmd, std::string* output =
nullptr);
74bool SYS_ExecFull(
const char* cmd, std::string* outStdout, std::string* outStderr,
int* outExitCode);
135#define SCOPED_LOCK(mutex) ScopedLock scopedLock(mutex)
Export macros for Polyphase Engine symbols.
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
ThreadFuncRet(* ThreadFuncFP)(void *)
Definition SystemTypes.h:57
LogSeverity
Definition SystemTypes.h:139
ScreenOrientation
Definition SystemTypes.h:66
POLYPHASE_API uint64_t SYS_GetTimeMicroseconds()
POLYPHASE_API void SYS_UnlockMutex(MutexObject *mutex)
std::string SYS_GetAbsolutePath(const std::string &relativePath)
std::string SYS_GetFileName(const std::string &path)
bool SYS_ExecFull(const char *cmd, std::string *outStdout, std::string *outStderr, int *outExitCode)
Execute a command with full output capture.
Definition SystemUtils.cpp:63
std::string SYS_SaveFileDialog()
void SYS_CopyDirectory(const char *sourceDir, const char *destDir)
std::vector< MemoryStat > SYS_GetMemoryStats()
void SYS_CloseDirectory(DirEntry &dirEntry)
void SYS_IterateDirectory(DirEntry &dirEntry)
void SYS_MaximizeWindow()
POLYPHASE_API ThreadObject * SYS_CreateThread(ThreadFuncFP func, void *arg)
void SYS_AcquireFileData(const char *path, bool isAsset, int32_t maxSize, char *&outData, uint32_t &outSize)
POLYPHASE_API void SYS_Assert(const char *exprString, const char *fileString, uint32_t lineNumber)
std::string SYS_GetCurrentDirectoryPath()
bool SYS_DoesFileExist(const char *path, bool isAsset)
void SYS_ExplorerOpenDirectory(const std::string &dirPath)
std::string SYS_GetPolyphasePath()
bool SYS_DoesWindowHaveFocus()
bool SYS_CreateDirectory(const char *dirPath)
void SYS_Exec(const char *cmd, std::string *output=nullptr)
void SYS_MoveDirectory(const char *sourceDir, const char *destDir)
void SYS_SetWindowRect(int32_t x, int32_t y, int32_t width, int32_t height)
bool SYS_DeleteSave(const char *saveName)
void * SYS_AlignedMalloc(uint32_t size, uint32_t alignment)
void SYS_Alert(const char *message)
void SYS_SetWindowIcon(const char *iconPath)
void SYS_SetFullscreen(bool fullscreen)
bool SYS_WriteSave(const char *saveName, Stream &stream)
void SYS_OpenDirectory(const std::string &dirPath, DirEntry &outDirEntry)
void SYS_AlignedFree(void *pointer)
void SYS_RemoveDirectory(const char *dirPath)
std::vector< std::string > SYS_OpenFileDialog()
POLYPHASE_API void SYS_LockMutex(MutexObject *mutex)
void SYS_SetClipboardText(const std::string &str)
void SYS_SetScreenOrientation(ScreenOrientation orientation)
void SYS_CopyFile(const char *sourcePath, const char *destPath)
std::string SYS_GetClipboardText()
POLYPHASE_API void SYS_DestroyMutex(MutexObject *mutex)
ScreenOrientation SYS_GetScreenOrientation()
bool SYS_Rename(const char *oldPath, const char *newPath)
POLYPHASE_API void SYS_Sleep(uint32_t milliseconds)
std::string SYS_SelectFolderDialog()
bool SYS_IsWindowMaximized()
void SYS_GetWindowRect(int32_t &outX, int32_t &outY, int32_t &outWidth, int32_t &outHeight)
void SYS_OpenFileWithDefaultApp(const std::string &filePath)
POLYPHASE_API MutexObject * SYS_CreateMutex()
void SYS_MoveFile(const char *sourcePath, const char *destPath)
POLYPHASE_API void SYS_JoinThread(ThreadObject *thread)
bool SYS_CopyDirectoryRecursive(const std::string &sourceDir, const std::string &destDir)
void SYS_SetWorkingDirectory(const std::string &dirPath)
void SYS_SetWindowTitle(const char *title)
bool SYS_ReadSave(const char *saveName, Stream &outStream)
void SYS_UnmountMemoryCard()
void SYS_ReleaseFileData(char *data)
int32_t SYS_GetPlatformTier()
std::string SYS_GetExecutablePath()
void SYS_RemoveFile(const char *path)
void SYS_Log(LogSeverity severity, const char *format, va_list arg)
POLYPHASE_API void SYS_DestroyThread(ThreadObject *thread)
bool SYS_DoesSaveExist(const char *saveName)
Definition SystemTypes.h:75
ScopedLock(MutexObject *mutex)
Definition System.h:121
MutexObject * mMutex
Definition System.h:132
~ScopedLock()
Definition System.h:127