瀏覽代碼

ims_dialog: renamed exported api to reflect ims_dialog name

- it is no longer compatible with the dialog module api and can result
  in crashes at runtime given the object names matches but the content
  is different
Daniel-Constantin Mierla 9 年之前
父節點
當前提交
30cff72856
共有 3 個文件被更改,包括 36 次插入37 次删除
  1. 8 11
      modules/ims_dialog/dlg_cb.h
  2. 26 24
      modules/ims_dialog/dlg_load.h
  3. 2 2
      modules/ims_dialog/ims_dialog.c

+ 8 - 11
modules/ims_dialog/dlg_cb.h

@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * Copyright (C) 2006 Voice Sistem SRLs
  *
  * This file is part of Kamailio, a free SIP server.
@@ -38,36 +36,35 @@ struct dlg_cell;
 
 struct dlg_cb_params {
 	struct sip_msg* req;       /* sip request msg related to the callback event */
-        struct sip_msg* rpl;       /* sip reply msg related to the callback event */
+	struct sip_msg* rpl;       /* sip reply msg related to the callback event */
 	unsigned int direction;    /* direction of the sip msg */
 	void *dlg_data;            /* generic paramter, specific to callback */
 	void **param;              /* parameter passed at callback registration*/
 };
 
 /* callback function prototype */
