Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
#include "precompiled.h"
#include "lib/app_hooks.h"
#include "lib/sysdep/sysdep.h"
#include <cstdio>
Macros | |
#define | OVERRIDE_IF_NONZERO(HOOKNAME) if(new_ah->HOOKNAME) ah.HOOKNAME = new_ah->HOOKNAME; |
Functions | |
static const OsPath & | def_get_log_dir () |
static void | def_bundle_logs (FILE *f) |
static ErrorReactionInternal | def_display_error (const wchar_t *text, size_t flags) |
void | app_hooks_update (AppHooks *new_ah) |
update the app hook function pointers. More... | |
bool | app_hook_was_redefined (size_t offset_in_struct) |
was the app hook changed via app_hooks_update from its default value? More... | |
const OsPath & | ah_get_log_dir () |
return path to directory into which crash dumps should be written. More... | |
void | ah_bundle_logs (FILE *f) |
gather all app-related logs/information and write it to file. More... | |
ErrorReactionInternal | ah_display_error (const wchar_t *text, size_t flags) |
display an error dialog, thus overriding sys_display_error. More... | |
Variables | |
static AppHooks | ah |
static AppHooks | default_ah = ah |
#define OVERRIDE_IF_NONZERO | ( | HOOKNAME | ) | if(new_ah->HOOKNAME) ah.HOOKNAME = new_ah->HOOKNAME; |
void ah_bundle_logs | ( | FILE * | f | ) |
gather all app-related logs/information and write it to file.
used when writing a crash log so that all relevant info is in one file.
the default implementation attempts to gather 0ad data, but is fail-safe (doesn't complain if file not found).
f | file into which to write. |
ErrorReactionInternal ah_display_error | ( | const wchar_t * | text, |
size_t | flags | ||
) |
display an error dialog, thus overriding sys_display_error.
text | error message. |
flags | see DebugDisplayErrorFlags. |
the default implementation just returns ERI_NOT_IMPLEMENTED, which causes the normal sys_display_error to be used.
const OsPath & ah_get_log_dir | ( | ) |
return path to directory into which crash dumps should be written.
must be callable at any time - in particular, before VFS init. paths are typically relative to sys_ExecutablePathname.
bool app_hook_was_redefined | ( | size_t | offset_in_struct | ) |
was the app hook changed via app_hooks_update from its default value?
offset_in_struct | byte offset within AppHooks (determined via offsetof) of the app hook function pointer. |
void app_hooks_update | ( | AppHooks * | ah | ) |
update the app hook function pointers.
ah | AppHooks struct. any of its function pointers that are non-zero override the previous function pointer value (these default to the stub hooks which are functional but basic). |
|
static |
|
static |
|
static |
|
static |