93 lines
2.0 KiB
C
93 lines
2.0 KiB
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#include <msgpack.h>
|
|
|
|
#include "util/math/vector.h"
|
|
|
|
bool
|
|
mpkutil_get_bool(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
bool* b /* NULLABLE */
|
|
);
|
|
|
|
bool
|
|
mpkutil_get_int(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
intmax_t* i /* NULLABLE */
|
|
);
|
|
|
|
#define decl_mpkutil_get_intN_(N) \
|
|
bool \
|
|
mpkutil_get_int##N( \
|
|
const msgpack_object* obj, \
|
|
int##N##_t* i \
|
|
);
|
|
decl_mpkutil_get_intN_(8);
|
|
decl_mpkutil_get_intN_(16);
|
|
decl_mpkutil_get_intN_(32);
|
|
decl_mpkutil_get_intN_(64);
|
|
#undef decl_mpkutil_get_intN_
|
|
|
|
bool
|
|
mpkutil_get_uint(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
uintmax_t* i /* NULLABLE */
|
|
);
|
|
|
|
#define decl_mpkutil_get_uintN_(N) \
|
|
bool \
|
|
mpkutil_get_uint##N( \
|
|
const msgpack_object* obj, \
|
|
uint##N##_t* i \
|
|
);
|
|
decl_mpkutil_get_uintN_(8);
|
|
decl_mpkutil_get_uintN_(16);
|
|
decl_mpkutil_get_uintN_(32);
|
|
decl_mpkutil_get_uintN_(64);
|
|
#undef decl_mpkutil_get_uintN_
|
|
|
|
bool
|
|
mpkutil_get_float(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
float* f /* NULLABLE */
|
|
);
|
|
|
|
bool
|
|
mpkutil_get_str(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
const char** s, /* NULLABLE */
|
|
size_t* len /* NULLABLE */
|
|
);
|
|
|
|
bool
|
|
mpkutil_get_vec2(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
vec2_t* v /* NULLABLE */
|
|
);
|
|
|
|
bool
|
|
mpkutil_get_vec4(
|
|
const msgpack_object* obj, /* NULLABLE */
|
|
vec4_t* v /* NULLABLE */
|
|
);
|
|
|
|
const msgpack_object_array* /* NULLABLE */
|
|
mpkutil_get_array(
|
|
const msgpack_object* obj /* NULLABLE */
|
|
);
|
|
|
|
const msgpack_object_map* /* NULLABLE */
|
|
mpkutil_get_map(
|
|
const msgpack_object* obj /* NULLABLE */
|
|
);
|
|
|
|
const msgpack_object* /* NULLABLE */
|
|
mpkutil_get_map_item_by_str(
|
|
const msgpack_object_map* map, /* NULLABLE */
|
|
const char* name /* NULL-terminated */
|
|
);
|