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