MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Loading...
Searching...
No Matches
delivery.h
Go to the documentation of this file.
1
31
32#ifndef MAPLIBRE_NATIVE_C_DELIVERY_H
33#define MAPLIBRE_NATIVE_C_DELIVERY_H
34
35#include <stddef.h>
36#include <stdint.h>
37
38#include "base.h" // IWYU pragma: export
39#include "completion.h" // IWYU pragma: export
40#include "logging.h" // IWYU pragma: export
41#include "map.h" // IWYU pragma: export
42#include "runtime.h" // IWYU pragma: export
43#include "style.h" // IWYU pragma: export
44#include "wake.h" // IWYU pragma: export
45
46#ifdef __cplusplus
47extern "C" {
48#endif
49
50// NOLINTBEGIN(modernize-use-using,modernize-use-trailing-return-type)
51
78
81 const mln_event_batch_view* events MLN_BINDING("lifetime=owner");
83
85typedef struct mln_log_delivery {
87 uint32_t severity MLN_BINDING("enum=mln_log_severity");
89 uint32_t event MLN_BINDING("enum=mln_log_event");
90 int64_t code;
92 const char* message MLN_BINDING("lifetime=owner");
94
98 const mln_resource_request_info* request MLN_BINDING("lifetime=owner");
105
114
118 uint32_t kind MLN_BINDING("enum=mln_resource_kind");
120 const char* url MLN_BINDING("lifetime=owner");
127
133
141
143typedef union mln_delivery_payload {
149 MLN_BINDING("variant=MLN_DELIVERY_TYPE_COMPLETION");
150 mln_log_delivery log_record
151 MLN_BINDING("variant=MLN_DELIVERY_TYPE_LOG_RECORD");
152 mln_resource_request_delivery resource_request
153 MLN_BINDING("variant=MLN_DELIVERY_TYPE_RESOURCE_REQUEST");
154 mln_resource_request_cancel_delivery resource_request_cancel
155 MLN_BINDING("variant=MLN_DELIVERY_TYPE_RESOURCE_REQUEST_CANCEL");
156 mln_camera_transition_end_delivery camera_transition_end
157 MLN_BINDING("variant=MLN_DELIVERY_TYPE_CAMERA_TRANSITION_END");
158 mln_custom_source_tile_delivery custom_source_fetch_tile
159 MLN_BINDING("variant=MLN_DELIVERY_TYPE_CUSTOM_SOURCE_FETCH_TILE");
160 mln_custom_source_tile_delivery custom_source_cancel_tile
161 MLN_BINDING("variant=MLN_DELIVERY_TYPE_CUSTOM_SOURCE_CANCEL_TILE");
162 mln_runtime_event_delivery runtime_events
163 MLN_BINDING("variant=MLN_DELIVERY_TYPE_RUNTIME_EVENTS");
164 mln_resource_transform_delivery resource_transform
165 MLN_BINDING("variant=MLN_DELIVERY_TYPE_RESOURCE_TRANSFORM");
167
173typedef struct mln_delivery {
175 uint32_t type MLN_BINDING("enum=mln_delivery_type");
176 uint32_t reserved MLN_BINDING("kind=reserved");
182 void* user_data MLN_BINDING("kind=context");
185 MLN_BINDING("tag=type;empty_variant=MLN_DELIVERY_TYPE_RETIRED");
187
197 uint32_t size;
205 MLN_BINDING("length=delivery_count;stride=delivery_size");
209
219
236 const mln_delivery_queue_options* options,
237 mln_delivery_queue* out_queue MLN_BINDING("direction=out"),
238 mln_diagnostic* out_diagnostic
239) MLN_NOEXCEPT;
240
259MLN_API void mln_delivery_queue_release(mln_delivery_queue queue) MLN_NOEXCEPT;
260
285 mln_delivery_queue queue,
286 mln_delivery_batch* out_batch MLN_BINDING("direction=out"),
287 mln_delivery_batch_view* out_view MLN_BINDING("direction=out"),
288 mln_diagnostic* out_diagnostic
289) MLN_NOEXCEPT;
290
308 mln_delivery_batch batch, size_t index, mln_diagnostic* out_diagnostic
309) MLN_NOEXCEPT;
310
319MLN_API void mln_delivery_batch_release(mln_delivery_batch batch) MLN_NOEXCEPT;
320
321// NOLINTEND(modernize-use-using,modernize-use-trailing-return-type)
322
323#ifdef __cplusplus
324}
325#endif
326
327#endif // MAPLIBRE_NATIVE_C_DELIVERY_H
uint64_t mln_resource_transform_request
Definition base.h:156
uint64_t mln_delivery_batch
Definition base.h:183
uint64_t mln_delivery_queue
Definition base.h:178
uint64_t mln_resource_request
Definition base.h:151
mln_status
Definition base.h:61
#define MLN_BINDING(contract)
Definition binding.h:17
mln_delivery_type
Definition delivery.h:53
@ MLN_DELIVERY_TYPE_CAMERA_TRANSITION_END
Definition delivery.h:68
@ MLN_DELIVERY_TYPE_CUSTOM_SOURCE_FETCH_TILE
Definition delivery.h:70
@ MLN_DELIVERY_TYPE_RUNTIME_EVENTS
Definition delivery.h:74
@ MLN_DELIVERY_TYPE_RESOURCE_TRANSFORM
Definition delivery.h:76
@ MLN_DELIVERY_TYPE_RETIRED
Definition delivery.h:64
@ MLN_DELIVERY_TYPE_CUSTOM_SOURCE_CANCEL_TILE
Definition delivery.h:72
@ MLN_DELIVERY_TYPE_COMPLETION
Definition delivery.h:55
@ MLN_DELIVERY_TYPE_RESOURCE_REQUEST_CANCEL
Definition delivery.h:66
@ MLN_DELIVERY_TYPE_LOG_RECORD
Definition delivery.h:57
@ MLN_DELIVERY_TYPE_RESOURCE_REQUEST
Definition delivery.h:59
void mln_delivery_batch_release(mln_delivery_batch batch)
void mln_delivery_queue_release(mln_delivery_queue queue)
mln_status mln_delivery_batch_take(mln_delivery_batch batch, size_t index, mln_diagnostic *out_diagnostic)
mln_status mln_delivery_queue_drain(mln_delivery_queue queue, mln_delivery_batch *out_batch, mln_delivery_batch_view *out_view, mln_diagnostic *out_diagnostic)
mln_status mln_delivery_queue_create(const mln_delivery_queue_options *options, mln_delivery_queue *out_queue, mln_diagnostic *out_diagnostic)
Definition delivery.h:129
const mln_camera_transition_end * end
Definition delivery.h:131
Definition map.h:284
Definition style.h:384
Definition completion.h:42
Definition delivery.h:138
Definition delivery.h:196
uint32_t delivery_size
Definition delivery.h:202
size_t delivery_count
Definition delivery.h:207
const mln_delivery * deliveries
Definition delivery.h:205
Definition delivery.h:211
mln_wake wake
Definition delivery.h:217
Definition delivery.h:173
mln_delivery_payload payload
Definition delivery.h:185
uint32_t type
Definition delivery.h:175
void * user_data
Definition delivery.h:182
Definition base.h:100
Definition runtime.h:551
Definition delivery.h:85
const char * message
Definition delivery.h:92
uint32_t severity
Definition delivery.h:87
Definition delivery.h:107
mln_resource_request handle
Definition delivery.h:112
Definition delivery.h:96
const mln_resource_request_info * request
Definition delivery.h:98
mln_resource_request handle
Definition delivery.h:103
Definition delivery.h:116
mln_resource_transform_request request
Definition delivery.h:125
const char * url
Definition delivery.h:120
uint32_t kind
Definition delivery.h:118
Definition delivery.h:80
Definition wake.h:47
Definition delivery.h:143
mln_completion_result completion
Definition delivery.h:149