|  | 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 |