Преглед изворни кода

acc: expose accounting functions via inter-module api

Daniel-Constantin Mierla пре 3 година
родитељ
комит
35767f387b
2 измењених фајлова са 14 додато и 0 уклоњено
  1. 8 0
      src/modules/acc/acc_api.h
  2. 6 0
      src/modules/acc/acc_mod.c

+ 8 - 0
src/modules/acc/acc_api.h

@@ -146,8 +146,16 @@ typedef acc_extra_t* (*parse_extra_f)(char *extra_str);
 typedef int (*register_cdr_engine_f)(cdr_engine_t *eng);
 typedef int (*cdr_api_exec_f)(struct dlg_cell *dlg, struct sip_msg *rq, cdr_engine_t *eng, acc_param_t* comment);
 
+typedef int (*acc_log_request_f)(sip_msg_t *msg, str *comment);
+typedef int (*acc_db_request_f)(sip_msg_t *msg, str *comment, str *dbtable);
+typedef int (*acc_request_f)(sip_msg_t *msg, str *comment, str *dbtable);
+
+
 /* the acc API */
 typedef struct acc_api {
+	acc_log_request_f acc_log_request;
+	acc_db_request_f  acc_db_request;
+	acc_request_f     acc_request;
 	leg_info_f    get_leg_info;
 	core2strar_f  get_core_attrs;
 	extra2strar_f get_extra_attrs;

+ 6 - 0
src/modules/acc/acc_mod.c

@@ -644,6 +644,12 @@ static int bind_acc(acc_api_t* api)
 		return -1;
 	}
 
+	memset(api, 0, sizeof(acc_api_t));
+
+	api->acc_log_request = ki_acc_log_request;
+	api->acc_db_request  = ki_acc_db_request;
+	api->acc_request     = ki_acc_request;
+
 	api->register_engine = acc_register_engine;
 	api->get_leg_info    = get_leg_info;
 	api->get_core_attrs  = core2strar;