MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Loading...
Searching...
No Matches
callback_adapter.h
Go to the documentation of this file.
1
20
21#ifndef MAPLIBRE_NATIVE_C_CALLBACK_ADAPTER_H
22#define MAPLIBRE_NATIVE_C_CALLBACK_ADAPTER_H
23
24#ifndef __cplusplus
25#include <stdbool.h>
26#endif
27
28#include <stddef.h>
29#include <stdint.h>
30
31#include "maplibre_native_c/base.h" // IWYU pragma: export
32#include "maplibre_native_c/runtime.h" // IWYU pragma: export
33#include "maplibre_native_c/style.h" // IWYU pragma: export
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39// NOLINTBEGIN(modernize-use-using,modernize-use-trailing-return-type)
40
42#define MLN_ADAPTER_RESOURCE_KIND_ANY UINT32_MAX
43
44// This block uses line comments because its examples contain URL patterns that
45// a block comment cannot carry.
46
67typedef enum mln_adapter_url_match_flags : uint32_t {
68 MLN_ADAPTER_URL_MATCH_FLAGS_NONE = 0U,
69 MLN_ADAPTER_URL_MATCH_GLOB = 1U << 0U,
71
84 uint32_t kind;
85 uint32_t flags;
86 const char* url;
87 const char* replacement_url;
89
100
103 const char* name;
104 const char* value;
106
119 uint32_t kind;
120 uint32_t flags;
121 const char* url;
122 const mln_adapter_http_header* headers;
123 size_t header_count;
125
131
146 uint32_t kind;
147 uint32_t flags;
148 const char* requested_url;
149 mln_resource_response response;
151
162
172typedef enum mln_adapter_resource_route_flags : uint32_t {
173 MLN_ADAPTER_RESOURCE_ROUTE_FLAGS_NONE = 0U,
174 MLN_ADAPTER_RESOURCE_ROUTE_MATCH_GLOB = 1U << 0U,
175 MLN_ADAPTER_RESOURCE_ROUTE_USE_REQUESTED_URL = 1U << 1U,
177
192 uint32_t kind;
193 uint32_t flags;
194 const char* url;
196
205typedef void (*mln_adapter_queued_resource_request_listener)(void* request);
206
218
228 void* owner;
229 mln_resource_request_handle handle;
234 const char* requested_url;
239 const char* resolved_url;
240 uint32_t kind;
241 uint32_t loading_method;
242 uint32_t priority;
243 uint32_t usage;
244 uint32_t storage_policy;
245 bool has_range;
246 uint64_t range_start;
247 uint64_t range_end;
248 bool has_prior_modified;
249 int64_t prior_modified_unix_ms;
250 bool has_prior_expires;
251 int64_t prior_expires_unix_ms;
252 const char* prior_etag;
253 const uint8_t* prior_data;
254 size_t prior_data_size;
256
265typedef void (*mln_adapter_log_record_listener)(void* record);
266
278
286 void* owner;
287 bool retire_callback;
288 uint32_t severity;
289 uint32_t event;
290 int64_t code;
291 const char* message;
293
304 const char* type_name, uint64_t handle
305) MLN_NOEXCEPT;
306
308MLN_API void mln_adapter_handle_leak_token_destroy(void* token) MLN_NOEXCEPT;
309
311MLN_API void mln_adapter_handle_leak_report(void* token) MLN_NOEXCEPT;
312
321 void* user_data, uint32_t severity, uint32_t event, int64_t code,
322 const char* message
323) MLN_NOEXCEPT;
324
338) MLN_NOEXCEPT;
339
341MLN_API void mln_adapter_log_record_destroy(void* record) MLN_NOEXCEPT;
342
351 void* user_data, uint32_t kind, const char* url,
352 mln_resource_transform_response* out_response
353) MLN_NOEXCEPT;
354
363 void* user_data, uint32_t kind, const char* url,
364 mln_http_header_transform_response* out_response
365) MLN_NOEXCEPT;
366
375 const char* name, const char* value
376) MLN_NOEXCEPT;
377
386 void* user_data, const mln_resource_request* request,
387 mln_resource_request_handle handle
388) MLN_NOEXCEPT;
389
401 void* user_data, const mln_resource_request* request,
402 mln_resource_request_handle handle
403) MLN_NOEXCEPT;
404
407 void* request
408) MLN_NOEXCEPT;
409
418) MLN_NOEXCEPT;
419
428 mln_custom_geometry_source_tile_callback cancel_tile, void* user_data
429) MLN_NOEXCEPT;
430
439 mln_custom_mvt_vector_source_tile_callback cancel_tile, void* user_data
440) MLN_NOEXCEPT;
441
442// NOLINTEND(modernize-use-using,modernize-use-trailing-return-type)
443
444#ifdef __cplusplus
445}
446#endif
447
448#endif // MAPLIBRE_NATIVE_C_CALLBACK_ADAPTER_H
mln_status
Definition base.h:39
mln_status mln_adapter_log_set_callback(mln_adapter_log_callback_state *state)
void mln_adapter_custom_geometry_callbacks_retire(mln_custom_geometry_source_tile_callback fetch_tile, mln_custom_geometry_source_tile_callback cancel_tile, void *user_data)
mln_status mln_adapter_http_header_validate(const char *name, const char *value)
void mln_adapter_queued_resource_provider_retire(mln_adapter_queued_resource_provider *provider)
uint32_t mln_adapter_resource_provider_rules_callback(void *user_data, const mln_resource_request *request, mln_resource_request_handle handle)
uint32_t mln_adapter_log_callback(void *user_data, uint32_t severity, uint32_t event, int64_t code, const char *message)
void(* mln_adapter_queued_resource_request_listener)(void *request)
Definition callback_adapter.h:205
mln_status mln_adapter_http_header_transform_callback(void *user_data, uint32_t kind, const char *url, mln_http_header_transform_response *out_response)
mln_adapter_resource_route_flags
Definition callback_adapter.h:172
void mln_adapter_custom_mvt_vector_callbacks_retire(mln_custom_mvt_vector_source_tile_callback fetch_tile, mln_custom_mvt_vector_source_tile_callback cancel_tile, void *user_data)
void mln_adapter_handle_leak_report(void *token)
void mln_adapter_resource_provider_request_destroy(void *request)
void(* mln_adapter_log_record_listener)(void *record)
Definition callback_adapter.h:265
void * mln_adapter_handle_leak_token_create(const char *type_name, uint64_t handle)
mln_adapter_url_match_flags
Definition callback_adapter.h:67
void mln_adapter_handle_leak_token_destroy(void *token)
uint32_t mln_adapter_queued_resource_provider_callback(void *user_data, const mln_resource_request *request, mln_resource_request_handle handle)
void mln_adapter_log_record_destroy(void *record)
mln_status mln_adapter_resource_transform_rewrite_callback(void *user_data, uint32_t kind, const char *url, mln_resource_transform_response *out_response)
Definition callback_adapter.h:118
Definition callback_adapter.h:127
Definition callback_adapter.h:102
Definition callback_adapter.h:274
Definition callback_adapter.h:285
Definition callback_adapter.h:191
Definition callback_adapter.h:213
Definition callback_adapter.h:227
const char * requested_url
Definition callback_adapter.h:234
const char * resolved_url
Definition callback_adapter.h:239
Definition callback_adapter.h:145
Definition callback_adapter.h:158
Definition callback_adapter.h:83
Definition callback_adapter.h:96
void(* mln_custom_mvt_vector_source_tile_callback)(void *user_data, mln_canonical_tile_id tile_id)
Definition style.h:344
void(* mln_custom_geometry_source_tile_callback)(void *user_data, mln_canonical_tile_id tile_id)
Definition style.h:302