Free Electron
ext
openal
openal-soft-1.19.1
Alc
logging.h
1
#ifndef LOGGING_H
2
#define LOGGING_H
3
4
#include <stdio.h>
5
6
7
#ifdef __GNUC__
8
#define DECL_FORMAT(x, y, z) __attribute__((format(x, (y), (z))))
9
#else
10
#define DECL_FORMAT(x, y, z)
11
#endif
12
13
#ifdef __cplusplus
14
extern
"C"
{
15
#endif
16
17
extern
FILE *LogFile;
18
19
#if defined(__GNUC__) && !defined(_WIN32)
20
#define AL_PRINT(T, MSG, ...) fprintf(LogFile, "AL lib: %s %s: "MSG, T, __FUNCTION__ , ## __VA_ARGS__)
21
#else
22
void
al_print(
const
char
*type,
const
char
*func,
const
char
*fmt, ...) DECL_FORMAT(printf, 3,4);
23
#define AL_PRINT(T, ...) al_print((T), __FUNCTION__, __VA_ARGS__)
24
#endif
25
26
#ifdef __ANDROID__
27
#include <android/log.h>
28
#define LOG_ANDROID(T, MSG, ...) __android_log_print(T, "openal", "AL lib: %s: "MSG, __FUNCTION__ , ## __VA_ARGS__)
29
#else
30
#define LOG_ANDROID(T, MSG, ...) ((void)0)
31
#endif
32
33
enum
LogLevel {
34
NoLog,
35
LogError,
36
LogWarning,
37
LogTrace,
38
LogRef
39
};
40
extern
enum
LogLevel LogLevel;
41
42
#define TRACEREF(...) do { \
43
if(LogLevel >= LogRef) \
44
AL_PRINT("(--)", __VA_ARGS__); \
45
} while(0)
46
47
#define TRACE(...) do { \
48
if(LogLevel >= LogTrace) \
49
AL_PRINT("(II)", __VA_ARGS__); \
50
LOG_ANDROID(ANDROID_LOG_DEBUG, __VA_ARGS__); \
51
} while(0)
52
53
#define WARN(...) do { \
54
if(LogLevel >= LogWarning) \
55
AL_PRINT("(WW)", __VA_ARGS__); \
56
LOG_ANDROID(ANDROID_LOG_WARN, __VA_ARGS__); \
57
} while(0)
58
59
#define ERR(...) do { \
60
if(LogLevel >= LogError) \
61
AL_PRINT("(EE)", __VA_ARGS__); \
62
LOG_ANDROID(ANDROID_LOG_ERROR, __VA_ARGS__); \
63
} while(0)
64
65
#ifdef __cplusplus
66
}
/* extern "C" */
67
#endif
68
69
#endif
/* LOGGING_H */
Generated by
1.8.13