VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
vsf_json.h File Reference
#include "service/vsf_service_cfg.h"
#include "utilities/vsf_utilities.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

class  vsf_json_enumerator_t
 
class  vsf_json_constructor_t
 

Macros

#define vsf_json_set_object(__c, __key, ...)
 
#define vsf_json_set_array(__c, __key, ...)
 

Typedefs

typedef enum vsf_json_type_t vsf_json_type_t
 

Enumerations

enum  vsf_json_type_t {
  VSF_JSON_TYPE_INVALID ,
  VSF_JSON_TYPE_OBJECT ,
  VSF_JSON_TYPE_ARRAY ,
  VSF_JSON_TYPE_STRING ,
  VSF_JSON_TYPE_NUMBER ,
  VSF_JSON_TYPE_BOOLEAN ,
  VSF_JSON_TYPE_NULL
}
 

Functions

vsf_json_type_t vsf_json_enumerate_start (vsf_json_enumerator_t *e, const char *json)
 
char * vsf_json_enumerate_next (vsf_json_enumerator_t *e)
 
char * vsf_json_get (const char *json, const char *key)
 
int vsf_json_num_of_entry (const char *json)
 
vsf_json_type_t vsf_json_get_type (const char *json)
 
int vsf_json_get_string (const char *json, char *result, int len)
 
int vsf_json_get_number (const char *json, double *result)
 
int vsf_json_get_boolean (const char *json, bool *result)
 
void vsf_json_constructor_init (vsf_json_constructor_t *c, void *param, int(*write_str)(void *, char *, int))
 
int vsf_json_constructor_buffer_write_str (void *param, char *str, int len)
 
int vsf_json_write_str (vsf_json_constructor_t *c, char *buf, int len)
 
int vsf_json_set_key (vsf_json_constructor_t *c, char *key)
 
int vsf_json_set_string (vsf_json_constructor_t *c, char *key, char *value)
 
int vsf_json_set_integer (vsf_json_constructor_t *c, char *key, int value)
 
int vsf_json_set_double (vsf_json_constructor_t *c, char *key, double value)
 
int vsf_json_set_boolean (vsf_json_constructor_t *c, char *key, bool value)
 
int vsf_json_set_null (vsf_json_constructor_t *c, char *key)
 

Macro Definition Documentation

◆ vsf_json_set_object

#define vsf_json_set_object (   __c,
  __key,
  ... 
)
Value:
do { \
int len = vsf_json_set_key((__c), (__key)); \
if (len < 0) break; \
(__c)->first = true; \
len = vsf_json_write_str((__c), "{", 1); \
if (len < 0) break; \
__VA_ARGS__; \
len = vsf_json_write_str((__c), "}", 1); \
if (len < 0) break; \
} while (0)
@ true
Definition type.h:62
int vsf_json_write_str(vsf_json_constructor_t *c, char *buf, int len)
Definition vsf_json.c:347
int vsf_json_set_key(vsf_json_constructor_t *c, char *key)
Definition vsf_json.c:367

◆ vsf_json_set_array

#define vsf_json_set_array (   __c,
  __key,
  ... 
)
Value:
do { \
int len = vsf_json_set_key((__c), (__key)); \
if (len < 0) break; \
(__c)->first = true; \
len = vsf_json_write_str((__c), "[", 1); \
if (len < 0) break; \
__VA_ARGS__; \
len = vsf_json_write_str((__c), "]", 1); \
if (len < 0) break; \
} while (0)
while(1)

Typedef Documentation

◆ vsf_json_type_t

Enumeration Type Documentation

◆ vsf_json_type_t

Enumerator
VSF_JSON_TYPE_INVALID 
VSF_JSON_TYPE_OBJECT 
VSF_JSON_TYPE_ARRAY 
VSF_JSON_TYPE_STRING 
VSF_JSON_TYPE_NUMBER 
VSF_JSON_TYPE_BOOLEAN 
VSF_JSON_TYPE_NULL 

Function Documentation

◆ vsf_json_enumerate_start()

vsf_json_type_t vsf_json_enumerate_start ( vsf_json_enumerator_t e,
const char *  json 
)
extern

◆ vsf_json_enumerate_next()

char * vsf_json_enumerate_next ( vsf_json_enumerator_t e)
extern

◆ vsf_json_get()

char * vsf_json_get ( const char *  json,
const char *  key 
)
extern

◆ vsf_json_num_of_entry()

int vsf_json_num_of_entry ( const char *  json)
extern

◆ vsf_json_get_type()

vsf_json_type_t vsf_json_get_type ( const char *  json)
extern

◆ vsf_json_get_string()

int vsf_json_get_string ( const char *  json,
char *  result,
int  len 
)
extern

◆ vsf_json_get_number()

int vsf_json_get_number ( const char *  json,
double *  result 
)
extern

◆ vsf_json_get_boolean()

int vsf_json_get_boolean ( const char *  json,
bool result 
)
extern

◆ vsf_json_constructor_init()

void vsf_json_constructor_init ( vsf_json_constructor_t c,
void *  param,
int(*)(void *, char *, int)  write_str 
)
extern

◆ vsf_json_constructor_buffer_write_str()

int vsf_json_constructor_buffer_write_str ( void *  param,
char *  str,
int  len 
)
extern

◆ vsf_json_write_str()

int vsf_json_write_str ( vsf_json_constructor_t c,
char *  buf,
int  len 
)
extern

◆ vsf_json_set_key()

int vsf_json_set_key ( vsf_json_constructor_t c,
char *  key 
)
extern

◆ vsf_json_set_string()

int vsf_json_set_string ( vsf_json_constructor_t c,
char *  key,
char *  value 
)
extern

◆ vsf_json_set_integer()

int vsf_json_set_integer ( vsf_json_constructor_t c,
char *  key,
int  value 
)
extern

◆ vsf_json_set_double()

int vsf_json_set_double ( vsf_json_constructor_t c,
char *  key,
double  value 
)
extern

◆ vsf_json_set_boolean()

int vsf_json_set_boolean ( vsf_json_constructor_t c,
char *  key,
bool  value 
)
extern

◆ vsf_json_set_null()

int vsf_json_set_null ( vsf_json_constructor_t c,
char *  key 
)
extern