ul_db_layer.h 1.7 KB

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