libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_ilogger.h
Go to the documentation of this file.
1/*! \file
2 * \brief GblILogger abstract logger interface
3 * \ingroup interfaces
4 * \todo
5 * - obsolete me
6 *
7 * \author Falco Girgis
8 */
9
10
11#ifndef GIMBAL_ILOGGER_H
12#define GIMBAL_ILOGGER_H
13
15#include <stdarg.h>
16
17#define GBL_ILOGGER_TYPE (GBL_TYPEID(GblILogger))
18#define GBL_ILOGGER(instance) (GBL_CAST(GblILogger, instance))
19#define GBL_ILOGGER_CLASS(klass) (GBL_CLASS_CAST(GblILogger, klass))
20#define GBL_ILOGGER_GET_CLASS(instance) (GBL_CLASSOF(GblILogger, instance))
21
22#define GBL_SELF_TYPE GblILogger
23
25
26GBL_FORWARD_DECLARE_STRUCT(GblStackFrame);
27
28#define GBL_META_LOG_LEVEL_TABLE (
29 ( GBL_LOG_LEVEL, LogLevel, "Log Message Severity Level", gblLogLevelString),
30 (
31 (GBL_LOG_LEVEL_DEBUG, 0x1, Debug, "Debug"),
32 (GBL_LOG_LEVEL_VERBOSE, 0x2, Verbose, "Verbose"),
33 (GBL_LOG_LEVEL_INFO, 0x4, Info, "Info"),
34 (GBL_LOG_LEVEL_WARNING, 0x8, Warning, "Warning"),
35 (GBL_LOG_LEVEL_ERROR, 0x10, Error, "Error"),
36 (GBL_LOG_LEVEL_COUNT, 0x5, Count, "# of Levels")
37 )
38 )
39
41
42/*! \struct GblILoggerClass
43 * \extends GblInterface
44 * \brief GblClass structure for GblILogger
45 * \deprecated
46 * \todo
47 * - replace me with GblLogger
48 * \sa GblLogger
49 */
51 GBL_RESULT (*pFnWrite)(GBL_SELF, const GblStackFrame* pFrame, GBL_LOG_LEVEL level, const char* pFmt, va_list varArgs);
52 GBL_RESULT (*pFnPush) (GBL_SELF, const GblStackFrame* pFrame);
53 GBL_RESULT (*pFnPop) (GBL_SELF, const GblStackFrame* pFrame, uint32_t count);
55
56GBL_EXPORT GblType GblILogger_type (void) GBL_NOEXCEPT;
57
58GBL_EXPORT GBL_RESULT GblILogger_write (GBL_SELF,
59 const GblStackFrame* pFrame,
60 GBL_LOG_LEVEL level,
61 const char* pFmt,
62 va_list varArgs) GBL_NOEXCEPT;
63
64GBL_EXPORT GBL_RESULT GblILogger_push (GBL_SELF,
65 const GblStackFrame* pFrame) GBL_NOEXCEPT;
66
67GBL_EXPORT GBL_RESULT GblILogger_pop (GBL_SELF,
68 const GblStackFrame* pFrame,
69 uint32_t count) GBL_NOEXCEPT;
70
72
73#undef GBL_SELF_TYPE
74
75
76
77
78#endif // GIMBAL_ILOGGER_H
#define GBL_CLASS_CAST(cType, klass)
#define GBL_NOEXCEPT
#define GBL_DECLS_BEGIN
#define GBL_FORWARD_DECLARE_STRUCT(S)
#define GBL_TYPEID(instanceStruct)
#define GBL_INTERFACE_END
#define GBL_INTERFACE_DERIVE(...)
#define GBL_ENUM_TABLE_DECLARE(table)
#define GBL_EXPORT
#define GBL_META_LOG_LEVEL_TABLE
uintptr_t GblType
Meta Type UUID.
Definition gimbal_type.h:51