00001 #ifndef H_JSON_JOURNAL 00002 #define H_JSON_JOURNAL 00003 00004 #include <stdio.h> 00005 00006 #include <json-c/json.h> 00007 #include <json-c/json_more_utils.h> 00008 00009 #include "laser_data_json.h" 00010 00011 00021 #define JJ jj_enabled() 00022 int jj_enabled(void); 00023 00024 void jj_context_enter(const char*context_name); 00025 void jj_context_exit(void); 00026 00027 void jj_loop_enter(const char*loop_name); 00028 void jj_loop_iteration(void); 00029 void jj_loop_exit(void); 00030 00031 void jj_add_int(const char*name, int); 00032 void jj_add_double(const char*name, double); 00033 void jj_add_double_array(const char*name, double*,int); 00034 void jj_add_int_array(const char*name, int*,int); 00035 void jj_add(const char*name, JO); 00036 00037 void jj_set_stream(FILE*); 00038 FILE* jj_get_stream(void); 00039 00040 /**** Private functions */ 00041 00043 JO jj_stack_top(void); 00045 void jj_stack_push(JO jo); 00046 void jj_stack_pop(void); 00048 void jj_must_be_hash(void); 00050 void jj_must_be_array(void); 00051 00052 00053 #endif