PipeWire 1.7.0
Loading...
Searching...
No Matches
json-builder.h File Reference

spa/utils/json-builder.h More...

Go to the source code of this file.

Data Structures

struct  spa_json_builder
 

Macros

#define SPA_API_JSON_BUILDER   static inline
 
#define SPA_JSON_BUILDER_FLAG_CLOSE   (1<<0)
 
#define SPA_JSON_BUILDER_FLAG_INDENT   (1<<1)
 
#define SPA_JSON_BUILDER_FLAG_SPACE   (1<<2)
 
#define SPA_JSON_BUILDER_FLAG_PRETTY   (SPA_JSON_BUILDER_FLAG_INDENT|SPA_JSON_BUILDER_FLAG_SPACE)
 
#define SPA_JSON_BUILDER_FLAG_COLOR   (1<<3)
 
#define SPA_JSON_BUILDER_FLAG_SIMPLE   (1<<4)
 
#define SPA_JSON_BUILDER_FLAG_RAW   (1<<5)
 
#define SPA_JSON_BUILDER_COLOR_NORMAL   0
 
#define SPA_JSON_BUILDER_COLOR_KEY   1
 
#define SPA_JSON_BUILDER_COLOR_LITERAL   2
 
#define SPA_JSON_BUILDER_COLOR_NUMBER   3
 
#define SPA_JSON_BUILDER_COLOR_STRING   4
 
#define SPA_JSON_BUILDER_COLOR_CONTAINER   5
 

Functions

SPA_API_JSON_BUILDER int spa_json_builder_file (struct spa_json_builder *b, FILE *f, uint32_t flags)
 
SPA_API_JSON_BUILDER int spa_json_builder_memstream (struct spa_json_builder *b, char **mem, size_t *size, uint32_t flags)
 
SPA_API_JSON_BUILDER int spa_json_builder_membuf (struct spa_json_builder *b, char *mem, size_t size, uint32_t flags)
 
SPA_API_JSON_BUILDER void spa_json_builder_close (struct spa_json_builder *b)
 
SPA_API_JSON_BUILDER int spa_json_builder_encode_string (struct spa_json_builder *b, bool raw, const char *before, const char *val, int size, const char *after)
 
SPA_API_JSON_BUILDER void spa_json_builder_add_simple (struct spa_json_builder *b, const char *key, int key_len, char type, const char *val, int val_len)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_push (struct spa_json_builder *b, const char *key, const char *val)
 
SPA_API_JSON_BUILDER void spa_json_builder_pop (struct spa_json_builder *b, const char *val)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_null (struct spa_json_builder *b, const char *key)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_bool (struct spa_json_builder *b, const char *key, bool val)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_int (struct spa_json_builder *b, const char *key, int64_t val)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_uint (struct spa_json_builder *b, const char *key, uint64_t val)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_double (struct spa_json_builder *b, const char *key, double val)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_string (struct spa_json_builder *b, const char *key, const char *val)
 
 SPA_API_JSON_BUILDER (3, 0) void spa_json_builder_object_stringv(struct spa_json_builder *b
 
 if (vasprintf(&val, fmt, va) > 0)
 
 SPA_API_JSON_BUILDER (3, 4) void spa_json_builder_object_stringf(struct spa_json_builder *b
 
const char const char va_start (va, fmt)
 
 spa_json_builder_object_stringv (b, key, fmt, va)
 
 va_end (va)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_value_iter (struct spa_json_builder *b, struct spa_json *it, const char *key, int key_len, const char *val, int len)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_value_full (struct spa_json_builder *b, bool recurse, const char *key, int key_len, const char *val, int val_len)
 
SPA_API_JSON_BUILDER void spa_json_builder_object_value (struct spa_json_builder *b, bool recurse, const char *key, const char *val)
 
 SPA_API_JSON_BUILDER (4, 5) void spa_json_builder_object_valuef(struct spa_json_builder *b
 
SPA_API_JSON_BUILDER void spa_json_builder_array_push (struct spa_json_builder *b, const char *val)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_null (struct spa_json_builder *b)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_bool (struct spa_json_builder *b, bool val)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_int (struct spa_json_builder *b, int64_t val)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_uint (struct spa_json_builder *b, uint64_t val)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_double (struct spa_json_builder *b, double val)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_string (struct spa_json_builder *b, const char *val)
 
 SPA_API_JSON_BUILDER (2, 3) void spa_json_builder_array_stringf(struct spa_json_builder *b
 
 spa_json_builder_object_stringv (b, NULL, fmt, va)
 
SPA_API_JSON_BUILDER void spa_json_builder_array_value (struct spa_json_builder *b, bool recurse, const char *val)
 
SPA_API_JSON_BUILDER char * spa_json_builder_reformat (const char *json, uint32_t flags)
 

Variables

const char * key
 
const char const char * fmt
 
const char const char va_list va
 
bool recurse
 
bool const char const char char * val
 

Detailed Description

Macro Definition Documentation

◆ SPA_API_JSON_BUILDER

#define SPA_API_JSON_BUILDER   static inline