var.h

Go to the documentation of this file.
00001 /*
00002  * DB-ALLe - Archive for punctual meteorological data
00003  *
00004  * Copyright (C) 2005,2006  ARPA-SIM <urpsim@smr.arpa.emr.it>
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
00018  *
00019  * Author: Enrico Zini <enrico@enricozini.com>
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 #ifdef  __cplusplus
00463 }
00464 #endif
00465 
00466 #endif
00467 /* vim:set ts=4 sw=4: */

Generated on Fri Jun 22 15:18:09 2007 for libdballe-db by  doxygen 1.5.2