/* * JoeyDev * Copyright (C) 2018-2023 Scott Duensing * * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. */ #ifndef UTILS_H #define UTILS_H #include "common.h" #ifdef _WIN32 #define UTIL_PATH_CHAR '\\' #else #define UTIL_PATH_CHAR '/' #endif extern char __utilFilenameBuffer[FILENAME_MAX]; char *utilCreateString(char *format, ...); char *utilCreateStringVArgs(char *format, va_list args); char *utilDeobfuscateASCII(char *obfuscated); void utilDequote(char *string); void utilEnsureBufferSize(unsigned char **buffer, int *length, int wanted); void utilExtractResource(char *path); char *utilFileBasename(char *path); gboolean utilFileCopy(char *from, char *to); gboolean utilFileExists(char *filename); gboolean utilFileOpen(WindowDataT *self, char *extension, char *what); char *utilFileRemoveExtension(char *filename); gboolean utilFileSaveAs(WindowDataT *self, char *extension, char *what); gboolean utilFileSaveOtherAs(WindowDataT *self, char *extension, char *what, char **filename); GtkWidget *utilFindChildWidget(GtkWidget *parent, const gchar *name); char *utilGetToken(char *input, char *delimit, char *openblock, char *closeblock); WindowDataT *utilGetWindowData(GtkWidget *window); gboolean utilGetWidgetsFromMemory(char *resource, char *name[], GtkWidget **widgets[], gpointer userData); gboolean utilMkDirP(const char *dir, const mode_t mode); char *utilObfuscateASCII(char *clearText); gboolean utilQuestionDialog(GtkWidget *parent, char *title, char *question); void utilSetDirty(WindowDataT *self, gboolean dirty); void utilUpdatePath(WindowDataT *self); void utilWindowRegister(gpointer windowData); int utilWindowsCloseAll(void); int utilWindowsOpen(void); gboolean utilWindowUnRegister(gpointer windowData); #endif // UTILS_H