mirror of
https://github.com/json-c/json-c.git
synced 2026-03-29 18:09:07 +08:00
Add includes and split off json_types.h to help ensure that headers can be included in any order.
This commit is contained in:
78
json_types.h
Normal file
78
json_types.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Eric Hawicz
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the MIT license. See COPYING for details.
|
||||
*/
|
||||
|
||||
#ifndef _json_types_h_
|
||||
#define _json_types_h_
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief Basic types used in a few places in json-c, but you should include "json_object.h" instead.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef JSON_EXPORT
|
||||
#if defined(_MSC_VER)
|
||||
#define JSON_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define JSON_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
struct printbuf;
|
||||
|
||||
/**
|
||||
* A structure to use with json_object_object_foreachC() loops.
|
||||
* Contains key, val and entry members.
|
||||
*/
|
||||
struct json_object_iter
|
||||
{
|
||||
char *key;
|
||||
struct json_object *val;
|
||||
struct lh_entry *entry;
|
||||
};
|
||||
typedef struct json_object_iter json_object_iter;
|
||||
|
||||
typedef int json_bool;
|
||||
|
||||
/**
|
||||
* @brief The core type for all type of JSON objects handled by json-c
|
||||
*/
|
||||
typedef struct json_object json_object;
|
||||
|
||||
/**
|
||||
* Type of custom user delete functions. See json_object_set_serializer.
|
||||
*/
|
||||
typedef void(json_object_delete_fn)(struct json_object *jso, void *userdata);
|
||||
|
||||
/**
|
||||
* Type of a custom serialization function. See json_object_set_serializer.
|
||||
*/
|
||||
typedef int(json_object_to_json_string_fn)(struct json_object *jso, struct printbuf *pb, int level,
|
||||
int flags);
|
||||
|
||||
/* supported object types */
|
||||
|
||||
typedef enum json_type
|
||||
{
|
||||
/* If you change this, be sure to update json_type_to_name() too */
|
||||
json_type_null,
|
||||
json_type_boolean,
|
||||
json_type_double,
|
||||
json_type_int,
|
||||
json_type_object,
|
||||
json_type_array,
|
||||
json_type_string
|
||||
} json_type;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user