MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Loading...
Searching...
No Matches
runtime.h
Go to the documentation of this file.
1
5
6#ifndef MAPLIBRE_NATIVE_C_RUNTIME_H
7#define MAPLIBRE_NATIVE_C_RUNTIME_H
8
9#ifndef __cplusplus
10#include <stdbool.h>
11#endif
12
13#include <stddef.h>
14#include <stdint.h>
15
16#include "base.h"
17#include "completion.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23typedef enum mln_network_status : uint32_t {
24 MLN_NETWORK_STATUS_ONLINE = 1,
25 MLN_NETWORK_STATUS_OFFLINE = 2,
26} mln_network_status;
27
28typedef enum mln_ambient_cache_operation : uint32_t {
29 MLN_AMBIENT_CACHE_OPERATION_RESET_DATABASE = 1,
30 MLN_AMBIENT_CACHE_OPERATION_PACK_DATABASE = 2,
31 MLN_AMBIENT_CACHE_OPERATION_INVALIDATE = 3,
32 MLN_AMBIENT_CACHE_OPERATION_CLEAR = 4,
33} mln_ambient_cache_operation;
34
35typedef int64_t mln_offline_region_id;
36
37typedef enum mln_offline_region_definition_type : uint32_t {
38 MLN_OFFLINE_REGION_DEFINITION_TILE_PYRAMID = 1,
39 MLN_OFFLINE_REGION_DEFINITION_GEOMETRY = 2,
40} mln_offline_region_definition_type;
41
42typedef enum mln_offline_region_download_state : uint32_t {
43 MLN_OFFLINE_REGION_DOWNLOAD_INACTIVE = 0,
44 MLN_OFFLINE_REGION_DOWNLOAD_ACTIVE = 1,
45} mln_offline_region_download_state;
46
50 uint32_t download_state MLN_BINDING("enum=mln_offline_region_download_state");
51 uint64_t completed_resource_count;
52 uint64_t completed_resource_size;
53 uint64_t completed_tile_count;
54 uint64_t required_tile_count;
55 uint64_t completed_tile_size;
56 uint64_t required_resource_count;
57 bool required_resource_count_is_precise;
58 bool complete;
60
110typedef enum mln_runtime_event_type : uint32_t {
111 MLN_RUNTIME_EVENT_MAP_CAMERA_WILL_CHANGE = 1,
112 MLN_RUNTIME_EVENT_MAP_CAMERA_IS_CHANGING = 2,
113 MLN_RUNTIME_EVENT_MAP_CAMERA_DID_CHANGE = 3,
114 MLN_RUNTIME_EVENT_MAP_STYLE_LOADED = 4,
115 MLN_RUNTIME_EVENT_MAP_LOADING_STARTED = 5,
116 MLN_RUNTIME_EVENT_MAP_LOADING_FINISHED = 6,
117 MLN_RUNTIME_EVENT_MAP_LOADING_FAILED = 7,
118 MLN_RUNTIME_EVENT_MAP_IDLE = 8,
119 MLN_RUNTIME_EVENT_MAP_RENDER_ERROR = 10,
120 MLN_RUNTIME_EVENT_MAP_RENDER_FRAME_STARTED = 13,
121 MLN_RUNTIME_EVENT_MAP_RENDER_FRAME_FINISHED = 14,
122 MLN_RUNTIME_EVENT_MAP_RENDER_MAP_STARTED = 15,
123 MLN_RUNTIME_EVENT_MAP_RENDER_MAP_FINISHED = 16,
124 MLN_RUNTIME_EVENT_MAP_STYLE_IMAGE_MISSING = 17,
125 MLN_RUNTIME_EVENT_MAP_TILE_ACTION = 18,
126 MLN_RUNTIME_EVENT_OFFLINE_REGION_STATUS_CHANGED = 19,
127 MLN_RUNTIME_EVENT_OFFLINE_REGION_RESPONSE_ERROR = 20,
128 MLN_RUNTIME_EVENT_OFFLINE_REGION_TILE_COUNT_LIMIT_EXCEEDED = 21,
129 MLN_RUNTIME_EVENT_MAP_SOURCE_CHANGED = 23,
131
145typedef enum MLN_BINDING("kind=bitmask") mln_runtime_event_mask : uint64_t {
148 MLN_RUNTIME_EVENT_MASK_MAP_CAMERA_WILL_CHANGE = 1ULL
149 << MLN_RUNTIME_EVENT_MAP_CAMERA_WILL_CHANGE,
150 MLN_RUNTIME_EVENT_MASK_MAP_CAMERA_IS_CHANGING = 1ULL
151 << MLN_RUNTIME_EVENT_MAP_CAMERA_IS_CHANGING,
152 MLN_RUNTIME_EVENT_MASK_MAP_CAMERA_DID_CHANGE = 1ULL
153 << MLN_RUNTIME_EVENT_MAP_CAMERA_DID_CHANGE,
154 MLN_RUNTIME_EVENT_MASK_MAP_STYLE_LOADED = 1ULL
155 << MLN_RUNTIME_EVENT_MAP_STYLE_LOADED,
156 MLN_RUNTIME_EVENT_MASK_MAP_LOADING_STARTED = 1ULL
157 << MLN_RUNTIME_EVENT_MAP_LOADING_STARTED,
158 MLN_RUNTIME_EVENT_MASK_MAP_LOADING_FINISHED = 1ULL
159 << MLN_RUNTIME_EVENT_MAP_LOADING_FINISHED,
160 MLN_RUNTIME_EVENT_MASK_MAP_LOADING_FAILED = 1ULL
161 << MLN_RUNTIME_EVENT_MAP_LOADING_FAILED,
162 MLN_RUNTIME_EVENT_MASK_MAP_IDLE = 1ULL << MLN_RUNTIME_EVENT_MAP_IDLE,
163 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_ERROR = 1ULL
164 << MLN_RUNTIME_EVENT_MAP_RENDER_ERROR,
165 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_FRAME_STARTED = 1ULL
166 << MLN_RUNTIME_EVENT_MAP_RENDER_FRAME_STARTED,
167 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_FRAME_FINISHED = 1ULL
168 << MLN_RUNTIME_EVENT_MAP_RENDER_FRAME_FINISHED,
169 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_MAP_STARTED = 1ULL
170 << MLN_RUNTIME_EVENT_MAP_RENDER_MAP_STARTED,
171 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_MAP_FINISHED = 1ULL
172 << MLN_RUNTIME_EVENT_MAP_RENDER_MAP_FINISHED,
173 MLN_RUNTIME_EVENT_MASK_MAP_STYLE_IMAGE_MISSING = 1ULL
174 << MLN_RUNTIME_EVENT_MAP_STYLE_IMAGE_MISSING,
175 MLN_RUNTIME_EVENT_MASK_MAP_TILE_ACTION = 1ULL
176 << MLN_RUNTIME_EVENT_MAP_TILE_ACTION,
177 MLN_RUNTIME_EVENT_MASK_OFFLINE_REGION_STATUS_CHANGED = 1ULL
178 << MLN_RUNTIME_EVENT_OFFLINE_REGION_STATUS_CHANGED,
179 MLN_RUNTIME_EVENT_MASK_OFFLINE_REGION_RESPONSE_ERROR = 1ULL
180 << MLN_RUNTIME_EVENT_OFFLINE_REGION_RESPONSE_ERROR,
181 MLN_RUNTIME_EVENT_MASK_OFFLINE_REGION_TILE_COUNT_LIMIT_EXCEEDED = 1ULL
182 << MLN_RUNTIME_EVENT_OFFLINE_REGION_TILE_COUNT_LIMIT_EXCEEDED,
183 MLN_RUNTIME_EVENT_MASK_MAP_SOURCE_CHANGED = 1ULL
184 << MLN_RUNTIME_EVENT_MAP_SOURCE_CHANGED,
187 MLN_RUNTIME_EVENT_MASK_MAP_CAMERA_WILL_CHANGE |
188 MLN_RUNTIME_EVENT_MASK_MAP_CAMERA_IS_CHANGING |
189 MLN_RUNTIME_EVENT_MASK_MAP_CAMERA_DID_CHANGE |
190 MLN_RUNTIME_EVENT_MASK_MAP_STYLE_LOADED |
191 MLN_RUNTIME_EVENT_MASK_MAP_LOADING_STARTED |
192 MLN_RUNTIME_EVENT_MASK_MAP_LOADING_FINISHED |
193 MLN_RUNTIME_EVENT_MASK_MAP_LOADING_FAILED |
194 MLN_RUNTIME_EVENT_MASK_MAP_IDLE | MLN_RUNTIME_EVENT_MASK_MAP_RENDER_ERROR |
195 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_FRAME_STARTED |
196 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_FRAME_FINISHED |
197 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_MAP_STARTED |
198 MLN_RUNTIME_EVENT_MASK_MAP_RENDER_MAP_FINISHED |
199 MLN_RUNTIME_EVENT_MASK_MAP_STYLE_IMAGE_MISSING |
200 MLN_RUNTIME_EVENT_MASK_MAP_TILE_ACTION |
201 MLN_RUNTIME_EVENT_MASK_MAP_SOURCE_CHANGED,
204 MLN_RUNTIME_EVENT_MASK_OFFLINE_REGION_STATUS_CHANGED |
205 MLN_RUNTIME_EVENT_MASK_OFFLINE_REGION_RESPONSE_ERROR |
206 MLN_RUNTIME_EVENT_MASK_OFFLINE_REGION_TILE_COUNT_LIMIT_EXCEEDED,
211
217typedef enum mln_runtime_event_source_type : uint32_t {
218 MLN_RUNTIME_EVENT_SOURCE_RUNTIME = 0,
219 MLN_RUNTIME_EVENT_SOURCE_MAP = 1,
221
227typedef enum mln_runtime_event_payload_type : uint32_t {
228 MLN_RUNTIME_EVENT_PAYLOAD_NONE = 0,
229 MLN_RUNTIME_EVENT_PAYLOAD_RENDER_FRAME = 1,
230 MLN_RUNTIME_EVENT_PAYLOAD_RENDER_MAP = 2,
231 MLN_RUNTIME_EVENT_PAYLOAD_TILE_ACTION = 4,
232 MLN_RUNTIME_EVENT_PAYLOAD_OFFLINE_REGION_STATUS = 5,
233 MLN_RUNTIME_EVENT_PAYLOAD_OFFLINE_REGION_RESPONSE_ERROR = 6,
234 MLN_RUNTIME_EVENT_PAYLOAD_OFFLINE_REGION_TILE_COUNT_LIMIT = 7,
236
244
246typedef enum mln_render_mode : uint32_t {
247 MLN_RENDER_MODE_PARTIAL = 0,
248 MLN_RENDER_MODE_FULL = 1,
250
252typedef enum mln_tile_operation : uint32_t {
253 MLN_TILE_OPERATION_REQUESTED_FROM_CACHE = 0,
254 MLN_TILE_OPERATION_REQUESTED_FROM_NETWORK = 1,
255 MLN_TILE_OPERATION_LOAD_FROM_NETWORK = 2,
256 MLN_TILE_OPERATION_LOAD_FROM_CACHE = 3,
257 MLN_TILE_OPERATION_START_PARSE = 4,
258 MLN_TILE_OPERATION_END_PARSE = 5,
259 MLN_TILE_OPERATION_ERROR = 6,
260 MLN_TILE_OPERATION_CANCELLED = 7,
261 MLN_TILE_OPERATION_NULL = 8,
263
264typedef enum mln_resource_kind : uint32_t {
265 MLN_RESOURCE_KIND_UNKNOWN = 0,
266 MLN_RESOURCE_KIND_STYLE = 1,
267 MLN_RESOURCE_KIND_SOURCE = 2,
268 MLN_RESOURCE_KIND_TILE = 3,
269 MLN_RESOURCE_KIND_GLYPHS = 4,
270 MLN_RESOURCE_KIND_SPRITE_IMAGE = 5,
271 MLN_RESOURCE_KIND_SPRITE_JSON = 6,
272 MLN_RESOURCE_KIND_IMAGE = 7,
273} mln_resource_kind;
274
275typedef enum mln_resource_loading_method : uint32_t {
276 MLN_RESOURCE_LOADING_METHOD_ALL = 0,
277 MLN_RESOURCE_LOADING_METHOD_CACHE_ONLY = 1,
278 MLN_RESOURCE_LOADING_METHOD_NETWORK_ONLY = 2,
279} mln_resource_loading_method;
280
281typedef enum mln_resource_priority : uint32_t {
282 MLN_RESOURCE_PRIORITY_REGULAR = 0,
283 MLN_RESOURCE_PRIORITY_LOW = 1,
284} mln_resource_priority;
285
286typedef enum mln_resource_usage : uint32_t {
287 MLN_RESOURCE_USAGE_ONLINE = 0,
288 MLN_RESOURCE_USAGE_OFFLINE = 1,
289} mln_resource_usage;
290
291typedef enum mln_resource_storage_policy : uint32_t {
292 MLN_RESOURCE_STORAGE_POLICY_PERMANENT = 0,
293 MLN_RESOURCE_STORAGE_POLICY_VOLATILE = 1,
294} mln_resource_storage_policy;
295
310typedef enum mln_resource_response_status : uint32_t {
311 MLN_RESOURCE_RESPONSE_STATUS_OK = 0,
312 MLN_RESOURCE_RESPONSE_STATUS_ERROR = 1,
313 MLN_RESOURCE_RESPONSE_STATUS_NO_CONTENT = 2,
314 MLN_RESOURCE_RESPONSE_STATUS_NOT_MODIFIED = 3,
316
317typedef enum mln_resource_error_reason : uint32_t {
318 MLN_RESOURCE_ERROR_REASON_NONE = 0,
319 MLN_RESOURCE_ERROR_REASON_NOT_FOUND = 1,
320 MLN_RESOURCE_ERROR_REASON_SERVER = 2,
321 MLN_RESOURCE_ERROR_REASON_CONNECTION = 3,
322 MLN_RESOURCE_ERROR_REASON_RATE_LIMIT = 4,
323 MLN_RESOURCE_ERROR_REASON_OTHER = 5,
324} mln_resource_error_reason;
325
326typedef enum mln_resource_provider_decision : uint32_t {
327 MLN_RESOURCE_PROVIDER_DECISION_PASS_THROUGH = 0,
328 MLN_RESOURCE_PROVIDER_DECISION_HANDLE = 1,
329} mln_resource_provider_decision;
330
342 uint32_t* out_status MLN_BINDING("direction=out;enum=mln_network_status"),
343 mln_diagnostic* out_diagnostic
344) MLN_NOEXCEPT;
345
359 uint32_t status MLN_BINDING("enum=mln_network_status"),
360 mln_diagnostic* out_diagnostic
361) MLN_NOEXCEPT;
362
364typedef struct mln_runtime_options {
365 uint32_t size;
378
397
408
412 uint32_t mode MLN_BINDING("enum=mln_render_mode");
414
416typedef struct mln_tile_id {
417 uint32_t overscaled_z;
418 int32_t wrap;
419 uint32_t canonical_z;
420 uint32_t canonical_x;
421 uint32_t canonical_y;
423
431 uint32_t operation MLN_BINDING("enum=mln_tile_operation");
432 mln_tile_id tile_id;
434
440
449 mln_offline_region_id region_id;
451 uint32_t reason MLN_BINDING("enum=mln_resource_error_reason");
453
456 mln_offline_region_id region_id;
457 uint64_t limit;
459
473 MLN_BINDING("variant=MLN_RUNTIME_EVENT_PAYLOAD_RENDER_FRAME");
475 MLN_BINDING("variant=MLN_RUNTIME_EVENT_PAYLOAD_RENDER_MAP");
477 MLN_BINDING("variant=MLN_RUNTIME_EVENT_PAYLOAD_TILE_ACTION");
478 mln_runtime_event_offline_region_status offline_region_status
479 MLN_BINDING("variant=MLN_RUNTIME_EVENT_PAYLOAD_OFFLINE_REGION_STATUS");
480 mln_runtime_event_offline_region_response_error offline_region_response_error
482 "variant=MLN_RUNTIME_EVENT_PAYLOAD_OFFLINE_REGION_RESPONSE_ERROR"
483 );
485 offline_region_tile_count_limit MLN_BINDING(
486 "variant=MLN_RUNTIME_EVENT_PAYLOAD_OFFLINE_REGION_TILE_COUNT_LIMIT"
487 );
489
500typedef struct mln_runtime_event {
502 uint32_t type MLN_BINDING("enum=mln_runtime_event_type");
504 uint32_t source_type MLN_BINDING("enum=mln_runtime_event_source_type");
511 uint64_t source;
528 uint64_t generation;
533 int32_t code;
535 uint32_t payload_type MLN_BINDING("enum=mln_runtime_event_payload_type");
540 "tag=payload_type;empty_variant=MLN_RUNTIME_EVENT_PAYLOAD_NONE"
541 );
543
551typedef struct mln_event_batch_view {
552 uint32_t size;
557 uint32_t event_size;
560 MLN_BINDING("length=event_count;stride=event_size");
564
573MLN_BINDING("delivery=MLN_DELIVERY_TYPE_RUNTIME_EVENTS")
575 void* user_data, const mln_event_batch_view* events
576);
577
588 uint32_t size;
589 mln_runtime_event_callback callback MLN_BINDING("nullable=true");
590 void* user_data MLN_BINDING("kind=context");
591 mln_user_data_release release_user_data;
592 mln_delivery_queue queue MLN_BINDING("kind=delivery_queue");
594 "kind=callback_registration;release=release_user_data"
596
603typedef enum MLN_BINDING("kind=bitmask") mln_resource_kind_mask : uint32_t {
604 MLN_RESOURCE_KIND_MASK_UNKNOWN = 1U << MLN_RESOURCE_KIND_UNKNOWN,
605 MLN_RESOURCE_KIND_MASK_STYLE = 1U << MLN_RESOURCE_KIND_STYLE,
606 MLN_RESOURCE_KIND_MASK_SOURCE = 1U << MLN_RESOURCE_KIND_SOURCE,
607 MLN_RESOURCE_KIND_MASK_TILE = 1U << MLN_RESOURCE_KIND_TILE,
608 MLN_RESOURCE_KIND_MASK_GLYPHS = 1U << MLN_RESOURCE_KIND_GLYPHS,
609 MLN_RESOURCE_KIND_MASK_SPRITE_IMAGE = 1U << MLN_RESOURCE_KIND_SPRITE_IMAGE,
610 MLN_RESOURCE_KIND_MASK_SPRITE_JSON = 1U << MLN_RESOURCE_KIND_SPRITE_JSON,
611 MLN_RESOURCE_KIND_MASK_IMAGE = 1U << MLN_RESOURCE_KIND_IMAGE,
612 MLN_RESOURCE_KIND_MASK_ALL = MLN_RESOURCE_KIND_MASK_UNKNOWN |
613 MLN_RESOURCE_KIND_MASK_STYLE | MLN_RESOURCE_KIND_MASK_SOURCE |
614 MLN_RESOURCE_KIND_MASK_TILE | MLN_RESOURCE_KIND_MASK_GLYPHS |
615 MLN_RESOURCE_KIND_MASK_SPRITE_IMAGE | MLN_RESOURCE_KIND_MASK_SPRITE_JSON |
616 MLN_RESOURCE_KIND_MASK_IMAGE,
618
619// This block uses line comments because its examples contain URL patterns that
620// a block comment cannot carry.
621
647typedef enum MLN_BINDING("kind=bitmask") mln_url_match_flags : uint32_t {
648 MLN_URL_MATCH_EXACT = 0U,
652
658typedef struct mln_resource_route {
660 uint32_t kinds MLN_BINDING("enum=mln_resource_kind_mask");
662 uint32_t flags MLN_BINDING("enum=mln_url_match_flags");
666
669
675
682typedef struct mln_http_header_rule {
684 uint32_t kinds MLN_BINDING("enum=mln_resource_kind_mask");
686 uint32_t flags MLN_BINDING("enum=mln_url_match_flags");
693 const mln_http_header* headers MLN_BINDING("length=header_count");
694 size_t header_count;
696
700
718MLN_BINDING("delivery=MLN_DELIVERY_TYPE_RESOURCE_TRANSFORM")
720 void* user_data, uint32_t kind MLN_BINDING("enum=mln_resource_kind"),
721 const char* url,
722 mln_resource_transform_request request MLN_BINDING("ownership=owned")
723);
724
756 "kind=callback_registration;release=release_user_data"
758
759typedef struct mln_http_header_transform_response {
760 uint32_t size;
762 void* context MLN_BINDING("kind=context;lifetime=call");
763} mln_http_header_transform_response MLN_BINDING("kind=callback_response");
764
786 mln_http_header_transform_response* response, mln_buffer_view name,
787 mln_buffer_view value, mln_diagnostic* out_diagnostic
788) MLN_NOEXCEPT;
789
805MLN_BINDING("failure=MLN_STATUS_NATIVE_ERROR")
807 void* user_data, uint32_t kind MLN_BINDING("enum=mln_resource_kind"),
808 const char* url,
809 mln_http_header_transform_response* out_response MLN_BINDING("direction=out")
810);
811
823 uint32_t size;
826 void* user_data MLN_BINDING("kind=context");
837 const mln_http_header_rule* rules MLN_BINDING("length=rule_count");
838 size_t rule_count;
840 "kind=callback_registration;release=release_user_data"
842
844typedef struct mln_resource_range {
846 uint64_t start;
848 uint64_t end;
850
860
861typedef struct mln_resource_request_info {
862 uint32_t size;
863 uint32_t fields MLN_BINDING("enum=mln_resource_request_field");
872 const char* requested_url MLN_BINDING("nullable=true");
885 const char* resolved_url MLN_BINDING("nullable=true");
886 uint32_t kind MLN_BINDING("enum=mln_resource_kind");
887 uint32_t loading_method MLN_BINDING("enum=mln_resource_loading_method");
888 uint32_t priority MLN_BINDING("enum=mln_resource_priority");
889 uint32_t usage MLN_BINDING("enum=mln_resource_usage");
890 uint32_t storage_policy MLN_BINDING("enum=mln_resource_storage_policy");
892 MLN_BINDING("mask=fields;bit=MLN_RESOURCE_REQUEST_RANGE");
893 int64_t prior_modified_unix_ms
894 MLN_BINDING("mask=fields;bit=MLN_RESOURCE_REQUEST_PRIOR_MODIFIED");
895 int64_t prior_expires_unix_ms
896 MLN_BINDING("mask=fields;bit=MLN_RESOURCE_REQUEST_PRIOR_EXPIRES");
897 const char* prior_etag MLN_BINDING("nullable=true");
898 const uint8_t* prior_data
899 MLN_BINDING("length=prior_data_size;encoding=bytes");
900 size_t prior_data_size;
901} mln_resource_request_info;
902
914
921typedef struct mln_resource_response {
922 uint32_t size;
923 uint32_t fields MLN_BINDING("enum=mln_resource_response_field");
924 uint32_t status MLN_BINDING("enum=mln_resource_response_status");
925 uint32_t error_reason MLN_BINDING("enum=mln_resource_error_reason");
927 const uint8_t* bytes MLN_BINDING("length=byte_count;encoding=bytes");
928 size_t byte_count;
929 mln_buffer_view error_message MLN_BINDING("optional=empty");
930 bool must_revalidate;
931 int64_t modified_unix_ms
932 MLN_BINDING("mask=fields;bit=MLN_RESOURCE_RESPONSE_MODIFIED");
933 int64_t expires_unix_ms
934 MLN_BINDING("mask=fields;bit=MLN_RESOURCE_RESPONSE_EXPIRES");
935 mln_buffer_view etag MLN_BINDING("optional=empty");
936 int64_t retry_after_unix_ms
937 MLN_BINDING("mask=fields;bit=MLN_RESOURCE_RESPONSE_RETRY_AFTER");
939
974 "enum=mln_resource_provider_decision;"
975 "failure=4294967295;"
976 "delivery=MLN_DELIVERY_TYPE_RESOURCE_REQUEST;"
977 "decision_handle=handle;"
978 "decision_accept=MLN_RESOURCE_PROVIDER_DECISION_HANDLE"
979)
981 void* user_data, const mln_resource_request_info* request,
983);
984
1004 "delivery=MLN_DELIVERY_TYPE_RESOURCE_REQUEST_CANCEL;"
1005 "borrowed_owner=handle"
1006)
1008 void* user_data, mln_resource_request handle
1009);
1010
1042 "kind=callback_registration;release=release_user_data"
1044
1055 uint32_t size;
1062 void* user_data MLN_BINDING("kind=context");
1086 mln_delivery_queue queue MLN_BINDING("kind=delivery_queue");
1088 const mln_resource_route* routes MLN_BINDING("length=route_count");
1089 size_t route_count;
1091 "kind=callback_registration;release=release_user_data"
1093
1098
1114MLN_BINDING("blocks=thread_start")
1116 const mln_runtime_options* options,
1117 mln_runtime* out_runtime MLN_BINDING("direction=out"),
1118 mln_diagnostic* out_diagnostic
1119) MLN_NOEXCEPT;
1120
1163MLN_BINDING("execution=operation")
1165 mln_runtime runtime, const mln_resource_provider* provider,
1166 const mln_completion* completion, mln_diagnostic* out_diagnostic
1167) MLN_NOEXCEPT;
1168
1186MLN_BINDING("execution=operation")
1188 mln_runtime runtime, const mln_completion* completion,
1189 mln_diagnostic* out_diagnostic
1190) MLN_NOEXCEPT;
1191
1215 mln_resource_request handle, const mln_resource_response* response,
1216 mln_diagnostic* out_diagnostic
1217) MLN_NOEXCEPT;
1218
1244 mln_resource_request handle, mln_diagnostic* out_diagnostic
1245) MLN_NOEXCEPT;
1246
1262 mln_resource_request handle, bool* out_cancelled MLN_BINDING("direction=out"),
1263 mln_diagnostic* out_diagnostic
1264) MLN_NOEXCEPT;
1265
1296MLN_BINDING("accepted_unless=out_cancelled")
1298 mln_resource_request handle,
1300 bool* out_cancelled MLN_BINDING("direction=out"),
1301 mln_diagnostic* out_diagnostic
1302) MLN_NOEXCEPT;
1303
1322) MLN_NOEXCEPT;
1323
1352MLN_BINDING("execution=operation")
1354 mln_runtime runtime, const mln_resource_transform* transform,
1355 const mln_completion* completion, mln_diagnostic* out_diagnostic
1356) MLN_NOEXCEPT;
1357
1375MLN_BINDING("execution=operation")
1377 mln_runtime runtime, const mln_completion* completion,
1378 mln_diagnostic* out_diagnostic
1379) MLN_NOEXCEPT;
1380
1399 mln_diagnostic* out_diagnostic
1400) MLN_NOEXCEPT;
1401
1411) MLN_NOEXCEPT;
1412
1450MLN_BINDING("execution=operation")
1452 mln_runtime runtime, const mln_http_header_transform* transform,
1453 const mln_completion* completion, mln_diagnostic* out_diagnostic
1454) MLN_NOEXCEPT;
1455
1471MLN_BINDING("execution=operation")
1473 mln_runtime runtime, const mln_completion* completion,
1474 mln_diagnostic* out_diagnostic
1475) MLN_NOEXCEPT;
1476
1495MLN_BINDING("execution=operation")
1497 mln_runtime runtime,
1498 uint32_t operation MLN_BINDING("enum=mln_ambient_cache_operation"),
1499 const mln_completion* completion, mln_diagnostic* out_diagnostic
1500) MLN_NOEXCEPT;
1501
1524MLN_BINDING("execution=operation")
1526 mln_runtime runtime, uint64_t size, const mln_completion* completion,
1527 mln_diagnostic* out_diagnostic
1528) MLN_NOEXCEPT;
1529
1605MLN_BINDING("execution=lifecycle")
1607 mln_runtime runtime, const mln_completion* completion,
1608 mln_diagnostic* out_diagnostic
1609) MLN_NOEXCEPT;
1610
1627 mln_runtime runtime, mln_diagnostic* out_diagnostic
1628) MLN_NOEXCEPT;
1629
1646MLN_BINDING("execution=operation")
1648 mln_runtime runtime, const mln_runtime_event_handler* handler,
1649 const mln_completion* completion, mln_diagnostic* out_diagnostic
1650) MLN_NOEXCEPT;
1651
1661MLN_BINDING("execution=operation")
1663 mln_runtime runtime, const mln_completion* completion,
1664 mln_diagnostic* out_diagnostic
1665) MLN_NOEXCEPT;
1666
1695 mln_runtime runtime, uint64_t mask MLN_BINDING("enum=mln_runtime_event_mask"),
1696 mln_diagnostic* out_diagnostic
1697) MLN_NOEXCEPT;
1698
1715 mln_runtime runtime,
1716 uint64_t* out_mask MLN_BINDING("direction=out;enum=mln_runtime_event_mask"),
1717 mln_diagnostic* out_diagnostic
1718) MLN_NOEXCEPT;
1719
1720#ifdef __cplusplus
1721}
1722#endif
1723
1724#endif // MAPLIBRE_NATIVE_C_RUNTIME_H
uint64_t mln_resource_transform_request
Definition base.h:156
uint64_t mln_delivery_queue
Definition base.h:178
void(*) mln_user_data_release(void *user_data)
Definition base.h:205
uint64_t mln_runtime
Definition base.h:126
uint64_t mln_resource_request
Definition base.h:151
mln_status
Definition base.h:61
#define MLN_BINDING(contract)
Definition binding.h:17
mln_status mln_network_get_status(uint32_t *out_status, mln_diagnostic *out_diagnostic)
mln_resource_request_field
Definition runtime.h:852
@ MLN_RESOURCE_REQUEST_RANGE
Definition runtime.h:854
@ MLN_RESOURCE_REQUEST_PRIOR_EXPIRES
Definition runtime.h:858
@ MLN_RESOURCE_REQUEST_PRIOR_MODIFIED
Definition runtime.h:856
mln_status mln_runtime_dispose(mln_runtime runtime, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_create(const mln_runtime_options *options, mln_runtime *out_runtime, mln_diagnostic *out_diagnostic)
mln_status mln_resource_request_pass_through(mln_resource_request handle, mln_diagnostic *out_diagnostic)
mln_resource_response_field
Definition runtime.h:906
@ MLN_RESOURCE_RESPONSE_RETRY_AFTER
Definition runtime.h:912
@ MLN_RESOURCE_RESPONSE_MODIFIED
Definition runtime.h:908
@ MLN_RESOURCE_RESPONSE_EXPIRES
Definition runtime.h:910
mln_tile_operation
Definition runtime.h:252
mln_runtime_event_mask
Definition runtime.h:145
@ MLN_RUNTIME_EVENT_MASK_ALL_MAP_EVENTS
Definition runtime.h:186
@ MLN_RUNTIME_EVENT_MASK_NONE
Definition runtime.h:147
@ MLN_RUNTIME_EVENT_MASK_ALL
Definition runtime.h:208
@ MLN_RUNTIME_EVENT_MASK_ALL_RUNTIME_EVENTS
Definition runtime.h:203
mln_runtime_event_payload_type
Definition runtime.h:227
mln_status mln_runtime_clear_http_header_transform(mln_runtime runtime, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_url_match_flags
Definition runtime.h:647
@ MLN_URL_MATCH_GLOB
Definition runtime.h:650
mln_status mln_runtime_set_maximum_ambient_cache_size(mln_runtime runtime, uint64_t size, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_set_http_header_transform(mln_runtime runtime, const mln_http_header_transform *transform, const mln_completion *completion, mln_diagnostic *out_diagnostic)
void(*) mln_resource_transform_callback(void *user_data, uint32_t kind, const char *url, mln_resource_transform_request request)
Definition runtime.h:719
mln_resource_route mln_resource_route_default(void)
mln_runtime_event_type
Definition runtime.h:110
mln_status mln_resource_transform_request_complete(mln_resource_transform_request request, mln_buffer_view url, mln_diagnostic *out_diagnostic)
struct mln_resource_range mln_resource_range
mln_status mln_network_set_status(uint32_t status, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_set_event_handler(mln_runtime runtime, const mln_runtime_event_handler *handler, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_release(mln_runtime runtime, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_resource_kind_mask
Definition runtime.h:603
mln_resource_response_status
Definition runtime.h:310
mln_status mln_resource_request_is_cancelled(mln_resource_request handle, bool *out_cancelled, mln_diagnostic *out_diagnostic)
void mln_resource_transform_request_release(mln_resource_transform_request request)
mln_status mln_runtime_get_event_mask(mln_runtime runtime, uint64_t *out_mask, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_set_resource_transform(mln_runtime runtime, const mln_resource_transform *transform, const mln_completion *completion, mln_diagnostic *out_diagnostic)
uint32_t(*) mln_resource_provider_callback(void *user_data, const mln_resource_request_info *request, mln_resource_request handle)
Definition runtime.h:980
mln_http_header_rule mln_http_header_rule_default(void)
mln_runtime_event_source_type
Definition runtime.h:217
mln_status(*) mln_http_header_transform_callback(void *user_data, uint32_t kind, const char *url, mln_http_header_transform_response *out_response)
Definition runtime.h:806
mln_camera_change_mode
Definition runtime.h:238
@ MLN_CAMERA_CHANGE_MODE_IMMEDIATE
Definition runtime.h:240
@ MLN_CAMERA_CHANGE_MODE_ANIMATED
Definition runtime.h:242
mln_status mln_resource_request_set_cancel_callback(mln_resource_request handle, const mln_resource_request_cancel_handler *handler, bool *out_cancelled, mln_diagnostic *out_diagnostic)
void mln_resource_request_release(mln_resource_request handle)
mln_runtime_options mln_runtime_options_default(void)
void(*) mln_runtime_event_callback(void *user_data, const mln_event_batch_view *events)
Definition runtime.h:574
mln_status mln_runtime_clear_event_handler(mln_runtime runtime, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_set_resource_provider(mln_runtime runtime, const mln_resource_provider *provider, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_set_event_mask(mln_runtime runtime, uint64_t mask, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_clear_resource_transform(mln_runtime runtime, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_resource_request_complete(mln_resource_request handle, const mln_resource_response *response, mln_diagnostic *out_diagnostic)
mln_status mln_runtime_run_ambient_cache_operation(mln_runtime runtime, uint32_t operation, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_render_mode
Definition runtime.h:246
mln_status mln_runtime_clear_resource_provider(mln_runtime runtime, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_status mln_http_header_transform_response_set_header(mln_http_header_transform_response *response, mln_buffer_view name, mln_buffer_view value, mln_diagnostic *out_diagnostic)
void(*) mln_resource_request_cancel_callback(void *user_data, mln_resource_request handle)
Definition runtime.h:1007
Definition base.h:192
Definition completion.h:121
Definition base.h:100
Definition runtime.h:551
uint32_t event_size
Definition runtime.h:557
const mln_runtime_event * events
Definition runtime.h:560
size_t event_count
Definition runtime.h:562
Definition runtime.h:682
uint32_t kinds
Definition runtime.h:684
uint32_t flags
Definition runtime.h:686
const mln_http_header * headers
Definition runtime.h:693
mln_buffer_view url
Definition runtime.h:688
Definition runtime.h:822
mln_user_data_release release_user_data
Definition runtime.h:835
const mln_http_header_rule * rules
Definition runtime.h:837
mln_http_header_transform_callback callback
Definition runtime.h:825
Definition runtime.h:671
Definition runtime.h:48
uint32_t download_state
Definition runtime.h:50
Definition runtime.h:385
int64_t draw_call_count
Definition runtime.h:393
double encoding_time
Definition runtime.h:387
int64_t total_draw_call_count
Definition runtime.h:395
double rendering_time
Definition runtime.h:389
int64_t frame_count
Definition runtime.h:391
Definition runtime.h:1054
const mln_resource_route * routes
Definition runtime.h:1088
mln_resource_provider_callback callback
Definition runtime.h:1061
mln_delivery_queue queue
Definition runtime.h:1086
mln_user_data_release release_user_data
Definition runtime.h:1074
Definition runtime.h:844
uint64_t end
Definition runtime.h:848
uint64_t start
Definition runtime.h:846
Definition runtime.h:1017
void * user_data
Definition runtime.h:1022
mln_delivery_queue queue
Definition runtime.h:1040
mln_resource_request_cancel_callback callback
Definition runtime.h:1020
mln_user_data_release release_user_data
Definition runtime.h:1031
Definition runtime.h:921
const uint8_t * bytes
Definition runtime.h:927
Definition runtime.h:658
uint32_t kinds
Definition runtime.h:660
mln_buffer_view url
Definition runtime.h:664
uint32_t flags
Definition runtime.h:662
Definition runtime.h:731
mln_delivery_queue queue
Definition runtime.h:754
mln_user_data_release release_user_data
Definition runtime.h:745
mln_resource_transform_callback callback
Definition runtime.h:734
Definition runtime.h:587
uint32_t reason
Definition runtime.h:451
Definition runtime.h:399
bool needs_repaint
Definition runtime.h:403
uint32_t mode
Definition runtime.h:401
bool placement_changed
Definition runtime.h:405
Definition runtime.h:410
uint32_t mode
Definition runtime.h:412
Definition runtime.h:429
uint32_t operation
Definition runtime.h:431
Definition runtime.h:500
uint32_t type
Definition runtime.h:502
uint32_t payload_type
Definition runtime.h:535
uint64_t generation
Definition runtime.h:528
uint64_t source
Definition runtime.h:511
int32_t code
Definition runtime.h:533
mln_runtime_event_payload payload
Definition runtime.h:541
uint32_t source_type
Definition runtime.h:504
mln_buffer_view message
Definition runtime.h:537
Definition runtime.h:364
mln_buffer_view asset_path
Definition runtime.h:374
mln_buffer_view cache_path
Definition runtime.h:376
Definition runtime.h:416
Definition runtime.h:471