1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#ifndef UL_DB_LAYER_H
#define UL_DB_LAYER_H
#include "../../lib/srdb1/db.h"
#include "../usrloc/usrloc.h"
#include "udomain.h"
#include "ucontact.h"
#define DB_TYPE_CLUSTER 0
#define DB_TYPE_CLUSTER_STR "cluster"
#define DB_TYPE_SINGLE 1
#define DB_TYPE_SINGLE_STR "single"
typedef struct ul_domain_db {
str name;
str url;
int dbt;
struct ul_domain_db_list * next;
} ul_domain_db_t;
typedef struct ul_domain_db_list {
ul_domain_db_t domain;
struct ul_domain_db_list * next;
} ul_domain_db_list_t;
int ul_db_layer_init();
void ul_db_layer_destroy();
int ul_db_layer_single_connect(udomain_t * domain, str * url);
int ul_db_layer_insert(udomain_t * domain, str * user, str * sipdomain,
db_key_t* _k, db_val_t* _v, int _n);
int ul_db_layer_update(udomain_t * domain, str * user, str * sipdomain, db_key_t* _k, db_op_t* _o, db_val_t* _v,
db_key_t* _uk, db_val_t* _uv, int _n, int _un);
int ul_db_layer_replace(udomain_t * domain, str * user, str * sipdomain,
db_key_t* _k, db_val_t* _v, int _n, int _un);
int ul_db_layer_delete(udomain_t * domain, str * user, str * sipdomain,
db_key_t* _k, db_op_t* _o, db_val_t* _v, int _n);
int ul_db_layer_query(udomain_t * domain, str * user, str * sipdomain,
db_key_t* _k, db_op_t* _op, db_val_t* _v, db_key_t* _c,
int _n, int _nc, db_key_t _o, db1_res_t** _r);
int ul_db_layer_raw_query(udomain_t * domain, str* _s, db1_res_t** _r);
int ul_db_layer_fetch_result(udomain_t * domain, db1_res_t** _r, int _n);
int ul_db_layer_free_result(udomain_t * domain, db1_res_t * res);
int ul_add_domain_db(str * d, int t, str * url);
ul_domain_db_t * ul_find_domain(const char * s);
int parse_domain_db(str * _d);
#endif
|