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 #ifndef DBA_VAR_H
00023 #define DBA_VAR_H
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00035 #include <dballe/core/error.h>
00036 #include <dballe/core/vartable.h>
00037 #include <stdio.h>
00038
00039 struct _dba_var;
00049 typedef struct _dba_var* dba_var;
00050
00051 struct _dba_var_attr;
00055 typedef struct _dba_var_attr* dba_var_attr_iterator;
00056
00057
00069 dba_err dba_var_create(dba_varinfo info, dba_var* var);
00070
00084 dba_err dba_var_createi(dba_varinfo info, int val, dba_var* var);
00085
00099 dba_err dba_var_created(dba_varinfo info, double val, dba_var* var);
00100
00114 dba_err dba_var_createc(dba_varinfo info, const char* val, dba_var* var);
00115
00127 dba_err dba_var_create_local(dba_varcode code, dba_var* var);
00128
00140 dba_err dba_var_copy(dba_var source, dba_var* dest);
00141
00148 void dba_var_delete(dba_var var);
00149
00160 int dba_var_equals(const dba_var var1, const dba_var var2);
00161
00172 dba_err dba_var_enqi(dba_var var, int* val);
00173
00184 dba_err dba_var_enqd(dba_var var, double* val);
00185
00196 dba_err dba_var_enqc(dba_var var, const char** val);
00197
00208 dba_err dba_var_seti(dba_var var, int val);
00209
00220 dba_err dba_var_setd(dba_var var, double val);
00221
00232 dba_err dba_var_setc(dba_var var, const char* val);
00233
00242 dba_err dba_var_unset(dba_var var);
00243
00257 dba_err dba_var_enqa(dba_var var, dba_varcode code, dba_var* attr);
00258
00271 dba_err dba_var_seta(dba_var var, dba_var attr);
00272
00285 dba_err dba_var_seta_nocopy(dba_var var, dba_var attr);
00286
00297 dba_err dba_var_unseta(dba_var var, dba_varcode code);
00298
00306 void dba_var_clear_attrs(dba_var var);
00307
00317 dba_varcode dba_var_code(dba_var var);
00318
00327 dba_varinfo dba_var_info(dba_var var);
00328
00338 const char* dba_var_value(dba_var var);
00339
00348 dba_var_attr_iterator dba_var_attr_iterate(dba_var var);
00349
00359 dba_var_attr_iterator dba_var_attr_iterator_next(dba_var_attr_iterator iter);
00360
00369 dba_var dba_var_attr_iterator_attr(dba_var_attr_iterator iter);
00370
00371
00382 dba_err dba_var_copy_val(dba_var dest, dba_var orig);
00383
00394 dba_err dba_var_copy_attrs(dba_var dest, dba_var src);
00395
00409 dba_err dba_var_convert(dba_var orig, dba_varinfo info, dba_var* conv);
00410
00422 int dba_var_encode_int(double fval, dba_varinfo info);
00423
00435 double dba_var_decode_int(int val, dba_varinfo info);
00436
00445 void dba_var_print(dba_var var, FILE* out);
00446
00460 void dba_var_diff(dba_var var1, dba_var var2, int* diffs, FILE* out);
00461
00462
00463 struct lua_State;
00464
00468 dba_err dba_var_lua_push(dba_var var, struct lua_State* L);
00469
00475 dba_var dba_var_lua_check(struct lua_State* L, int idx);
00476
00477
00478 #ifdef __cplusplus
00479 }
00480 #endif
00481
00482 #endif
00483