MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Toggle main menu visibility
Loading...
Searching...
No Matches
include
maplibre_native_c
logging.h
Go to the documentation of this file.
1
5
6
#ifndef MAPLIBRE_NATIVE_C_LOGGING_H
7
#define MAPLIBRE_NATIVE_C_LOGGING_H
8
9
#include <stdint.h>
10
11
#include "
base.h
"
12
13
#ifdef __cplusplus
14
extern
"C"
{
15
#endif
16
18
typedef
enum
mln_log_severity
: uint32_t {
19
MLN_LOG_SEVERITY_INFO = 1,
20
MLN_LOG_SEVERITY_WARNING = 2,
21
MLN_LOG_SEVERITY_ERROR = 3,
22
}
mln_log_severity
;
23
25
typedef
enum
MLN_BINDING
(
"kind=bitmask"
)
mln_log_severity_mask
: uint32_t {
26
MLN_LOG_SEVERITY_MASK_INFO = 1U << MLN_LOG_SEVERITY_INFO,
27
MLN_LOG_SEVERITY_MASK_WARNING = 1U << MLN_LOG_SEVERITY_WARNING,
28
MLN_LOG_SEVERITY_MASK_ERROR = 1U << MLN_LOG_SEVERITY_ERROR,
29
MLN_LOG_SEVERITY_MASK_DEFAULT = MLN_LOG_SEVERITY_MASK_INFO |
30
MLN_LOG_SEVERITY_MASK_WARNING,
31
MLN_LOG_SEVERITY_MASK_ALL = MLN_LOG_SEVERITY_MASK_INFO |
32
MLN_LOG_SEVERITY_MASK_WARNING | MLN_LOG_SEVERITY_MASK_ERROR,
33
}
mln_log_severity_mask
;
34
36
typedef
enum
mln_log_event
: uint32_t {
37
MLN_LOG_EVENT_GENERAL = 0,
38
MLN_LOG_EVENT_SETUP = 1,
39
MLN_LOG_EVENT_SHADER = 2,
40
MLN_LOG_EVENT_PARSE_STYLE = 3,
41
MLN_LOG_EVENT_PARSE_TILE = 4,
42
MLN_LOG_EVENT_RENDER = 5,
43
MLN_LOG_EVENT_STYLE = 6,
44
MLN_LOG_EVENT_DATABASE = 7,
45
MLN_LOG_EVENT_HTTP_REQUEST = 8,
46
MLN_LOG_EVENT_SPRITE = 9,
47
MLN_LOG_EVENT_IMAGE = 10,
48
MLN_LOG_EVENT_GRAPHICS_BACKEND = 11,
49
MLN_LOG_EVENT_JNI = 12,
50
MLN_LOG_EVENT_ANDROID = 13,
51
MLN_LOG_EVENT_CRASH = 14,
52
MLN_LOG_EVENT_GLYPH = 15,
53
MLN_LOG_EVENT_TIMING = 16,
54
}
mln_log_event
;
55
66
MLN_BINDING
(
"failure=0;delivery=MLN_DELIVERY_TYPE_LOG_RECORD;queue_result=1"
)
67
typedef uint32_t (*
mln_log_callback
)(
68
void
* user_data, uint32_t severity
MLN_BINDING
(
"enum=mln_log_severity"
),
69
uint32_t event
MLN_BINDING
(
"enum=mln_log_event"
), int64_t code,
70
const
char
* message
71
);
72
79
typedef struct
mln_log_handler
{
80
uint32_t size;
86
mln_log_callback
callback
;
88
void
*
user_data
MLN_BINDING
(
"kind=context"
);
96
mln_user_data_release
release_user_data
;
107
mln_delivery_queue
queue
MLN_BINDING
(
"kind=delivery_queue"
);
108
}
mln_log_handler
MLN_BINDING
(
109
"kind=callback_registration;release=release_user_data"
110
);
111
138
MLN_API
mln_status
mln_log_set_callback
(
139
const
mln_log_handler
* handler,
mln_diagnostic
* out_diagnostic
140
) MLN_NOEXCEPT;
141
152
MLN_API
mln_status
153
mln_log_clear_callback
(
mln_diagnostic
* out_diagnostic) MLN_NOEXCEPT;
154
169
MLN_API
mln_status
mln_log_set_async_severity_mask
(
170
uint32_t mask
MLN_BINDING
(
"enum=mln_log_severity_mask"
),
171
mln_diagnostic
* out_diagnostic
172
) MLN_NOEXCEPT;
173
174
#ifdef __cplusplus
175
}
176
#endif
177
178
#endif
// MAPLIBRE_NATIVE_C_LOGGING_H
base.h
mln_delivery_queue
uint64_t mln_delivery_queue
Definition
base.h:178
mln_user_data_release
void(*) mln_user_data_release(void *user_data)
Definition
base.h:205
mln_status
mln_status
Definition
base.h:61
MLN_BINDING
#define MLN_BINDING(contract)
Definition
binding.h:17
mln_log_clear_callback
mln_status mln_log_clear_callback(mln_diagnostic *out_diagnostic)
mln_log_set_async_severity_mask
mln_status mln_log_set_async_severity_mask(uint32_t mask, mln_diagnostic *out_diagnostic)
mln_log_set_callback
mln_status mln_log_set_callback(const mln_log_handler *handler, mln_diagnostic *out_diagnostic)
mln_log_severity
mln_log_severity
Definition
logging.h:18
mln_log_severity_mask
mln_log_severity_mask
Definition
logging.h:25
mln_log_callback
uint32_t(*) mln_log_callback(void *user_data, uint32_t severity, uint32_t event, int64_t code, const char *message)
Definition
logging.h:67
mln_log_event
mln_log_event
Definition
logging.h:36
mln_diagnostic
Definition
base.h:100
mln_log_handler
Definition
logging.h:79
mln_log_handler::callback
mln_log_callback callback
Definition
logging.h:86
mln_log_handler::release_user_data
mln_user_data_release release_user_data
Definition
logging.h:96
mln_log_handler::user_data
void * user_data
Definition
logging.h:88
mln_log_handler::queue
mln_delivery_queue queue
Definition
logging.h:107
Generated by
1.18.0