aboutsummaryrefslogtreecommitdiffhomepage
path: root/backends/libmmbackend.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/libmmbackend.h')
-rw-r--r--backends/libmmbackend.h33
1 files changed, 17 insertions, 16 deletions
diff --git a/backends/libmmbackend.h b/backends/libmmbackend.h
index aa0ac0c..5749119 100644
--- a/backends/libmmbackend.h
+++ b/backends/libmmbackend.h
@@ -78,49 +78,50 @@ json_type json_identify(char* json, size_t length);
* Returns the length of a detected JSON document, 0 otherwise (ie. parse failures)
*/
size_t json_validate(char* json, size_t length);
-
size_t json_validate_string(char* json, size_t length);
-
size_t json_validate_array(char* json, size_t length);
-
size_t json_validate_object(char* json, size_t length);
-
size_t json_validate_value(char* json, size_t length);
/*
* Calculate offset for value of `key`
- * Assumes a zero-terminated, validated JSON object as input
+ * Assumes a zero-terminated, validated JSON object / array as input
* Returns offset on success, 0 on failure
*/
size_t json_obj_offset(char* json, char* key);
+size_t json_array_offset(char* json, uint64_t key);
/*
- * Check for for a key within a JSON object
- * Assumes a zero-terminated, validated JSON object as input
+ * Check for for a key within a JSON object / index within an array
+ * Assumes a zero-terminated, validated JSON object / array as input
* Returns type of value
*/
json_type json_obj(char* json, char* key);
-
-//json_type json_array(char* json, size_t index)
+json_type json_array(char* json, uint64_t key);
/*
- * Fetch boolean value for an object key
- * Assumes a zero-terminated, validated JSON object as input
+ * Fetch boolean value for an object / array key
+ * Assumes a zero-terminated, validated JSON object / array as input
*/
uint8_t json_obj_bool(char* json, char* key, uint8_t fallback);
+uint8_t json_array_bool(char* json, uint64_t key, uint8_t fallback);
/*
- * Fetch integer/double value for an object key
- * Assumes a zero-terminated validated JSON object as input
+ * Fetch integer/double value for an object / array key
+ * Assumes a zero-terminated validated JSON object / array as input
*/
int64_t json_obj_int(char* json, char* key, int64_t fallback);
double json_obj_double(char* json, char* key, double fallback);
+int64_t json_array_int(char* json, uint64_t key, int64_t fallback);
+double json_array_double(char* json, uint64_t key, double fallback);
/*
- * Fetch a string value for an object key
- * Assumes a zero-terminated validated JSON object as input
- * json_obj_strdup returns a newly-allocated buffer containing
+ * Fetch a string value for an object / array key
+ * Assumes a zero-terminated validated JSON object / array as input
+ * json_*_strdup returns a newly-allocated buffer containing
* only the requested value
*/
char* json_obj_str(char* json, char* key, size_t* length);
char* json_obj_strdup(char* json, char* key);
+char* json_array_str(char* json, uint64_t key, size_t* length);
+char* json_array_strdup(char* json, uint64_t key);