json-writer.h (1156B)
1/* 2 * JSON Writer 3 * 4 * Copyright (c) 2020 Red Hat Inc. 5 * 6 * Authors: 7 * Markus Armbruster <armbru@redhat.com> 8 * 9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. 10 * See the COPYING.LIB file in the top-level directory. 11 * 12 */ 13 14#ifndef JSON_WRITER_H 15#define JSON_WRITER_H 16 17JSONWriter *json_writer_new(bool pretty); 18const char *json_writer_get(JSONWriter *); 19GString *json_writer_get_and_free(JSONWriter *); 20void json_writer_free(JSONWriter *); 21 22G_DEFINE_AUTOPTR_CLEANUP_FUNC(JSONWriter, json_writer_free) 23 24void json_writer_start_object(JSONWriter *, const char *name); 25void json_writer_end_object(JSONWriter *); 26void json_writer_start_array(JSONWriter *, const char *name); 27void json_writer_end_array(JSONWriter *); 28void json_writer_bool(JSONWriter *, const char *name, bool val); 29void json_writer_null(JSONWriter *, const char *name); 30void json_writer_int64(JSONWriter *, const char *name, int64_t val); 31void json_writer_uint64(JSONWriter *, const char *name, uint64_t val); 32void json_writer_double(JSONWriter *, const char *name, double val); 33void json_writer_str(JSONWriter *, const char *name, const char *str); 34 35#endif