diff --git a/src/mod/applications/mod_ivrtest/mod_ivrtest.c b/src/mod/applications/mod_ivrtest/mod_ivrtest.c index 0215d0cc0f..f5c0c4e15e 100644 --- a/src/mod/applications/mod_ivrtest/mod_ivrtest.c +++ b/src/mod/applications/mod_ivrtest/mod_ivrtest.c @@ -31,9 +31,8 @@ */ #include - -static const char modname[] = "mod_ivrtest"; - +SWITCH_MODULE_LOAD_FUNCTION(mod_ivrtest_load); +SWITCH_MODULE_DEFINITION(mod_ivrtest, mod_ivrtest_load, NULL, NULL); /* dtmf handler function you can hook up to be executed when a digit is dialed during playback @@ -499,7 +498,7 @@ static const switch_application_interface_t asrtest_application_interface = { /*.next */ &ivrtest_application_interface }; -static const switch_loadable_module_interface_t mod_ivrtest_module_interface = { +static const switch_loadable_module_interface_t ivrtest_module_interface = { /*.module_name = */ modname, /*.endpoint_interface = */ NULL, /*.timer_interface = */ NULL, @@ -508,11 +507,11 @@ static const switch_loadable_module_interface_t mod_ivrtest_module_interface = { /*.application_interface */ &asrtest_application_interface }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_ivrtest_load) { /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &mod_ivrtest_module_interface; + *module_interface = &ivrtest_module_interface; /* test global state handlers */ switch_core_add_state_handler(&state_handlers); @@ -521,12 +520,6 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod return SWITCH_STATUS_SUCCESS; } -/* 'switch_module_runtime' will start up in a thread by itself just by having it exist - if it returns anything but SWITCH_STATUS_TERM it will be called again automaticly -*/ - - -//switch_status_t switch_module_runtime(void) /* For Emacs: * Local Variables: diff --git a/src/mod/applications/mod_skel/mod_skel.c b/src/mod/applications/mod_skel/mod_skel.c index 306535eb0d..8d1e32a287 100644 --- a/src/mod/applications/mod_skel/mod_skel.c +++ b/src/mod/applications/mod_skel/mod_skel.c @@ -32,7 +32,11 @@ */ #include -static const char modname[] = "mod_skel"; +//SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skel_shutdown); +//SWITCH_MODULE_RUNTIME_FUNCTION(mod_skel_runtime); + +SWITCH_MODULE_LOAD_FUNCTION(mod_skel_load); +SWITCH_MODULE_DEFINITION(mod_skel, mod_skel_load, NULL, NULL); static switch_loadable_module_interface_t skel_module_interface = { /*.module_name */ modname, @@ -47,7 +51,7 @@ static switch_loadable_module_interface_t skel_module_interface = { /*.directory_interface */ NULL }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_skel_load) { /* connect my internal structure to the blank pointer passed to me */ *module_interface = &skel_module_interface; @@ -60,7 +64,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod /* Called when the system shuts down -SWITCH_MOD_DECLARE(switch_status) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skel_shutdown); { return SWITCH_STATUS_SUCCESS; } @@ -69,7 +73,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_shutdown(void) /* If it exists, this is called in it's own thread when the module-load completes If it returns anything but SWITCH_STATUS_TERM it will be called again automaticly -SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void) +SWITCH_MODULE_RUNTIME_FUNCTION(mod_skel_runtime); { while(looping) { diff --git a/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp b/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp index 5204474dfd..ee5890db69 100644 --- a/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp +++ b/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp @@ -35,12 +35,12 @@ using namespace soundtouch; using namespace std; - #include #define STSTART 1024 * 2 #define STBLOCK 1024 -static const char modname[] = "mod_soundtouch"; +SWITCH_MODULE_LOAD_FUNCTION(mod_soundtouch_load); +SWITCH_MODULE_DEFINITION(mod_soundtouch, mod_soundtouch_load, NULL, NULL); struct soundtouch_helper { SoundTouch *st; @@ -331,7 +331,7 @@ static switch_loadable_module_interface_t soundtouch_module_interface = { }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_soundtouch_load) { /* connect my internal structure to the blank pointer passed to me */ *module_interface = &soundtouch_module_interface; diff --git a/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp b/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp index 969f395aa4..936c3fea6e 100644 --- a/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp +++ b/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp @@ -38,7 +38,9 @@ #include #include -static const char modname[] = "mod_lumenvox"; +SWITCH_MODULE_LOAD_FUNCTION(mod_lumenvox_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_lumenvox_shutdown); +SWITCH_MODULE_DEFINITION(mod_lumenvox, mod_lumenvox_load, mod_lumenvox_shutdown, NULL); typedef enum { LVFLAG_HAS_TEXT = (1 << 0), @@ -441,7 +443,7 @@ static const switch_loadable_module_interface_t lumenvox_module_interface = { /*.asr_interface */ &lumenvox_asr_interface }; -switch_status_t switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_lumenvox_load) { LVSpeechPort::RegisterAppLogMsg(log_callback, NULL, 5); //LVSpeechPort::SetClientPropertyEx(PROP_EX_SRE_SERVERS, PROP_EX_VALUE_TYPE_STRING, (void *)"127.0.0.1"); @@ -453,7 +455,7 @@ switch_status_t switch_module_load(const switch_loadable_module_interface_t **mo return SWITCH_STATUS_SUCCESS; } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_lumenvox_shutdown) { return SWITCH_STATUS_UNLOAD; } diff --git a/src/mod/endpoints/mod_alsa/mod_alsa.c b/src/mod/endpoints/mod_alsa/mod_alsa.c index 47ecbc61b2..7157fa6970 100644 --- a/src/mod/endpoints/mod_alsa/mod_alsa.c +++ b/src/mod/endpoints/mod_alsa/mod_alsa.c @@ -39,7 +39,9 @@ #define MY_EVENT_RINGING "alsa::ringing" -static const char modname[] = "mod_alsa"; +SWITCH_MODULE_LOAD_FUNCTION(mod_alsa_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_alsa_shutdown); +SWITCH_MODULE_DEFINITION(mod_alsa, mod_alsa_load, mod_alsa_shutdown, NULL); static switch_memory_pool_t *module_pool = NULL; //static int running = 1; @@ -825,7 +827,7 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_alsa_load); { switch_status_t status; @@ -943,7 +945,7 @@ static switch_status_t load_config(void) return SWITCH_STATUS_SUCCESS; } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_alsa_shutdown) { deactivate_audio_device(); diff --git a/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c b/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c index 657507aaad..9d6503b55d 100644 --- a/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c +++ b/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c @@ -41,7 +41,9 @@ #endif //#define DOTRACE -static const char modname[] = "mod_wanpipe"; +SWITCH_MODULE_LOAD_FUNCTION(mod_wanpipe_load); +SWITCH_MODULE_DEFINITION(mod_wanpipe, mod_wanpipe_load, NULL, NULL); + #define STRLEN 15 static switch_memory_pool_t *module_pool = NULL; @@ -1308,7 +1310,7 @@ static void s_pri_message(struct pri *pri, char *s) } #endif -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_wanpipe_load) { switch_status_t status = SWITCH_STATUS_SUCCESS; diff --git a/src/mod/formats/mod_shout/mod_shout.c b/src/mod/formats/mod_shout/mod_shout.c index d7b91cd317..31ed0f9c70 100644 --- a/src/mod/formats/mod_shout/mod_shout.c +++ b/src/mod/formats/mod_shout/mod_shout.c @@ -37,14 +37,13 @@ #include #include - #define OUTSCALE 8192 #define MP3_SCACHE 16384 #define MP3_DCACHE 8192 -static const char modname[] = "mod_shout"; - - +SWITCH_MODULE_LOAD_FUNCTION(mod_shout_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_shout_shutdown); +SWITCH_MODULE_DEFINITION(mod_shout, mod_shout_load, mod_shout_shutdown, NULL); static char *supported_formats[SWITCH_MAX_CODECS] = { 0 }; @@ -890,7 +889,7 @@ static switch_loadable_module_interface_t shout_module_interface = { /*.directory_interface */ NULL }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_shout_load) { supported_formats[0] = "shout"; supported_formats[1] = "mp3"; @@ -909,7 +908,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_shout_shutdown) { curl_global_cleanup(); return SWITCH_STATUS_SUCCESS; diff --git a/src/mod/languages/mod_mono/mod_mono.c b/src/mod/languages/mod_mono/mod_mono.c index 39783194f3..cfc7d8fb29 100755 --- a/src/mod/languages/mod_mono/mod_mono.c +++ b/src/mod/languages/mod_mono/mod_mono.c @@ -50,7 +50,10 @@ MonoClass *mod_mono_find_assembly_class(MonoImage * image); /* Managed functions */ void mod_mono_switch_console_printf(switch_text_channel_t channel, char *file, const char *func, int line, char *fmt, char *msg); -static const char modname[] = "mod_mono"; +SWITCH_MODULE_LOAD_FUNCTION(mod_mono_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_mono_shutdown); +SWITCH_MODULE_DEFINITION(mod_mono, mod_mono_load, mod_mono_shutdown, NULL); + static switch_memory_pool_t *mono_pool = NULL; static struct { @@ -74,9 +77,9 @@ static switch_loadable_module_interface_t mono_module_interface = { * This function will initialise the memory pool and plugin hash for this module, * it will then initialise a new mono domain. */ -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_mono_load) { - *interface = &mono_module_interface; + *module_interface = &mono_module_interface; /* Initialise memory pool */ if (switch_core_new_memory_pool(&mono_pool) != SWITCH_STATUS_SUCCESS) { @@ -158,7 +161,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod * Function for cleanly shutting down mod_mono * */ -SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_mono_shutdown) { if (globals.domain) { mono_jit_cleanup(globals.domain); diff --git a/src/mod/languages/mod_python/mod_python.c b/src/mod/languages/mod_python/mod_python.c index bdecd11182..f8232328dc 100644 --- a/src/mod/languages/mod_python/mod_python.c +++ b/src/mod/languages/mod_python/mod_python.c @@ -49,7 +49,9 @@ PyThreadState *mainThreadState = NULL; void init_freeswitch(void); static switch_api_interface_t python_run_interface; -const char modname[] = "mod_python"; +SWITCH_MODULE_LOAD_FUNCTION(mod_python_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_python_shutdown); +SWITCH_MODULE_DEFINITION(mod_python, mod_python_load, mod_python_shutdown, NULL); static void eval_some_python(char *uuid, char *args) { @@ -221,7 +223,7 @@ static switch_loadable_module_interface_t python_module_interface = { /*.directory_interface */ NULL }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_python_load) { /* connect my internal structure to the blank pointer passed to me */ *module_interface = &python_module_interface; @@ -242,7 +244,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod /* Called when the system shuts down*/ -SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_python_shutdown) { PyInterpreterState *mainInterpreterState; PyThreadState *myThreadState; diff --git a/src/mod/loggers/mod_syslog/mod_syslog.c b/src/mod/loggers/mod_syslog/mod_syslog.c index 1e8d65ecc3..d70d27b493 100644 --- a/src/mod/loggers/mod_syslog/mod_syslog.c +++ b/src/mod/loggers/mod_syslog/mod_syslog.c @@ -39,7 +39,10 @@ #define DEFAULT_FORMAT "[message]" #define MAX_LENGTH 1024 -static const char modname[] = "mod_syslog"; +SWITCH_MODULE_LOAD_FUNCTION(mod_syslog_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_syslog_shutdown); +SWITCH_MODULE_DEFINITION(mod_syslog, mod_syslog_load, mod_syslog_shutdown, NULL); + static switch_status_t load_config(void); static struct { @@ -148,7 +151,7 @@ static switch_status_t load_config(void) return 0; } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_syslog_load) { switch_status_t status; *interface = &console_module_interface; @@ -164,7 +167,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod return SWITCH_STATUS_SUCCESS; } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_unload(const switch_loadable_module_interface_t **interface) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_syslog_shutdown) { closelog();