Main Page | Modules | Data Structures | File List | Data Fields

/extra/work/state-dev/src/sos/sos_data.h

00001 /* ----------------------------------------------------------------------------
00002  * $Id: sos_data.h,v 1.4 2003/10/06 20:47:34 jlewalle Exp $
00003  *
00004  * --------------------------------------------------------------------------*/
00005 #if !defined(_INCLUDED_SOS_DATA_H_HEADER__)
00006 #define _INCLUDED_SOS_DATA_H_HEADER__
00007 
00014 SUL_PEER_DECLARE(values_integers);
00015 SUL_PEER_DECLARE(values_strings);
00016 SUL_PEER_DECLARE(values_reals);
00017 SUL_PEER_DECLARE(values_booleans);
00018 
00022 typedef struct sos_data_value_t
00023 {
00025   sul_key_t identifier;
00026   sul_key_t package_id;
00027   sul_key_t series_id;
00028   union {
00029     char *s;
00030     apr_int32_t i;
00031     double f;
00032     sul_boolean_t b;
00033   } val;
00034   sos_package_t *pkg;
00035   sos_series_t *series;
00036 } sos_data_value_t;
00037 
00047 SOS_DECLARE(sul_error_t *)
00048 sos_data_value_create(sos_data_value_t **value, sos_package_t *pkg, 
00049                       sos_series_t *series, apr_pool_t *pool);
00050 
00062 SOS_DECLARE(sul_error_t *)
00063 sos_data_value_get_unique(sos_data_value_t **value, sos_package_t *pkg, 
00064                           sos_series_t *series, sos_fs_txn_t *txn, 
00065                           apr_pool_t *pool);
00066 
00076 SOS_DECLARE(sul_error_t *)
00077 sos_data_value_save(sos_data_value_t *value, sos_fs_txn_t *txn, 
00078                     apr_pool_t *pool);
00079 
00089 SOS_DECLARE(sul_error_t *)
00090 sos_data_value_get_series(sos_data_value_t **value, sos_series_t *series,
00091                           sos_fs_txn_t *txn, apr_pool_t *pool);
00092 
00103 SOS_DECLARE(sul_error_t *)
00104 sos_data_path_resolve_value(sos_series_t **series, const char *path,
00105                             sos_data_type_t *type, sos_fs_txn_t *txn,
00106                             apr_pool_t *pool);
00107 
00110 #endif

Generated on Wed Apr 28 09:38:33 2004 for State by doxygen 1.3.5