-typedef void (dialog_cb) (struct dlg_cell* dlg, int type, 
+typedef void (dialog_cb) (struct dlg_cell* dlg, int type,
 		struct dlg_cb_params * params);
 /* function to free the callback param */
 typedef void (param_free_cb) (void *param);
 /* register callback function prototype */
-typedef int (*register_dlgcb_f)(struct dlg_cell* dlg, int cb_types,
+typedef int (*ims_register_dlgcb_f)(struct dlg_cell* dlg, int cb_types,
 		dialog_cb f, void *param, param_free_cb ff);
 
-typedef int (*register_dlgcb_nodlg_f)(str *callid, str *ftag, str *ttag, int cb_types,
-		dialog_cb f, void *param, param_free_cb ff);
+typedef int (*ims_register_dlgcb_nodlg_f)(str *callid, str *ftag, str *ttag,
+		int cb_types, dialog_cb f, void *param, param_free_cb ff);
 
 /* method to set a variable within a dialog */
 //typedef int (*set_dlg_variable_f)( struct dlg_cell* dlg,
 //                                   str* key,
 //                                   str* val);
-typedef int (*set_dlg_variable_f)( str* callid, str* ftag, str* ttag,
-                                   str* key,
-                                   str* val);
+typedef int (*ims_set_dlg_variable_f)( str* callid, str* ftag, str* ttag,
+		str* key, str* val);
 /* method to get a variable from a dialog */
 //typedef str* (*get_dlg_variable_f)( struct dlg_cell* dlg,
 //                                    str* key);
 
-typedef str* (*get_dlg_variable_f)( str *callid, str *ftag, str *ttag,
+typedef str* (*ims_get_dlg_variable_f)( str *callid, str *ftag, str *ttag,
                                     str* key);
 
 #define DLGCB_LOADED          (1<<0)

+ 26 - 24
modules/ims_dialog/dlg_load.h

@@ -17,8 +17,8 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  *
  * History:
@@ -33,44 +33,46 @@
 #include "../../sr_module.h"
 
 /* terminate_dlg function prototype */
-typedef int (*terminate_dlg_f)(str *callid, str *ftag, str *ttag, str *hdrs, str *reason);
+typedef int (*ims_terminate_dlg_f)(str *callid, str *ftag, str *ttag, str *hdrs,
+		str *reason);
 
-typedef int (*lookup_terminate_dlg_f)(unsigned int h_entry, unsigned int h_id, str *hdrs);
+typedef int (*ims_lookup_terminate_dlg_f)(unsigned int h_entry,
+		unsigned int h_id, str *hdrs);
 
 /* get the current dialog based on message function prototype */
-typedef struct dlg_cell *(*get_dlg_f)(struct sip_msg *msg);
+typedef struct dlg_cell *(*ims_get_dlg_f)(struct sip_msg *msg);
 
 /* get_dlg_lifetime function prototype */
-typedef time_t (*get_dlg_expires_f)(str *callid, str *ftag, str *ttag);
+typedef time_t (*ims_get_dlg_expires_f)(str *callid, str *ftag, str *ttag);
 
-typedef void (*release_dlg_f)(struct dlg_cell *dlg);
+typedef void (*ims_release_dlg_f)(struct dlg_cell *dlg);
 
-struct dlg_binds {
-	register_dlgcb_f  		register_dlgcb;
-	register_dlgcb_nodlg_f          register_dlgcb_nodlg;
-	terminate_dlg_f 		terminate_dlg;
-	lookup_terminate_dlg_f          lookup_terminate_dlg;
-	set_dlg_variable_f 		set_dlg_var;
-	get_dlg_variable_f 		get_dlg_var;
-	get_dlg_expires_f 		get_dlg_expires;
-	get_dlg_f			get_dlg;
-        release_dlg_f                   release_dlg;
-};
+typedef struct ims_dlg_binds {
+	ims_register_dlgcb_f		register_dlgcb;
+	ims_register_dlgcb_nodlg_f	register_dlgcb_nodlg;
+	ims_terminate_dlg_f			terminate_dlg;
+	ims_lookup_terminate_dlg_f	lookup_terminate_dlg;
+	ims_set_dlg_variable_f		set_dlg_var;
+	ims_get_dlg_variable_f		get_dlg_var;
+	ims_get_dlg_expires_f		get_dlg_expires;
+	ims_get_dlg_f				get_dlg;
+	ims_release_dlg_f			release_dlg;
+} ims_dlg_api_t;
 
 
-typedef int(*load_dlg_f)( struct dlg_binds *dlgb );
-int load_dlg( struct dlg_binds *dlgb);
+typedef int(*load_ims_dlg_f)(ims_dlg_api_t *dlgb );
+int load_ims_dlg(ims_dlg_api_t *dlgb);
 
-static inline int load_dlg_api( struct dlg_binds *dlgb )
+static inline int load_ims_dlg_api(ims_dlg_api_t *dlgb )
 {
-	load_dlg_f load_dlg;
+	load_ims_dlg_f load_ims_dlg_p;
 
 	/* import the DLG auto-loading function */
-	if ( !(load_dlg=(load_dlg_f)find_export("load_dlg", 0, 0)))
+	if ( !(load_ims_dlg_p=(load_ims_dlg_f)find_export("load_ims_dlg", 0, 0)))
 		return -1;
 
 	/* let the auto-loading function load all DLG stuff */
-	if (load_dlg( dlgb )==-1)
+	if (load_ims_dlg_p( dlgb )==-1)
 		return -1;
 
 	return 0;

+ 2 - 2
modules/ims_dialog/ims_dialog.c

@@ -120,7 +120,7 @@ static cmd_export_t cmds[] = {
    {"dlg_get", (cmd_function)w_dlg_get, 3, fixup_dlg_bridge, 0, ANY_ROUTE },
     {"is_known_dlg", (cmd_function) w_is_known_dlg, 0, NULL,
         0, REQUEST_ROUTE | FAILURE_ROUTE | ONREPLY_ROUTE | BRANCH_ROUTE},
-    {"load_dlg", (cmd_function) load_dlg, 0, 0, 0, 0},
+    {"load_ims_dlg", (cmd_function)load_ims_dlg, 0, 0, 0, 0},
     {0, 0, 0, 0, 0, 0}
 };
 
@@ -349,7 +349,7 @@ static int w_dlg_get(struct sip_msg *msg, char *ci, char *ft, char *tt)
 	return 1;
 }
 
-int load_dlg(struct dlg_binds *dlgb) {
+int load_ims_dlg(ims_dlg_api_t *dlgb) {
 
     dlgb->register_dlgcb = register_dlgcb;
     dlgb->register_dlgcb_nodlg = register_dlgcb_nodlg;