821c946cd6686675cc9ee92746113803d124faf7
[sip-router] / modules_k / dialog / dlg_load.h
1 /*
2  * $Id$
3  *
4  * dialog module - basic support for dialog tracking
5  *
6  * Copyright (C) 2006 Voice Sistem SRL
7  *
8  * This file is part of Kamailio, a free SIP server.
9  *
10  * Kamailio is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version
14  *
15  * Kamailio is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License 
21  * along with this program; if not, write to the Free Software 
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23  *
24  * History:
25  * --------
26  *  2006-04-14  initial version (bogdan)
27  */
28
29 #ifndef _DIALOG_DLG_LOAD_H_
30 #define _DIALOG_DLG_LOAD_H_
31
32 #include "dlg_cb.h"
33 #include "../../sr_module.h"
34
35 struct dlg_binds {
36         register_dlgcb_f  register_dlgcb;
37     set_dlg_variable_f set_dlg_var;
38         get_dlg_variable_f get_dlg_var;
39 };
40
41
42 typedef int(*load_dlg_f)( struct dlg_binds *dlgb );
43 int load_dlg( struct dlg_binds *dlgb);
44
45
46 static inline int load_dlg_api( struct dlg_binds *dlgb )
47 {
48         load_dlg_f load_dlg;
49
50         /* import the DLG auto-loading function */
51         if ( !(load_dlg=(load_dlg_f)find_export("load_dlg", 0, 0)))
52                 return -1;
53
54         /* let the auto-loading function load all DLG stuff */
55         if (load_dlg( dlgb )==-1)
56                 return -1;
57
58         return 0;
59 }
60
61
62 #endif