Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef cJSON__h
00024 #define cJSON__h
00025
00026 #include <pcl/pcl_macros.h>
00027
00028
00029 #include <string>
00030
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035
00036
00037 #define cJSON_False 0
00038 #define cJSON_True 1
00039 #define cJSON_NULL 2
00040 #define cJSON_Number 3
00041 #define cJSON_String 4
00042 #define cJSON_Array 5
00043 #define cJSON_Object 6
00044
00045 #define cJSON_IsReference 256
00046
00047
00048 typedef struct cJSON {
00049 struct cJSON *next,*prev;
00050 struct cJSON *child;
00051
00052 int type;
00053
00054 char *valuestring;
00055 int valueint;
00056 double valuedouble;
00057
00058 char *string;
00059 } cJSON;
00060
00061 typedef struct cJSON_Hooks {
00062 void *(*malloc_fn)(size_t sz);
00063 void (*free_fn)(void *ptr);
00064 } cJSON_Hooks;
00065
00066
00067 PCLAPI(void) cJSON_InitHooks(cJSON_Hooks* hooks);
00068
00069
00070
00071 PCLAPI(cJSON *) cJSON_Parse(const char *value);
00072
00073 PCLAPI(char *) cJSON_Print(cJSON *item);
00074
00075 PCLAPI(char *) cJSON_PrintUnformatted(cJSON *item);
00076
00077 PCLAPI(void) cJSON_Delete(cJSON *c);
00078
00079 PCLAPI(void) cJSON_PrintStr(cJSON *item, std::string& s);
00080
00081 PCLAPI(void) cJSON_PrintUnformattedStr(cJSON *item, std::string& s);
00082
00083
00084 PCLAPI(int) cJSON_GetArraySize(cJSON *array);
00085
00086 PCLAPI(cJSON *) cJSON_GetArrayItem(cJSON *array,int item);
00087
00088 PCLAPI(cJSON *) cJSON_GetObjectItem(cJSON *object,const char *string);
00089
00090
00091 PCLAPI(const char *) cJSON_GetErrorPtr();
00092
00093
00094 PCLAPI(cJSON *) cJSON_CreateNull();
00095 PCLAPI(cJSON *) cJSON_CreateTrue();
00096 PCLAPI(cJSON *) cJSON_CreateFalse();
00097 PCLAPI(cJSON *) cJSON_CreateBool(int b);
00098 PCLAPI(cJSON *) cJSON_CreateNumber(double num);
00099 PCLAPI(cJSON *) cJSON_CreateString(const char *string);
00100 PCLAPI(cJSON *) cJSON_CreateArray();
00101 PCLAPI(cJSON *) cJSON_CreateObject();
00102
00103
00104 PCLAPI(cJSON *) cJSON_CreateIntArray(int *numbers,int count);
00105 PCLAPI(cJSON *) cJSON_CreateFloatArray(float *numbers,int count);
00106 PCLAPI(cJSON *) cJSON_CreateDoubleArray(double *numbers,int count);
00107 PCLAPI(cJSON *) cJSON_CreateStringArray(const char **strings,int count);
00108
00109
00110 PCLAPI(void) cJSON_AddItemToArray(cJSON *array, cJSON *item);
00111 PCLAPI(void) cJSON_AddItemToObject(cJSON *object,const char *string,cJSON *item);
00112
00113 PCLAPI(void) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item);
00114 PCLAPI(void) cJSON_AddItemReferenceToObject(cJSON *object,const char *string,cJSON *item);
00115
00116
00117 PCLAPI(cJSON *) cJSON_DetachItemFromArray(cJSON *array,int which);
00118 PCLAPI(void) cJSON_DeleteItemFromArray(cJSON *array,int which);
00119 PCLAPI(cJSON *) cJSON_DetachItemFromObject(cJSON *object,const char *string);
00120 PCLAPI(void) cJSON_DeleteItemFromObject(cJSON *object,const char *string);
00121
00122
00123 PCLAPI(void) cJSON_ReplaceItemInArray(cJSON *array,int which,cJSON *newitem);
00124 PCLAPI(void) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem);
00125
00126 #define cJSON_AddNullToObject(object,name) cJSON_AddItemToObject(object, name, cJSON_CreateNull())
00127 #define cJSON_AddTrueToObject(object,name) cJSON_AddItemToObject(object, name, cJSON_CreateTrue())
00128 #define cJSON_AddFalseToObject(object,name) cJSON_AddItemToObject(object, name, cJSON_CreateFalse())
00129 #define cJSON_AddNumberToObject(object,name,n) cJSON_AddItemToObject(object, name, cJSON_CreateNumber(n))
00130 #define cJSON_AddStringToObject(object,name,s) cJSON_AddItemToObject(object, name, cJSON_CreateString(s))
00131
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135
00136 #endif