9#include "../core/gimbal_typedefs.h"
15#define GBL_META_LOG_LEVEL_TABLE ( \
16 ( GBL_LOG_LEVEL, LogLevel, "Log Message Severity Level", gblLogLevelString), \
18 (GBL_LOG_LEVEL_DEBUG, 0x1, Debug, "Debug"), \
19 (GBL_LOG_LEVEL_VERBOSE, 0x2, Verbose, "Verbose"), \
20 (GBL_LOG_LEVEL_INFO, 0x4, Info, "Info"), \
21 (GBL_LOG_LEVEL_WARNING, 0x8, Warning, "Warning"), \
22 (GBL_LOG_LEVEL_ERROR, 0x10, Error, "Error"), \
23 (GBL_LOG_LEVEL_COUNT, 0x5, Count, "# of Levels") \
27GBL_ENUM_TABLE_DECLARE(GBL_META_LOG_LEVEL_TABLE);
33typedef GBL_RESULT (*GblExtLogWriteFn) (
const GblStackFrame*, GBL_LOG_LEVEL,
const char*, va_list);
35typedef GBL_RESULT (*GblExtLogPopFn) (
const GblStackFrame*, uint32_t);
38typedef GBL_RESULT (*GblExtMemAllocFn) (
const GblStackFrame*, GblSize, GblSize,
const char*,
void**);
39typedef GBL_RESULT (*GblExtMemReallocFn) (
const GblStackFrame*,
void*, GblSize, GblSize,
void**);
40typedef GBL_RESULT (*GblExtMemFreeFn) (
const GblStackFrame*,
void*);
60#ifndef GBL_EXT_EVENT_HANDLER
61# define GBL_EXT_EVENT_HANDLER gblExtEventHandler
68# define GBL_EXT_MALLOC gblExtMemAlloc
71#ifndef GBL_EXT_REALLOC
72# define GBL_EXT_REALLOC gblExtMemRealloc
76# define GBL_EXT_FREE gblExtMemFree
79#ifndef GBL_EXT_LOG_WRITE
80# define GBL_EXT_LOG_WRITE gblExtLogWrite
83#ifndef GBL_EXT_LOG_PUSH
84# define GBL_EXT_LOG_PUSH gblExtLogPush
87#ifndef GBL_EXT_LOG_POP
88# define GBL_EXT_LOG_POP gblExtLogPop
91#ifndef GBL_EXT_RESULT_STRING
92# define GBL_EXT_RESULT_STRING gblExtResultString
96GBL_EXPORT GBL_RESULT gblExtLogWrite (
const GblStackFrame* pFrame, GBL_LOG_LEVEL level,
const char* pFmt, va_list varArgs);
97GBL_EXPORT GBL_RESULT gblExtLogPush (
const GblStackFrame* pFrame);
98GBL_EXPORT GBL_RESULT gblExtLogPop (
const GblStackFrame* pFrame, uint32_t count);
100GBL_EXPORT GBL_RESULT gblExtMemAlloc (
const GblStackFrame* pFrame, GblSize size, GblSize alignment,
const char* pDebugInfoString,
void** ppData);
101GBL_EXPORT GBL_RESULT gblExtMemRealloc (
const GblStackFrame* pFrame,
void* pData, GblSize newSize, GblSize newAlign,
void** ppNewData);
102GBL_EXPORT GBL_RESULT gblExtMemFree (
const GblStackFrame* pFrame,
void* pData);