Freeswitch-svn
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
June 2007
- 10 participants
- 249 discussions
13 Jun '07
Author: mikej
Date: Wed Jun 13 16:17:41 2007
New Revision: 5346
Modified:
freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
Log:
use the right varname
Modified: freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
==============================================================================
--- freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c (original)
+++ freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c Wed Jun 13 16:17:41 2007
@@ -154,7 +154,7 @@
SWITCH_MODULE_LOAD_FUNCTION(mod_syslog_load)
{
switch_status_t status;
- *interface = &console_module_interface;
+ *module_interface = &console_module_interface;
if ((status = load_config()) != SWITCH_STATUS_SUCCESS) {
return status;
1
0
Author: sphere
Date: Wed Jun 13 16:10:03 2007
New Revision: 5345
Added:
freeswitch/branches/spditner/
Log:
Creating empty folder for spditner
1
0
[commit] r5344 - in freeswitch/trunk/src/mod: applications/mod_ivrtest applications/mod_skel applications/mod_soundtouch asr_tts/mod_lumenvox endpoints/mod_alsa endpoints/mod_wanpipe formats/mod_shout languages/mod_mono languages/mod_python loggers/mod_syslog
by Freeswitch SVN 13 Jun '07
by Freeswitch SVN 13 Jun '07
13 Jun '07
Author: mikej
Date: Wed Jun 13 13:48:49 2007
New Revision: 5344
Modified:
freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c
freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c
freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
freeswitch/trunk/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp
freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c
freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.c
freeswitch/trunk/src/mod/languages/mod_python/mod_python.c
freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
Log:
move some modules to use the new module interface macros.
Modified: freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c Wed Jun 13 13:48:49 2007
@@ -31,9 +31,8 @@
*/
#include <switch.h>
-
-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 @@
/*.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 @@
/*.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 @@
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:
Modified: freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c Wed Jun 13 13:48:49 2007
@@ -32,7 +32,11 @@
*/
#include <switch.h>
-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 @@
/*.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 @@
/*
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 @@
/*
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)
{
Modified: freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp (original)
+++ freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp Wed Jun 13 13:48:49 2007
@@ -35,12 +35,12 @@
using namespace soundtouch;
using namespace std;
-
#include <switch.h>
#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 @@
};
-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;
Modified: freeswitch/trunk/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp
==============================================================================
--- freeswitch/trunk/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp (original)
+++ freeswitch/trunk/src/mod/asr_tts/mod_lumenvox/mod_lumenvox.cpp Wed Jun 13 13:48:49 2007
@@ -38,7 +38,9 @@
#include <switch.h>
#include <sstream>
-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 @@
/*.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 @@
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;
}
Modified: freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c Wed Jun 13 13:48:49 2007
@@ -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 @@
}
-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 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_alsa_shutdown)
{
deactivate_audio_device();
Modified: freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c Wed Jun 13 13:48:49 2007
@@ -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 @@
}
#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;
Modified: freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c
==============================================================================
--- freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c (original)
+++ freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c Wed Jun 13 13:48:49 2007
@@ -37,14 +37,13 @@
#include <lame.h>
#include <curl/curl.h>
-
#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 @@
/*.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_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_shout_shutdown)
{
curl_global_cleanup();
return SWITCH_STATUS_SUCCESS;
Modified: freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.c Wed Jun 13 13:48:49 2007
@@ -50,7 +50,10 @@
/* 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 @@
* 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 @@
* 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);
Modified: freeswitch/trunk/src/mod/languages/mod_python/mod_python.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_python/mod_python.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_python/mod_python.c Wed Jun 13 13:48:49 2007
@@ -49,7 +49,9 @@
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 @@
/*.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 @@
/*
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;
Modified: freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
==============================================================================
--- freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c (original)
+++ freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c Wed Jun 13 13:48:49 2007
@@ -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 @@
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 @@
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();
1
0
Author: mikej
Date: Wed Jun 13 13:06:10 2007
New Revision: 5343
Modified:
freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c
freeswitch/trunk/src/mod/codecs/mod_g711/mod_g711.c
freeswitch/trunk/src/mod/codecs/mod_g722/mod_g722.c
freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c
freeswitch/trunk/src/mod/codecs/mod_g726/mod_g726.c
freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c
freeswitch/trunk/src/mod/codecs/mod_gsm/mod_gsm.c
freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c
freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c
freeswitch/trunk/src/mod/codecs/mod_l16/mod_l16.c
freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c
freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c
freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c
freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
freeswitch/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp
freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c
freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c
freeswitch/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c
freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c
freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c
freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c
freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c
freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c
freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c
freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c
freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c
freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
Log:
move some modules to use the new module interface macros.
Modified: freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
==============================================================================
--- freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original)
+++ freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Wed Jun 13 13:06:10 2007
@@ -51,7 +51,8 @@
#undef SWIFT_FAILED
#define SWIFT_FAILED(r) ((void *)(r) < (void *)0)
-static const char modname[] = "mod_cepstral";
+SWITCH_MODULE_LOAD_FUNCTION(mod_cepstral_load);
+SWITCH_MODULE_DEFINITION(mod_cepstral, mod_cepstral_load, NULL, NULL);
static swift_engine *engine;
@@ -426,7 +427,7 @@
/*.directory_interface */ NULL
};
-switch_status_t switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_cepstral_load)
{
/* Open the Swift TTS Engine */
Modified: freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c Wed Jun 13 13:06:10 2007
@@ -32,7 +32,9 @@
*
*/
#include "switch.h"
-static const char modname[] = "mod_amr";
+
+SWITCH_MODULE_LOAD_FUNCTION(mod_amr_load);
+SWITCH_MODULE_DEFINITION(mod_amr, mod_amr_load, NULL, NULL);
#ifndef AMR_PASSTHROUGH
#include "amr/interf_enc.h"
@@ -322,7 +324,7 @@
/*.application_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_amr_load)
{
#ifndef AMR_PASSTHROUGH
char *cf = "amr.conf";
Modified: freeswitch/trunk/src/mod/codecs/mod_g711/mod_g711.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_g711/mod_g711.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_g711/mod_g711.c Wed Jun 13 13:06:10 2007
@@ -32,8 +32,8 @@
#include <switch.h>
#include <g7xx/g711.h>
-
-static const char modname[] = "mod_g711";
+SWITCH_MODULE_LOAD_FUNCTION(mod_g711_load);
+SWITCH_MODULE_DEFINITION(mod_g711, mod_g711_load, NULL, NULL);
static switch_status_t switch_g711u_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings)
@@ -415,7 +415,7 @@
};
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_g711_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &g711_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_g722/mod_g722.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_g722/mod_g722.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_g722/mod_g722.c Wed Jun 13 13:06:10 2007
@@ -33,7 +33,8 @@
#include <switch.h>
#include "g7xx/g722.h"
-static const char modname[] = "mod_g722";
+SWITCH_MODULE_LOAD_FUNCTION(mod_g722_load);
+SWITCH_MODULE_DEFINITION(mod_g722, mod_g722_load, NULL, NULL);
struct g722_context {
g722_decode_state_t decoder_object;
@@ -172,7 +173,7 @@
/*.application_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_g722_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &g722_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c Wed Jun 13 13:06:10 2007
@@ -49,7 +49,8 @@
enum Crate WrkRate = Rate63;
#endif
-static const char modname[] = "mod_g723_1";
+SWITCH_MODULE_LOAD_FUNCTION(mod_g723_1_load);
+SWITCH_MODULE_DEFINITION(mod_g723_1, mod_g723_1_load, NULL, NULL);
#ifndef G723_PASSTHROUGH
struct g723_context {
@@ -202,7 +203,7 @@
/*.application_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_g723_1_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &g723_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_g726/mod_g726.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_g726/mod_g726.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_g726/mod_g726.c Wed Jun 13 13:06:10 2007
@@ -33,7 +33,8 @@
#include "g72x.h"
#include "switch_bitpack.h"
-static const char modname[] = "mod_g726";
+SWITCH_MODULE_LOAD_FUNCTION(mod_g726_load);
+SWITCH_MODULE_DEFINITION(mod_g726, mod_g726_load, NULL, NULL);
typedef int (*encoder_t) (int, int, g726_state *);
typedef int (*decoder_t) (int, int, g726_state *);
@@ -427,7 +428,7 @@
/*.application_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_g726_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &g726_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c Wed Jun 13 13:06:10 2007
@@ -31,11 +31,11 @@
* mod_g729.c -- G729 Codec Module
*
*/
-
-static const char modname[] = "mod_g729";
-
#include "switch.h"
+SWITCH_MODULE_LOAD_FUNCTION(mod_g729_load);
+SWITCH_MODULE_DEFINITION(mod_g729, mod_g729_load, NULL, NULL);
+
#ifndef G729_PASSTHROUGH
#include "g729/g729.h"
@@ -310,7 +310,7 @@
/*.application_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_g729_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &g729_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_gsm/mod_gsm.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_gsm/mod_gsm.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_gsm/mod_gsm.c Wed Jun 13 13:06:10 2007
@@ -31,7 +31,10 @@
*/
#include "switch.h"
#include "gsm.h"
-static const char modname[] = "mod_gsm";
+
+SWITCH_MODULE_LOAD_FUNCTION(mod_gsm_load);
+SWITCH_MODULE_DEFINITION(mod_gsm, mod_gsm_load, NULL, NULL);
+
struct gsm_context {
gsm encoder;
gsm decoder;
@@ -162,7 +165,8 @@
/*.codec_interface */ &gsm_codec_interface,
/*.application_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_gsm_load)
{
/* connect my internal structure to the blank pointer passed to me */
Modified: freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c Wed Jun 13 13:06:10 2007
@@ -31,8 +31,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_h26x";
-
+SWITCH_MODULE_LOAD_FUNCTION(mod_h26x_load);
+SWITCH_MODULE_DEFINITION(mod_h26x, mod_h26x_load, NULL, NULL);
static switch_status_t switch_h26x_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings)
{
@@ -132,8 +132,7 @@
/*.api_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_h26x_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &h26x_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c Wed Jun 13 13:06:10 2007
@@ -34,7 +34,8 @@
#include "iLBC_decode.h"
#include "iLBC_define.h"
-static const char modname[] = "mod_ilbc";
+SWITCH_MODULE_LOAD_FUNCTION(mod_ilbc_load);
+SWITCH_MODULE_DEFINITION(mod_ilbc, mod_ilbc_load, NULL, NULL);
struct ilbc_context {
iLBC_Enc_Inst_t encoder;
@@ -314,9 +315,7 @@
/*.application_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_ilbc_load)
{
/* connect my internal structure to the blank pointer passed to me */
Modified: freeswitch/trunk/src/mod/codecs/mod_l16/mod_l16.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_l16/mod_l16.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_l16/mod_l16.c Wed Jun 13 13:06:10 2007
@@ -31,8 +31,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_l16";
-
+SWITCH_MODULE_LOAD_FUNCTION(mod_l16_load);
+SWITCH_MODULE_DEFINITION(mod_l16, mod_l16_load, NULL, NULL);
static switch_status_t switch_raw_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings)
{
@@ -424,7 +424,7 @@
};
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_l16_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &raw_module_interface;
Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Wed Jun 13 13:06:10 2007
@@ -33,7 +33,8 @@
#include <speex/speex.h>
#include <speex/speex_preprocess.h>
-static const char modname[] = "mod_speex";
+SWITCH_MODULE_LOAD_FUNCTION(mod_speex_load);
+SWITCH_MODULE_DEFINITION(mod_speex, mod_speex_load, NULL, NULL);
static const switch_codec_settings_t default_codec_settings = {
/*.quality */ 5,
@@ -403,7 +404,7 @@
/*.application_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_speex_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &speex_module_interface;
Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c
==============================================================================
--- freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c (original)
+++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c Wed Jun 13 13:06:10 2007
@@ -34,8 +34,8 @@
#include <sys/stat.h>
#include <fcntl.h>
-
-static const char modname[] = "mod_dialplan_directory";
+SWITCH_MODULE_LOAD_FUNCTION(mod_dialplan_directory_load);
+SWITCH_MODULE_DEFINITION(mod_dialplan_directory, mod_dialplan_directory_load, NULL, NULL);
static struct {
char *directory_name;
@@ -166,7 +166,7 @@
/*.application_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_dialplan_directory_load)
{
load_config();
Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
==============================================================================
--- freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c (original)
+++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c Wed Jun 13 13:06:10 2007
@@ -34,7 +34,8 @@
#include <sys/stat.h>
#include <fcntl.h>
-static const char modname[] = "mod_dialplan_xml";
+SWITCH_MODULE_LOAD_FUNCTION(mod_dialplan_xml_load);
+SWITCH_MODULE_DEFINITION(mod_dialplan_xml, mod_dialplan_xml_load, NULL, NULL);
typedef enum {
BREAK_ON_TRUE,
@@ -392,7 +393,7 @@
/*.application_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_dialplan_xml_load)
{
/* connect my internal structure to the blank pointer passed to me */
Modified: freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c
==============================================================================
--- freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c (original)
+++ freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c Wed Jun 13 13:06:10 2007
@@ -40,7 +40,8 @@
#include <ldap.h>
#endif
-static const char modname[] = "mod_ldap";
+SWITCH_MODULE_LOAD_FUNCTION(mod_ldap_load);
+SWITCH_MODULE_DEFINITION(mod_ldap, mod_ldap_load, NULL, NULL);
struct ldap_context {
LDAP *ld;
@@ -207,7 +208,7 @@
};
-static switch_loadable_module_interface_t skel_module_interface = {
+static switch_loadable_module_interface_t ldap_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ NULL,
/*.timer_interface */ NULL,
@@ -220,10 +221,10 @@
/*.directory_interface */ &ldap_directory_interface
};
-switch_status_t switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_ldap_load)
{
/* connect my internal structure to the blank pointer passed to me */
- *module_interface = &skel_module_interface;
+ *module_interface = &ldap_module_interface;
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Wed Jun 13 13:06:10 2007
@@ -43,7 +43,9 @@
#define DL_EVENT_CONNECTED "dingaling::connected"
#define MDL_CHAT_PROTO "jingle"
-static const char modname[] = "mod_dingaling";
+SWITCH_MODULE_LOAD_FUNCTION(mod_dingaling_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_dingaling_shutdown);
+SWITCH_MODULE_DEFINITION(mod_dingaling, mod_dingaling_load, mod_dingaling_shutdown, NULL);
static switch_memory_pool_t *module_pool = NULL;
@@ -1824,7 +1826,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_dingaling_load)
{
if (switch_core_new_memory_pool(&module_pool) != SWITCH_STATUS_SUCCESS) {
@@ -1927,8 +1929,7 @@
return SWITCH_STATUS_SUCCESS;
}
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_dingaling_shutdown)
{
sign_off();
Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c Wed Jun 13 13:06:10 2007
@@ -39,7 +39,9 @@
#define MY_EVENT_RINGING "portaudio::ringing"
-static const char modname[] = "mod_portaudio";
+SWITCH_MODULE_LOAD_FUNCTION(mod_portaudio_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_portaudio_shutdown);
+SWITCH_MODULE_DEFINITION(mod_portaudio, mod_portaudio_load, mod_portaudio_shutdown, NULL);
static switch_memory_pool_t *module_pool = NULL;
//static int running = 1;
@@ -872,7 +874,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_portaudio_load)
{
switch_status_t status;
@@ -1039,7 +1041,7 @@
return status;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_portaudio_shutdown)
{
if (globals.read_codec.implementation) {
switch_core_codec_destroy(&globals.read_codec);
Modified: freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c Wed Jun 13 13:06:10 2007
@@ -48,7 +48,10 @@
//#define MEDIA_ANSWER "ANSWER"
//#define USE_ANSWER 1
-static const char modname[] = "mod_woomera";
+SWITCH_MODULE_LOAD_FUNCTION(mod_woomera_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_woomera_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_woomera_runtime);
+SWITCH_MODULE_DEFINITION(mod_woomera, mod_woomera_load, mod_woomera_shutdown, mod_woomera_runtime);
static switch_memory_pool_t *module_pool = NULL;
@@ -1269,7 +1272,7 @@
return NULL;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_woomera_runtime)
{
woomera_thread_run(&default_profile);
@@ -1277,7 +1280,7 @@
return SWITCH_STATUS_TERM;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_woomera_shutdown)
{
int x = 0;
woomera_profile_thread_running(&default_profile, 1, 0);
@@ -1291,7 +1294,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_woomera_load)
{
struct woomera_profile *profile = &default_profile;
Modified: freeswitch/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp Wed Jun 13 13:06:10 2007
@@ -40,7 +40,11 @@
#include <sys/stat.h>
#include <fcntl.h>
-static const char modname[] = "mod_cdr - CDR Engine";
+SWITCH_MODULE_LOAD_FUNCTION(mod_cdr_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_cdr_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_cdr_runtime);
+SWITCH_MODULE_DEFINITION(mod_cdr, mod_cdr_load, mod_cdr_shutdown, mod_cdr_runtime);
+
static int RUNNING = 0;
static CDRContainer *newcdrcontainer;
static switch_memory_pool_t *module_pool;
@@ -122,10 +126,10 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface **interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_cdr_load)
{
/* connect my internal structure to the blank pointer passed to me */
- *interface = &cdr_module_interface;
+ *module_interface = &cdr_module_interface;
switch_core_add_state_handler(&state_handlers);
@@ -142,7 +146,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_cdr_runtime)
{
RUNNING = 1;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "mod_cdr made it to runtime. Wee!\n");
@@ -196,7 +200,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_cdr_shutdown)
{
delete newcdrcontainer;
switch_thread_rwlock_destroy(cdr_rwlock);
Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c Wed Jun 13 13:06:10 2007
@@ -32,7 +32,10 @@
#include <switch.h>
static char *MARKER = "1";
-static const char modname[] = "mod_event_multicast";
+SWITCH_MODULE_LOAD_FUNCTION(mod_event_multicast_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_event_multicast_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_event_multicast_runtime);
+SWITCH_MODULE_DEFINITION(mod_event_multicast, mod_event_multicast_load, mod_event_multicast_shutdown, mod_event_multicast_runtime);
static switch_memory_pool_t *module_pool = NULL;
@@ -183,7 +186,7 @@
};
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_event_multicast_load)
{
memset(&globals, 0, sizeof(globals));
@@ -246,7 +249,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_event_multicast_shutdown)
{
int x = 0;
@@ -259,8 +262,7 @@
return SWITCH_STATUS_SUCCESS;
}
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_event_multicast_runtime)
{
switch_event_t *local_event;
char buf[65536] = { 0 };
Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Wed Jun 13 13:06:10 2007
@@ -32,7 +32,11 @@
#include <switch.h>
#define CMD_BUFLEN 1024 * 1000
-static const char modname[] = "mod_event_socket";
+SWITCH_MODULE_LOAD_FUNCTION(mod_event_socket_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_event_socket_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_event_socket_runtime);
+SWITCH_MODULE_DEFINITION(mod_event_socket, mod_event_socket_load, mod_event_socket_shutdown, mod_event_socket_runtime);
+
static char *MARKER = "1";
typedef enum {
@@ -280,7 +284,7 @@
switch_mutex_unlock(listen_list.sock_mutex);
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_event_socket_shutdown)
{
listener_t *l;
@@ -300,8 +304,7 @@
}
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_event_socket_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &event_socket_module_interface;
@@ -1188,7 +1191,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_event_socket_runtime)
{
switch_memory_pool_t *pool = NULL, *listener_pool = NULL;
switch_status_t rv;
Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c Wed Jun 13 13:06:10 2007
@@ -31,7 +31,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_event_test";
+SWITCH_MODULE_LOAD_FUNCTION(mod_event_test_load);
+SWITCH_MODULE_DEFINITION(mod_event_test, mod_event_test_load, NULL, NULL);
//#define TORTURE_ME
@@ -124,8 +125,7 @@
}
#endif
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_event_test_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &event_test_module_interface;
Modified: freeswitch/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c Wed Jun 13 13:06:10 2007
@@ -32,7 +32,10 @@
#include <switch.h>
#include <iksemel.h>
-static const char modname[] = "mod_xmpp_event";
+SWITCH_MODULE_LOAD_FUNCTION(mod_xmpp_event_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xmpp_event_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_xmpp_event_runtime);
+SWITCH_MODULE_DEFINITION(mod_xmpp_event, mod_xmpp_event_load, mod_xmpp_event_shutdown, mod_xmpp_event_runtime);
static int RUNNING = 0;
static iksfilter *my_filter;
@@ -397,7 +400,7 @@
/*.application_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_xmpp_event_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &xmpp_event_module_interface;
@@ -411,7 +414,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xmpp_event_shutdown)
{
if (RUNNING) {
@@ -424,7 +427,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_xmpp_event_runtime)
{
RUNNING = 1;
xmpp_connect(globals.jid, globals.passwd);
Modified: freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c Wed Jun 13 13:06:10 2007
@@ -35,7 +35,10 @@
#endif
#include <howl.h>
-static const char modname[] = "mod_zeroconf";
+SWITCH_MODULE_LOAD_FUNCTION(mod_zeroconf_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_zeroconf_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_zeroconf_runtime);
+SWITCH_MODULE_DEFINITION(mod_zeroconf, mod_zeroconf_load, mod_zeroconf_shutdown, mod_zeroconf_runtime);
static switch_memory_pool_t *module_pool = NULL;
@@ -249,7 +252,7 @@
static int RUNNING = 0;
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_zeroconf_shutdown)
{
if (RUNNING == 1) {
RUNNING = -1;
@@ -258,8 +261,7 @@
return SWITCH_STATUS_SUCCESS;
}
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_zeroconf_load)
{
memset(&globals, 0, sizeof(globals));
@@ -298,7 +300,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_zeroconf_runtime)
{
RUNNING = 1;
Modified: freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c
==============================================================================
--- freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c (original)
+++ freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c Wed Jun 13 13:06:10 2007
@@ -31,7 +31,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_native_file";
+SWITCH_MODULE_LOAD_FUNCTION(mod_native_file_load);
+SWITCH_MODULE_DEFINITION(mod_native_file, mod_native_file_load, NULL, NULL);
struct native_file_context {
switch_file_t *fd;
@@ -163,7 +164,7 @@
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_native_file_load)
{
const switch_codec_implementation_t *codecs[SWITCH_MAX_CODECS];
Modified: freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c
==============================================================================
--- freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original)
+++ freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Wed Jun 13 13:06:10 2007
@@ -32,7 +32,8 @@
#include <switch.h>
#include <sndfile.h>
-static const char modname[] = "mod_sndfile";
+SWITCH_MODULE_LOAD_FUNCTION(mod_sndfile_load);
+SWITCH_MODULE_DEFINITION(mod_sndfile, mod_sndfile_load, NULL, NULL);
static switch_memory_pool_t *module_pool = NULL;
@@ -361,7 +362,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_sndfile_load)
{
if (switch_core_new_memory_pool(&module_pool) != SWITCH_STATUS_SUCCESS) {
Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c Wed Jun 13 13:06:10 2007
@@ -43,7 +43,9 @@
static char *embedding[] = { "", "-e", "" };
EXTERN_C void xs_init(pTHX);
-static const char modname[] = "mod_perl";
+SWITCH_MODULE_LOAD_FUNCTION(mod_perl_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_perl_shutdown);
+SWITCH_MODULE_DEFINITION(mod_perl, mod_perl_load, mod_perl_shutdown, NULL);
static struct {
PerlInterpreter *my_perl;
@@ -100,7 +102,7 @@
};
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_perl_shutdown)
{
if (globals.my_perl) {
perl_destruct(globals.my_perl);
@@ -111,7 +113,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_perl_load)
{
PerlInterpreter *my_perl;
Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Wed Jun 13 13:06:10 2007
@@ -38,8 +38,9 @@
#include <curl/curl.h>
#endif
-static const char modname[] = "mod_spidermonkey";
-
+SWITCH_MODULE_LOAD_FUNCTION(mod_spidermonkey_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_spidermonkey_shutdown);
+SWITCH_MODULE_DEFINITION(mod_spidermonkey, mod_spidermonkey_load, mod_spidermonkey_shutdown, NULL);
static void session_destroy(JSContext * cx, JSObject * obj);
static JSBool session_construct(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval);
@@ -3046,7 +3047,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_spidermonkey_load)
{
switch_status_t status;
@@ -3069,7 +3070,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_spidermonkey_shutdown)
{
curl_global_cleanup();
return SWITCH_STATUS_SUCCESS;
Modified: freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c
==============================================================================
--- freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c (original)
+++ freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c Wed Jun 13 13:06:10 2007
@@ -31,7 +31,9 @@
*/
#include <switch.h>
-static const char modname[] = "mod_console";
+SWITCH_MODULE_LOAD_FUNCTION(mod_console_load);
+SWITCH_MODULE_DEFINITION(mod_console, mod_console_load, NULL, NULL);
+
static const uint8_t STATIC_LEVELS[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
static int COLORIZE = 0;
#ifdef WIN32
@@ -188,7 +190,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_console_load)
{
if (switch_core_new_memory_pool(&module_pool) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "OH OH no pool\n");
Modified: freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c Wed Jun 13 13:06:10 2007
@@ -33,8 +33,8 @@
#include <math.h>
#include <ctype.h>
-static const char modname[] = "mod_say_en";
-
+SWITCH_MODULE_LOAD_FUNCTION(mod_say_en_load);
+SWITCH_MODULE_DEFINITION(mod_say_en, mod_say_en_load, NULL, NULL);
#define say_num(num, t) { \
char tmp[80];\
@@ -537,7 +537,7 @@
/*.asr_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_say_en_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &say_en_module_interface;
Modified: freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c
==============================================================================
--- freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c (original)
+++ freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c Wed Jun 13 13:06:10 2007
@@ -46,7 +46,11 @@
switch_mutex_t *mutex;
} globals;
-static const char modname[] = "mod_softtimer";
+SWITCH_MODULE_LOAD_FUNCTION(mod_softtimer_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_softtimer_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_softtimer_runtime);
+SWITCH_MODULE_DEFINITION(mod_softtimer, mod_softtimer_load, mod_softtimer_shutdown, mod_softtimer_runtime);
+
#define MAX_ELEMENTS 1000
struct timer_private {
@@ -191,13 +195,13 @@
/*.timer_destroy */ timer_destroy
};
-static const switch_loadable_module_interface_t mod_softtimer_module_interface = {
+static const switch_loadable_module_interface_t softtimer_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ NULL,
/*.timer_interface */ &timer_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_softtimer_load)
{
if (switch_core_new_memory_pool(&module_pool) != SWITCH_STATUS_SUCCESS) {
@@ -206,7 +210,7 @@
}
/* connect my internal structure to the blank pointer passed to me */
- *module_interface = &mod_softtimer_module_interface;
+ *module_interface = &softtimer_module_interface;
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
@@ -218,7 +222,8 @@
#define STEP_MS 1
#define STEP_MIC 1000
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_softtimer_runtime)
{
switch_time_t reference = switch_time_now();
uint32_t current_ms = 0;
@@ -267,8 +272,7 @@
return SWITCH_STATUS_TERM;
}
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_softtimer_shutdown)
{
if (globals.RUNNING) {
Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c
==============================================================================
--- freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c (original)
+++ freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c Wed Jun 13 13:06:10 2007
@@ -32,7 +32,8 @@
#include <sys/stat.h>
#include <switch.h>
-static const char modname[] = "mod_xml_cdr";
+SWITCH_MODULE_LOAD_FUNCTION(mod_xml_cdr_load);
+SWITCH_MODULE_DEFINITION(mod_xml_cdr, mod_xml_cdr_load, NULL, NULL);
static switch_status_t my_on_hangup(switch_core_session_t *session)
{
@@ -91,7 +92,7 @@
};
-static const switch_loadable_module_interface_t mod_xml_cdr_module_interface = {
+static const switch_loadable_module_interface_t xml_cdr_module_interface = {
/*.module_name = */ modname,
/*.endpoint_interface = */ NULL,
/*.timer_interface = */ NULL,
@@ -100,12 +101,12 @@
/*.application_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_xml_cdr_load)
{
/* test global state handlers */
switch_core_add_state_handler(&state_handlers);
- *module_interface = &mod_xml_cdr_module_interface;
+ *module_interface = &xml_cdr_module_interface;
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c
==============================================================================
--- freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c (original)
+++ freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c Wed Jun 13 13:06:10 2007
@@ -31,7 +31,9 @@
#include <switch.h>
#include <curl/curl.h>
-static const char modname[] = "mod_xml_curl";
+SWITCH_MODULE_LOAD_FUNCTION(mod_xml_curl_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xml_curl_shutdown);
+SWITCH_MODULE_DEFINITION(mod_xml_curl, mod_xml_curl_load, mod_xml_curl_shutdown, NULL);
struct xml_binding {
char *url;
@@ -229,7 +231,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_xml_curl_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &xml_curl_module_interface;
@@ -244,7 +246,7 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xml_curl_shutdown)
{
curl_global_cleanup();
return SWITCH_STATUS_SUCCESS;
Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
==============================================================================
--- freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original)
+++ freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Wed Jun 13 13:06:10 2007
@@ -42,7 +42,10 @@
#include <xmlrpc-c/server.h>
#include <xmlrpc-c/server_abyss.h>
-static const char modname[] = "mod_xml_rpc";
+SWITCH_MODULE_LOAD_FUNCTION(mod_xml_rpc_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xml_rpc_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_xml_rpc_runtime);
+SWITCH_MODULE_DEFINITION(mod_xml_rpc, mod_xml_rpc_load, mod_xml_rpc_shutdown, mod_xml_rpc_runtime);
static switch_loadable_module_interface_t xml_rpc_module_interface = {
/*.module_name */ modname,
@@ -112,7 +115,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_xml_rpc_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &xml_rpc_module_interface;
@@ -357,7 +360,7 @@
return val;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_xml_rpc_runtime)
{
TServer abyssServer;
xmlrpc_registry *registryP;
@@ -402,7 +405,7 @@
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xml_rpc_shutdown)
{
globals.running = 0;
return SWITCH_STATUS_SUCCESS;
1
0
Author: mikej
Date: Wed Jun 13 12:00:14 2007
New Revision: 5342
Removed:
freeswitch/trunk/src/mod/applications/mod_bridgecall/
freeswitch/trunk/src/mod/applications/mod_echo/
freeswitch/trunk/src/mod/applications/mod_park/
freeswitch/trunk/src/mod/applications/mod_playback/
Modified:
freeswitch/trunk/Freeswitch.sln
freeswitch/trunk/build/modules.conf.in
freeswitch/trunk/conf/modules.conf.xml
freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c
freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
freeswitch/trunk/w32/Setup/Setup.vdproj
Log:
merge mod_bridgecall, mod_echo, mod_park, and mod_playback all into mod_dptools. You will need to remove these from your modules.conf and configuration files.
move some applications to use the new module interface macros.
Modified: freeswitch/trunk/Freeswitch.sln
==============================================================================
--- freeswitch/trunk/Freeswitch.sln (original)
+++ freeswitch/trunk/Freeswitch.sln Wed Jun 13 12:00:14 2007
@@ -44,12 +44,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_bridgecall", "src\mod\applications\mod_bridgecall\mod_bridgecall.vcproj", "{E1794405-29D4-466D-9BE3-DD2344C2A663}"
- ProjectSection(ProjectDependencies) = postProject
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_test", "src\mod\event_handlers\mod_event_test\mod_event_test.vcproj", "{3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}"
ProjectSection(ProjectDependencies) = postProject
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
@@ -68,12 +62,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_playback", "src\mod\applications\mod_playback\mod_playback.vcproj", "{78100236-7CEA-4948-96CC-E8ED3160329C}"
- ProjectSection(ProjectDependencies) = postProject
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_PortAudio", "src\mod\endpoints\mod_portaudio\mod_PortAudio.vcproj", "{5FD31A25-5D83-4794-8BEE-904DAD84CE71}"
ProjectSection(ProjectDependencies) = postProject
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
@@ -128,12 +116,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_ivrtest", "src\mod\applications\mod_ivrtest\mod_ivrtest.vcproj", "{419AA391-5F3F-4BFE-A869-9D154D62A792}"
- ProjectSection(ProjectDependencies) = postProject
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "FreeSwitchSetup", "w32\Setup\Setup.vdproj", "{B17FFBE6-A942-4056-8346-B624FB5D995B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Directories", "Directories", "{B8F5B47B-8568-46EB-B320-64C17D2A98BC}"
@@ -192,12 +174,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_echo", "src\mod\applications\mod_echo\mod_echo.vcproj", "{0E2C6395-13B9-46E5-9264-8859D346018D}"
- ProjectSection(ProjectDependencies) = postProject
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_ilbc", "src\mod\codecs\mod_ilbc\mod_ilbc.vcproj", "{D3EC0AFF-76FC-4210-A825-9A17410660A3}"
ProjectSection(ProjectDependencies) = postProject
{989BB874-7AF1-44CB-8E5C-CC8113D267E8} = {989BB874-7AF1-44CB-8E5C-CC8113D267E8}
@@ -367,12 +343,6 @@
{D71E7338-8D9C-4FE4-A15F-D5CC60202C7C} = {D71E7338-8D9C-4FE4-A15F-D5CC60202C7C}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_park", "src\mod\applications\mod_park\mod_park.vcproj", "{2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}"
- ProjectSection(ProjectDependencies) = postProject
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsofia_sip_ua_static", "libs\win32\sofia\libsofia_sip_ua_static.vcproj", "{70A49BC2-7500-41D0-B75D-EDCC5BE987A0}"
ProjectSection(ProjectDependencies) = postProject
{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}
@@ -584,6 +554,7 @@
configure.in = configure.in
Makefile.am = Makefile.am
build\modmake.sh = build\modmake.sh
+ build\modules.conf.in = build\modules.conf.in
libs\win32\util.vbs = libs\win32\util.vbs
EndProjectSection
EndProject
@@ -652,12 +623,6 @@
{AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.ActiveCfg = Release|Win32
{AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.Build.0 = Release|Win32
{AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|x64.ActiveCfg = Release|Win32
- {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|Win32.ActiveCfg = Debug|Win32
- {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|Win32.Build.0 = Debug|Win32
- {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|x64.ActiveCfg = Debug|Win32
- {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|Win32.ActiveCfg = Release|Win32
- {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|Win32.Build.0 = Release|Win32
- {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|x64.ActiveCfg = Release|Win32
{3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Debug|Win32.ActiveCfg = Debug|Win32
{3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Debug|Win32.Build.0 = Debug|Win32
{3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Debug|x64.ActiveCfg = Debug|Win32
@@ -676,12 +641,6 @@
{3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.ActiveCfg = Release|Win32
{3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.Build.0 = Release|Win32
{3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|x64.ActiveCfg = Release|Win32
- {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|Win32.ActiveCfg = Debug|Win32
- {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|Win32.Build.0 = Debug|Win32
- {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|x64.ActiveCfg = Debug|Win32
- {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|Win32.ActiveCfg = Release|Win32
- {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|Win32.Build.0 = Release|Win32
- {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|x64.ActiveCfg = Release|Win32
{5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.ActiveCfg = Debug|Win32
{5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.Build.0 = Debug|Win32
{5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|x64.ActiveCfg = Debug|Win32
@@ -722,12 +681,6 @@
{07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.ActiveCfg = Release|Win32
{07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.Build.0 = Release|Win32
{07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|x64.ActiveCfg = Release|Win32
- {419AA391-5F3F-4BFE-A869-9D154D62A792}.Debug|Win32.ActiveCfg = Debug|Win32
- {419AA391-5F3F-4BFE-A869-9D154D62A792}.Debug|Win32.Build.0 = Debug|Win32
- {419AA391-5F3F-4BFE-A869-9D154D62A792}.Debug|x64.ActiveCfg = Debug|Win32
- {419AA391-5F3F-4BFE-A869-9D154D62A792}.Release|Win32.ActiveCfg = Release|Win32
- {419AA391-5F3F-4BFE-A869-9D154D62A792}.Release|Win32.Build.0 = Release|Win32
- {419AA391-5F3F-4BFE-A869-9D154D62A792}.Release|x64.ActiveCfg = Release|Win32
{B17FFBE6-A942-4056-8346-B624FB5D995B}.Debug|Win32.ActiveCfg = Debug
{B17FFBE6-A942-4056-8346-B624FB5D995B}.Debug|x64.ActiveCfg = Debug with MySql
{B17FFBE6-A942-4056-8346-B624FB5D995B}.Debug|x64.Build.0 = Debug with MySql
@@ -782,12 +735,6 @@
{7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32
{7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32
{7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32
- {0E2C6395-13B9-46E5-9264-8859D346018D}.Debug|Win32.ActiveCfg = Debug|Win32
- {0E2C6395-13B9-46E5-9264-8859D346018D}.Debug|Win32.Build.0 = Debug|Win32
- {0E2C6395-13B9-46E5-9264-8859D346018D}.Debug|x64.ActiveCfg = Debug|Win32
- {0E2C6395-13B9-46E5-9264-8859D346018D}.Release|Win32.ActiveCfg = Release|Win32
- {0E2C6395-13B9-46E5-9264-8859D346018D}.Release|Win32.Build.0 = Release|Win32
- {0E2C6395-13B9-46E5-9264-8859D346018D}.Release|x64.ActiveCfg = Release|Win32
{D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.ActiveCfg = Debug|Win32
{D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.Build.0 = Debug|Win32
{D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|x64.ActiveCfg = Debug|Win32
@@ -1016,12 +963,6 @@
{D42518CC-7475-454D-B392-0E132C07D761}.Release|Win32.ActiveCfg = Release|Win32
{D42518CC-7475-454D-B392-0E132C07D761}.Release|Win32.Build.0 = Release|Win32
{D42518CC-7475-454D-B392-0E132C07D761}.Release|x64.ActiveCfg = Release|Win32
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Debug|Win32.ActiveCfg = Debug|Win32
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Debug|Win32.Build.0 = Debug|Win32
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Debug|x64.ActiveCfg = Debug|Win32
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Release|Win32.ActiveCfg = Release|Win32
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Release|Win32.Build.0 = Release|Win32
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Release|x64.ActiveCfg = Release|Win32
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.ActiveCfg = Debug|Win32
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.Build.0 = Debug|Win32
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|x64.ActiveCfg = Debug|Win32
@@ -1166,15 +1107,10 @@
{3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8} = {9ADF1E48-2F5C-4ED7-A893-596259FABFE0}
{AFAC0568-7548-42D5-9F6A-8D3400A1E4F6} = {A5A27244-AD24-46E5-B01B-840CD296C91D}
{9254C4B0-6F60-42B6-BB3A-36D63FC001C7} = {A5A27244-AD24-46E5-B01B-840CD296C91D}
- {78100236-7CEA-4948-96CC-E8ED3160329C} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
- {E1794405-29D4-466D-9BE3-DD2344C2A663} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
- {419AA391-5F3F-4BFE-A869-9D154D62A792} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
- {0E2C6395-13B9-46E5-9264-8859D346018D} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B5881A85-FE70-4F64-8607-2CAAE52669C6} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
- {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{71A967D5-0E99-4CEF-A587-98836EE6F2EF} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{3850D93A-5F24-4922-BC1C-74D08C37C256} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
Modified: freeswitch/trunk/build/modules.conf.in
==============================================================================
--- freeswitch/trunk/build/modules.conf.in (original)
+++ freeswitch/trunk/build/modules.conf.in Wed Jun 13 12:00:14 2007
@@ -1,17 +1,12 @@
loggers/mod_console
loggers/mod_syslog
-applications/mod_bridgecall
applications/mod_commands
applications/mod_conference
applications/mod_dptools
-applications/mod_echo
applications/mod_enum
#applications/mod_ivrtest
-#applications/mod_park
#applications/mod_soundtouch
-applications/mod_playback
#applications/mod_rss
-#applications/mod_skel
#asr_tts/mod_cepstral
#codecs/mod_amr
codecs/mod_g711
Modified: freeswitch/trunk/conf/modules.conf.xml
==============================================================================
--- freeswitch/trunk/conf/modules.conf.xml (original)
+++ freeswitch/trunk/conf/modules.conf.xml Wed Jun 13 12:00:14 2007
@@ -33,13 +33,9 @@
<!-- <load module="mod_woomera"/> -->
<!-- Applications -->
- <load module="mod_bridgecall"/>
<load module="mod_commands"/>
<load module="mod_conference"/>
<load module="mod_dptools"/>
- <load module="mod_echo"/>
- <!--<load module="mod_park"/>-->
- <load module="mod_playback"/>
<!-- Dialplan Interfaces -->
<!-- <load module="mod_dialplan_directory"/> -->
Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Wed Jun 13 12:00:14 2007
@@ -36,8 +36,9 @@
#include <switch.h>
#include <switch_version.h>
+SWITCH_MODULE_LOAD_FUNCTION(mod_commands_load);
+SWITCH_MODULE_DEFINITION(mod_commands, mod_commands_load, NULL, NULL);
-static const char modname[] = "mod_commands";
static switch_api_interface_t ctl_api_interface;
static switch_api_interface_t uuid_bridge_api_interface;
static switch_api_interface_t session_record_api_interface;
@@ -1318,7 +1319,7 @@
/*.next */ &kill_api_interface
};
-static const switch_loadable_module_interface_t mod_commands_module_interface = {
+static const switch_loadable_module_interface_t commands_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ NULL,
/*.timer_interface */ NULL,
@@ -1328,10 +1329,10 @@
/*.api_interface */ &originate_api_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_commands_load)
{
/* connect my internal structure to the blank pointer passed to me */
- *module_interface = &mod_commands_module_interface;
+ *module_interface = &commands_module_interface;
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_NOUNLOAD;
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Wed Jun 13 12:00:14 2007
@@ -33,7 +33,10 @@
*/
#include <switch.h>
-static const char modname[] = "mod_conference";
+SWITCH_MODULE_LOAD_FUNCTION(mod_conference_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_conference_shutdown);
+SWITCH_MODULE_DEFINITION(mod_conference, mod_conference_load, mod_conference_shutdown, NULL);
+
static const char global_app_name[] = "conference";
static char *global_cf_name = "conference.conf";
static switch_api_interface_t conf_api_interface;
@@ -4909,7 +4912,7 @@
}
/* Called by FreeSWITCH when the module loads */
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_conference_load)
{
uint32_t i;
size_t nl, ol = 0;
@@ -4974,7 +4977,7 @@
return status;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_conference_shutdown)
{
if (globals.running) {
Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Wed Jun 13 12:00:14 2007
@@ -34,7 +34,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_dptools";
+SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load);
+SWITCH_MODULE_DEFINITION(mod_dptools, mod_dptools_load, NULL, NULL);
static const switch_application_interface_t detect_speech_application_interface;
static const switch_application_interface_t exe_application_interface;
@@ -673,6 +674,274 @@
switch_ivr_stop_fax_detect_session(session);
}
+static void echo_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ switch_channel_answer(channel);
+
+ switch_channel_set_state(channel, CS_LOOPBACK);
+}
+
+static void park_function(switch_core_session_t *session, char *data)
+{
+ switch_ivr_park(session, NULL);
+
+}
+
+/********************************************************************************/
+/* Playback/Record Functions */
+/********************************************************************************/
+
+/*
+ dtmf handler function you can hook up to be executed when a digit is dialed during playback
+ if you return anything but SWITCH_STATUS_SUCCESS the playback will stop.
+*/
+static switch_status_t on_dtmf(switch_core_session_t *session, void *input, switch_input_type_t itype, void *buf, unsigned int buflen)
+{
+
+
+ switch (itype) {
+ case SWITCH_INPUT_TYPE_DTMF:{
+ char *dtmf = (char *) input;
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Digits %s\n", dtmf);
+
+ if (*dtmf == '*') {
+ return SWITCH_STATUS_BREAK;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
+
+static void speak_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ char buf[10];
+ char *argv[4] = { 0 };
+ int argc;
+ char *engine = NULL;
+ char *voice = NULL;
+ char *text = NULL;
+ char *mydata = NULL;
+ switch_codec_t *codec;
+ switch_input_args_t args = { 0 };
+
+ codec = switch_core_session_get_read_codec(session);
+ assert(codec != NULL);
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ mydata = switch_core_session_strdup(session, data);
+ argc = switch_separate_string(mydata, '|', argv, sizeof(argv) / sizeof(argv[0]));
+
+ engine = argv[0];
+ voice = argv[1];
+ text = argv[2];
+
+ if (!(engine && voice && text)) {
+ if (!engine) {
+ engine = "NULL";
+ }
+ if (!voice) {
+ voice = "NULL";
+ }
+ if (!text) {
+ text = "NULL";
+ }
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Params! [%s][%s][%s]\n", engine, voice, text);
+ switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ }
+
+ switch_channel_pre_answer(channel);
+
+ args.input_callback = on_dtmf;
+ args.buf = buf;
+ args.buflen = sizeof(buf);
+ switch_ivr_speak_text(session, engine, voice, codec->implementation->samples_per_second, text, &args);
+
+}
+
+static void playback_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ char *file_name = NULL;
+ switch_input_args_t args = { 0 };
+
+ file_name = switch_core_session_strdup(session, data);
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ switch_channel_pre_answer(channel);
+
+ args.input_callback = on_dtmf;
+ switch_ivr_play_file(session, NULL, file_name, &args);
+
+}
+
+
+static void record_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ switch_status_t status;
+ uint32_t limit = 0;
+ char *path;
+ char *p;
+ switch_input_args_t args = { 0 };
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ path = switch_core_session_strdup(session, data);
+ if ((p = strchr(path, '+'))) {
+ char *q = p - 1;
+ while(q && *q == ' ') {
+ *q = '\0';
+ q--;
+ }
+ *p++ = '\0';
+ limit = atoi(p);
+ }
+
+ args.input_callback = on_dtmf;
+ status = switch_ivr_record_file(session, NULL, path, &args, limit);
+
+ if (!switch_channel_ready(channel) || (status != SWITCH_STATUS_SUCCESS && !SWITCH_STATUS_IS_BREAK(status))) {
+ switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ }
+}
+
+
+static void record_session_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ char *p, *path = NULL;
+ uint32_t limit = 0;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ path = switch_core_session_strdup(session, data);
+ if ((p = strchr(path, '+'))) {
+ char *q = p - 1;
+ while(q && *q == ' ') {
+ *q = '\0';
+ q--;
+ }
+ *p++ = '\0';
+ limit = atoi(p);
+ }
+
+ switch_ivr_record_session(session, path, limit, NULL);
+}
+
+
+static void stop_record_session_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ switch_ivr_stop_record_session(session, data);
+}
+
+/********************************************************************************/
+/* Bridge Functions */
+/********************************************************************************/
+
+static void audio_bridge_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *caller_channel;
+ switch_core_session_t *peer_session = NULL;
+ unsigned int timelimit = 60;
+ char *var;
+ uint8_t no_media_bridge = 0;
+ switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
+ uint8_t do_continue = 0;
+
+ if (switch_strlen_zero(data)) {
+ return;
+ }
+
+ caller_channel = switch_core_session_get_channel(session);
+ assert(caller_channel != NULL);
+
+ if ((var = switch_channel_get_variable(caller_channel, "call_timeout"))) {
+ timelimit = atoi(var);
+ }
+
+ if ((var = switch_channel_get_variable(caller_channel, "continue_on_fail"))) {
+ do_continue = switch_true(var);
+ }
+
+ if (switch_channel_test_flag(caller_channel, CF_BYPASS_MEDIA)
+ || ((var = switch_channel_get_variable(caller_channel, SWITCH_BYPASS_MEDIA_VARIABLE)) && switch_true(var))) {
+ if (!switch_channel_test_flag(caller_channel, CF_ANSWERED)
+ && !switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA)) {
+ switch_channel_set_flag(caller_channel, CF_BYPASS_MEDIA);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel is already up, delaying point-to-point mode 'till both legs are up.\n");
+ no_media_bridge = 1;
+ }
+ }
+
+ if (switch_ivr_originate(session, &peer_session, &cause, data, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Originate Failed. Cause: %s\n", switch_channel_cause2str(cause));
+ if (!do_continue && cause != SWITCH_CAUSE_NO_ANSWER) {
+ /* All Causes besides NO_ANSWER terminate the originating session unless continue_on_fail is set.
+ We will pass the fail cause on when we hangup. */
+ switch_channel_hangup(caller_channel, cause);
+ }
+ /* Otherwise.. nobody answered. Go back to the dialplan instructions in case there was more to do. */
+ return;
+ } else {
+ if (no_media_bridge) {
+ switch_channel_t *peer_channel = switch_core_session_get_channel(peer_session);
+ switch_frame_t *read_frame;
+ /* SIP won't let us redir media until the call has been answered #$^#%& so we will proxy any early media until they do */
+ while (switch_channel_ready(caller_channel) && switch_channel_ready(peer_channel)
+ && !switch_channel_test_flag(peer_channel, CF_ANSWERED)) {
+ switch_status_t status = switch_core_session_read_frame(peer_session, &read_frame, -1, 0);
+ uint8_t bad = 1;
+
+ if (SWITCH_READ_ACCEPTABLE(status)
+ && switch_core_session_write_frame(session, read_frame, -1, 0) == SWITCH_STATUS_SUCCESS) {
+ bad = 0;
+ }
+ if (bad) {
+ switch_channel_hangup(caller_channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ switch_channel_hangup(peer_channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ goto end;
+ }
+ }
+
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Redirecting media to point-to-point mode.\n");
+ switch_ivr_nomedia(switch_core_session_get_uuid(session), SMF_FORCE);
+ switch_ivr_nomedia(switch_core_session_get_uuid(peer_session), SMF_FORCE);
+ switch_ivr_signal_bridge(session, peer_session);
+ } else {
+ if (switch_channel_test_flag(caller_channel, CF_BYPASS_MEDIA)) {
+ switch_ivr_signal_bridge(session, peer_session);
+ } else {
+ switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
+ }
+ }
+ end:
+ if (peer_session) {
+ switch_core_session_rwunlock(peer_session);
+ }
+ }
+}
static const switch_api_interface_t strepoch_api_interface = {
/*.interface_name */ "strepoch",
@@ -707,6 +976,86 @@
};
+static const switch_application_interface_t bridge_application_interface = {
+ /*.interface_name */ "bridge",
+ /*.application_function */ audio_bridge_function,
+ /* long_desc */ "Bridge the audio between two sessions",
+ /* short_desc */ "Bridge Audio",
+ /* syntax */ "<channel_url>",
+ /* flags */ SAF_SUPPORT_NOMEDIA
+};
+
+static const switch_application_interface_t speak_application_interface = {
+ /*.interface_name */ "speak",
+ /*.application_function */ speak_function,
+ /* long_desc */ "Speak text to a channel via the tts interface",
+ /* short_desc */ "Speak text",
+ /* syntax */ "<engine>|<voice>|<text>",
+ /* flags */ SAF_NONE,
+ &bridge_application_interface
+};
+
+static const switch_application_interface_t record_application_interface = {
+ /*.interface_name */ "record",
+ /*.application_function */ record_function,
+ /* long_desc */ "Record a file from the channels input",
+ /* short_desc */ "Record File",
+ /* syntax */ "<path> [+time_limit_ms]",
+ /* flags */ SAF_NONE,
+ &speak_application_interface
+};
+
+
+static const switch_application_interface_t record_session_application_interface = {
+ /*.interface_name */ "record_session",
+ /*.application_function */ record_session_function,
+ /* long_desc */ "Starts a background recording of the entire session",
+ /* short_desc */ "Record Session",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
+ &record_application_interface
+};
+
+
+static const switch_application_interface_t stop_record_session_application_interface = {
+ /*.interface_name */ "stop_record_session",
+ /*.application_function */ stop_record_session_function,
+ /* long_desc */ "Stops a background recording of the entire session",
+ /* short_desc */ "Stop Record Session",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
+ &record_session_application_interface
+};
+
+static const switch_application_interface_t playback_application_interface = {
+ /*.interface_name */ "playback",
+ /*.application_function */ playback_function,
+ /* long_desc */ "Playback a file to the channel",
+ /* short_desc */ "Playback File",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
+ /*.next */ &stop_record_session_application_interface
+};
+static const switch_application_interface_t park_application_interface = {
+ /*.interface_name */ "park",
+ /*.application_function */ park_function,
+ /* long_desc */ NULL,
+ /* short_desc */ NULL,
+ /* syntax */ NULL,
+ /* flags */ SAF_NONE,
+ /*.next */ &playback_application_interface
+};
+
+static const switch_application_interface_t echo_application_interface = {
+ /*.interface_name */ "echo",
+ /*.application_function */ echo_function,
+ /* long_desc */ "Perform an echo test against the calling channel",
+ /* short_desc */ "Echo",
+ /* syntax */ "",
+ /* flags */ SAF_NONE,
+ /*.next */ &park_application_interface
+};
+
static const switch_application_interface_t fax_detect_application_interface = {
/*.interface_name */ "fax_detect",
/*.application_function */ fax_detect_session_function,
@@ -714,7 +1063,7 @@
/* short_desc */ "Detect faxes",
/* syntax */ "",
/* flags */ SAF_NONE,
- /*.next */ NULL
+ /*.next */ &echo_application_interface
};
static const switch_application_interface_t stop_fax_detect_application_interface = {
@@ -990,7 +1339,7 @@
/*.next */ &transfer_application_interface
};
-static const switch_loadable_module_interface_t mod_dptools_module_interface = {
+static const switch_loadable_module_interface_t dptools_module_interface = {
/*.module_name = */ modname,
/*.endpoint_interface = */ NULL,
/*.timer_interface = */ NULL,
@@ -1000,23 +1349,17 @@
/*.api_interface */ &presence_api_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_dptools_load)
{
/* connect my internal structure to the blank pointer passed to me */
- *module_interface = &mod_dptools_module_interface;
+ *module_interface = &dptools_module_interface;
/* indicate that the module should continue to be loaded */
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:
Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c Wed Jun 13 12:00:14 2007
@@ -36,7 +36,8 @@
#define closesocket close
#endif
-static const char modname[] = "mod_enum";
+SWITCH_MODULE_LOAD_FUNCTION(mod_enum_load);
+SWITCH_MODULE_DEFINITION(mod_enum, mod_enum_load, NULL, NULL);
struct enum_record {
int order;
@@ -721,7 +722,7 @@
/*.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_enum_load)
{
if (dns_init(0) < 0) {
Modified: freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c Wed Jun 13 12:00:14 2007
@@ -31,7 +31,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_esf";
+SWITCH_MODULE_LOAD_FUNCTION(mod_esf_load);
+SWITCH_MODULE_DEFINITION(mod_esf, mod_esf_load, NULL, NULL);
struct ls_control_packet {
uint32_t unique_id;
@@ -244,7 +245,7 @@
/*.application_interface */ &bcast_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_esf_load)
{
/* connect my internal structure to the blank pointer passed to me */
Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Wed Jun 13 12:00:14 2007
@@ -31,7 +31,8 @@
*/
#include <switch.h>
-static const char modname[] = "mod_rss";
+SWITCH_MODULE_LOAD_FUNCTION(mod_rss_load);
+SWITCH_MODULE_DEFINITION(mod_rss, mod_rss_load, NULL, NULL);
typedef enum {
SFLAG_INSTRUCT = (1 << 0),
@@ -635,7 +636,7 @@
};
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_rss_load)
{
/* connect my internal structure to the blank pointer passed to me */
*module_interface = &rss_module_interface;
Modified: freeswitch/trunk/w32/Setup/Setup.vdproj
==============================================================================
--- freeswitch/trunk/w32/Setup/Setup.vdproj (original)
+++ freeswitch/trunk/w32/Setup/Setup.vdproj Wed Jun 13 12:00:14 2007
@@ -21,168 +21,270 @@
}
"Entry"
{
+ "MsmKey" = "8:_0F091427EEA0245FBA87474748D35ABD"
+ "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F"
"OwnerKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F"
+ "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
+ "MsmKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_FB1B9FBDC3294F1C96DAC4246C013C22"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_F84240319757424DB1C58AD0AD420127"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_3E37631016BC45B2B672FE23257D542B"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_E763C699DF0948B6984DDEB96A2DFD06"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_D7EC5795A9C645AC8E129C2EE6D461ED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_D6F0F5845FAD4707975CE012A33CD607"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_BB649A2C1ABE4895859025B09A240323"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_D0BB09AFB8D94B76918F0EE85BCCAD0A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_C81AC700C1BC4A55B98DF12C0CBAFD6F"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_C105055EE271471A999CE7022E617EB7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
- "OwnerKey" = "8:_A944ADCEDF884574A23F7BA5420A6BA1"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_AD2EB44FE6D548F2A8DA4F9F2CE817AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_87768631363249B2B301143C193612F7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_7358123D2D064AD1BC517911A8B23D1B"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_6E5C001E7A314DCEA0A4BF52BF74BCAD"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_684D96FA2BDD46909367E651099D8C4E"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_5A636BB90F7F4B86ACB8839EA2C899AA"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_3E37631016BC45B2B672FE23257D542B"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "OwnerKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
"OwnerKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
+ "MsmKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_329D8DAE6C01FCF026E9DFB48B932203"
"OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
+ "MsmKey" = "8:_35FACDFFDDB943568B7588D14D0513A7"
+ "OwnerKey" = "8:_27200676A75147D0BB7FA5500BB31A6D"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_3E37631016BC45B2B672FE23257D542B"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -201,6 +303,18 @@
}
"Entry"
{
+ "MsmKey" = "8:_525E8ED430D44113995AB8FBF1945569"
+ "OwnerKey" = "8:_548996CD77304E3598846F122E79431A"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_548996CD77304E3598846F122E79431A"
+ "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -219,7 +333,7 @@
}
"Entry"
{
- "MsmKey" = "8:_69EB1A147CC2428435BDCA35014C96E1"
+ "MsmKey" = "8:_6A4CAD73F43678BF7C05E8FB41042F74"
"OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
"MsmSig" = "8:_UNDEFINED"
}
@@ -231,12 +345,6 @@
}
"Entry"
{
- "MsmKey" = "8:_72A8732C0C0C4D0EAAE89DBB82073335"
- "OwnerKey" = "8:_UNDEFINED"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_7358123D2D064AD1BC517911A8B23D1B"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -268,12 +376,6 @@
"Entry"
{
"MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
- "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
"OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
"MsmSig" = "8:_UNDEFINED"
}
@@ -285,20 +387,14 @@
}
"Entry"
{
- "MsmKey" = "8:_91BA2668F87764F53188E93BC8D363D7"
- "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_98CF7609810C41BABC219DFBA0A6075D"
- "OwnerKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmKey" = "8:_8BDB1C76D7153C0CC909D697582518E3"
+ "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9A293E8A356A4959BB6E541B7DC213CD"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_91BA2668F87764F53188E93BC8D363D7"
+ "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -339,6 +435,24 @@
}
"Entry"
{
+ "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41"
+ "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41"
+ "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41"
+ "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -357,6 +471,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_BB7F62033A5B7A961202771F5A4E4995"
+ "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_C105055EE271471A999CE7022E617EB7"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -417,12 +537,6 @@
}
"Entry"
{
- "MsmKey" = "8:_E4BCD553B2054B0F8BC67428E1A11674"
- "OwnerKey" = "8:_UNDEFINED"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_E763C699DF0948B6984DDEB96A2DFD06"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -648,6 +762,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0F091427EEA0245FBA87474748D35ABD"
+ {
+ "SourcePath" = "8:js32.dll"
+ "TargetName" = "8:js32.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1273F63008CF585CA0E063E436B4646F"
{
"SourcePath" = "8:iphlpapi.dll"
@@ -688,10 +822,10 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_69EB1A147CC2428435BDCA35014C96E1"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6A4CAD73F43678BF7C05E8FB41042F74"
{
- "SourcePath" = "8:libsqlite.dll"
- "TargetName" = "8:libsqlite.dll"
+ "SourcePath" = "8:libteletone.dll"
+ "TargetName" = "8:libteletone.dll"
"Tag" = "8:"
"Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
"Condition" = "8:"
@@ -704,7 +838,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@@ -744,7 +878,27 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8BDB1C76D7153C0CC909D697582518E3"
+ {
+ "SourcePath" = "8:libapr.dll"
+ "TargetName" = "8:libapr.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@@ -784,7 +938,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@@ -828,6 +982,46 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_ADA22D44BCDEBA509E09A5D4C155AA41"
+ {
+ "SourcePath" = "8:ODBC32.dll"
+ "TargetName" = "8:ODBC32.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BB7F62033A5B7A961202771F5A4E4995"
+ {
+ "SourcePath" = "8:libaprutil.dll"
+ "TargetName" = "8:libaprutil.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D7E82DD20D5B47395F635480C8E3A1D3"
{
"SourcePath" = "8:FreeSwitch.dll"
@@ -1610,7 +1804,7 @@
}
"MergeModule"
{
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_327123955D614480BF2995F2C39195DD"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_27200676A75147D0BB7FA5500BB31A6D"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
@@ -1624,7 +1818,7 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_98CF7609810C41BABC219DFBA0A6075D"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_35FACDFFDDB943568B7588D14D0513A7"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
@@ -1638,6 +1832,34 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_525E8ED430D44113995AB8FBF1945569"
+ {
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:TRUE"
+ "SourcePath" = "8:policy_8_0_microsoft_vc80_crt_x86.msm"
+ "Properties"
+ {
+ }
+ "LanguageId" = "3:0"
+ "Exclude" = "11:FALSE"
+ "Folder" = "8:"
+ "Feature" = "8:"
+ "IsolateTo" = "8:"
+ }
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_548996CD77304E3598846F122E79431A"
+ {
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:TRUE"
+ "SourcePath" = "8:Microsoft_VC80_CRT_x86.msm"
+ "Properties"
+ {
+ }
+ "LanguageId" = "3:0"
+ "Exclude" = "11:FALSE"
+ "Folder" = "8:"
+ "Feature" = "8:"
+ "IsolateTo" = "8:"
+ }
}
"ProjectOutput"
{
@@ -2005,34 +2227,6 @@
{
}
}
- "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_72A8732C0C0C4D0EAAE89DBB82073335"
- {
- "SourcePath" = "8:..\\..\\debug\\mod\\mod_playback.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- "ProjectOutputGroupRegister" = "3:1"
- "OutputConfiguration" = "8:"
- "OutputGroupCanonicalName" = "8:Built"
- "OutputProjectGuid" = "8:{78100236-7CEA-4948-96CC-E8ED3160329C}"
- "ShowKeyOutput" = "11:TRUE"
- "ExcludeFilters"
- {
- }
- }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7358123D2D064AD1BC517911A8B23D1B"
{
"SourcePath" = "8:..\\..\\debug\\mod\\mod_softtimer.dll"
@@ -2117,37 +2311,9 @@
{
}
}
- "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9A293E8A356A4959BB6E541B7DC213CD"
- {
- "SourcePath" = "8:..\\..\\debug\\mod\\mod_bridgecall.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- "ProjectOutputGroupRegister" = "3:1"
- "OutputConfiguration" = "8:"
- "OutputGroupCanonicalName" = "8:Built"
- "OutputProjectGuid" = "8:{E1794405-29D4-466D-9BE3-DD2344C2A663}"
- "ShowKeyOutput" = "11:TRUE"
- "ExcludeFilters"
- {
- }
- }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A0D5F714A0F94250A1C39603B699AB82"
{
- "SourcePath" = "8:..\\..\\libs\\libteletone\\Debug\\libteletone.dll"
+ "SourcePath" = "8:..\\..\\debug\\libteletone.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -2175,7 +2341,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A944ADCEDF884574A23F7BA5420A6BA1"
{
- "SourcePath" = "8:..\\..\\debug\\libsqlite.dll"
+ "SourcePath" = "8:..\\..\\libs\\win32\\sqlite\\Debug\\libsqlite.lib"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -2287,7 +2453,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_BB649A2C1ABE4895859025B09A240323"
{
- "SourcePath" = "8:..\\..\\debug\\libpcre.dll"
+ "SourcePath" = "8:..\\..\\libs\\win32\\pcre\\Debug\\libpcre.lib"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -2509,34 +2675,6 @@
{
}
}
- "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E4BCD553B2054B0F8BC67428E1A11674"
- {
- "SourcePath" = "8:..\\..\\debug\\mod\\mod_echo.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- "ProjectOutputGroupRegister" = "3:1"
- "OutputConfiguration" = "8:"
- "OutputGroupCanonicalName" = "8:Built"
- "OutputProjectGuid" = "8:{0E2C6395-13B9-46E5-9264-8859D346018D}"
- "ShowKeyOutput" = "11:TRUE"
- "ExcludeFilters"
- {
- }
- }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E763C699DF0948B6984DDEB96A2DFD06"
{
"SourcePath" = "8:..\\..\\debug\\mod\\mod_PortAudio.dll"
1
0
[commit] r5341 - in freeswitch/trunk: conf src/mod/applications/mod_soundtouch
by Freeswitch SVN 13 Jun '07
by Freeswitch SVN 13 Jun '07
13 Jun '07
Author: anthm
Date: Wed Jun 13 11:19:16 2007
New Revision: 5341
Modified:
freeswitch/trunk/conf/default_context.xml
freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
Log:
update
Modified: freeswitch/trunk/conf/default_context.xml
==============================================================================
--- freeswitch/trunk/conf/default_context.xml (original)
+++ freeswitch/trunk/conf/default_context.xml Wed Jun 13 11:19:16 2007
@@ -28,6 +28,7 @@
a.k.a. by the dtmf of the A leg.
if it were 'recv' then it would be parsed when the dtmf was
received *from* the b leg so it could control itself.
+ The optional keywords "read" and "write" will also change the stream replaced
-->
<action application="set" data="bridge_pre_execute_bleg_data=send -4s"/>
<action application="bridge" data="sofia/$${domain}/foo"/>
Modified: freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp (original)
+++ freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp Wed Jun 13 11:19:16 2007
@@ -46,6 +46,7 @@
SoundTouch *st;
switch_core_session_t *session;
int send;
+ int read;
float pitch;
float octaves;
float semi;
@@ -208,6 +209,7 @@
case SWITCH_ABC_TYPE_READ:
case SWITCH_ABC_TYPE_WRITE:
break;
+ case SWITCH_ABC_TYPE_READ_REPLACE:
case SWITCH_ABC_TYPE_WRITE_REPLACE:
{
switch_frame_t *frame;
@@ -215,7 +217,12 @@
assert(sth != NULL);
assert(sth->st != NULL);
- frame = switch_core_media_bug_get_write_replace_frame(bug);
+ if (sth->read) {
+ frame = switch_core_media_bug_get_read_replace_frame(bug);
+ } else {
+ frame = switch_core_media_bug_get_write_replace_frame(bug);
+ }
+
sth->st->putSamples((SAMPLETYPE *)frame->data, frame->samples);
if (sth->st->numSamples() >= frame->samples * 2) {
@@ -224,9 +231,12 @@
} else {
memset(frame->data, 0, frame->datalen);
}
-
- switch_core_media_bug_set_write_replace_frame(bug, frame);
-
+
+ if (sth->read) {
+ switch_core_media_bug_set_read_replace_frame(bug, frame);
+ } else {
+ switch_core_media_bug_set_write_replace_frame(bug, frame);
+ }
}
default:
@@ -258,14 +268,15 @@
if (data && (lbuf = switch_core_session_strdup(session, data))
&& (argc = switch_separate_string(lbuf, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) {
- if (!strcasecmp(argv[0], "send") && argc >= 1) {
- sth->send = 1;
- } else {
- sth->send = 0;
- }
-
- for(x = 1; x < argc; x++) {
- if (strchr(argv[x], 'p')) {
+ sth->send = 0;
+ sth->read = 0;
+ sth->pitch = 1;
+ for(x = 0; x < argc; x++) {
+ if (!strncasecmp(argv[x], "send", 4)) {
+ sth->send = 1;
+ } else if (!strncasecmp(argv[x], "read", 4)) {
+ sth->read = 1;
+ } else if (strchr(argv[x], 'p')) {
if ((sth->pitch = atof(argv[x]) < 0)) {
sth->pitch = 0;
}
@@ -286,7 +297,8 @@
sth->session = session;
- if ((status = switch_core_media_bug_add(session, soundtouch_callback, sth, 0, SMBF_WRITE_REPLACE, &bug)) != SWITCH_STATUS_SUCCESS) {
+ if ((status = switch_core_media_bug_add(session, soundtouch_callback, sth, 0,
+ sth->read ? SMBF_READ_REPLACE : SMBF_WRITE_REPLACE, &bug)) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failure!\n");
return;
}
1
0
Author: mikej
Date: Wed Jun 13 10:48:13 2007
New Revision: 5340
Modified:
freeswitch/trunk/src/switch_loadable_module.c
Log:
cleanup error message.
Modified: freeswitch/trunk/src/switch_loadable_module.c
==============================================================================
--- freeswitch/trunk/src/switch_loadable_module.c (original)
+++ freeswitch/trunk/src/switch_loadable_module.c Wed Jun 13 10:48:13 2007
@@ -780,7 +780,7 @@
switch_mutex_lock(loadable_modules.mutex);
if (switch_core_hash_find(loadable_modules.module_hash, file)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Module %s Already Loaded!\n", file);
- *err = "Module already loadedn\n";
+ *err = "Module already loaded";
status = SWITCH_STATUS_FALSE;
} else if ((status = switch_loadable_module_load_file(path, file, &new_module) == SWITCH_STATUS_SUCCESS)) {
if ((status = switch_loadable_module_process(file, new_module)) == SWITCH_STATUS_SUCCESS && runtime) {
1
0
Author: mikej
Date: Wed Jun 13 10:45:04 2007
New Revision: 5339
Modified:
freeswitch/trunk/src/switch_loadable_module.c
Log:
silly const stuff
Modified: freeswitch/trunk/src/switch_loadable_module.c
==============================================================================
--- freeswitch/trunk/src/switch_loadable_module.c (original)
+++ freeswitch/trunk/src/switch_loadable_module.c Wed Jun 13 10:45:04 2007
@@ -650,7 +650,7 @@
switch_module_load_t load_func_ptr = NULL;
int loading = 1;
const char *err = NULL;
- switch_loadable_module_interface_t *module_interface = NULL;
+ const switch_loadable_module_interface_t *module_interface = NULL;
char derr[512] = "";
switch_memory_pool_t *pool;
@@ -830,7 +830,7 @@
switch_module_load_t load_func_ptr = NULL;
int loading = 1;
const char *err = NULL;
- switch_loadable_module_interface_t *module_interface = NULL;
+ const switch_loadable_module_interface_t *module_interface = NULL;
switch_memory_pool_t *pool;
1
0
Author: mikej
Date: Wed Jun 13 10:41:49 2007
New Revision: 5338
Modified:
freeswitch/trunk/src/switch_loadable_module.c
Log:
silly type stuff
Modified: freeswitch/trunk/src/switch_loadable_module.c
==============================================================================
--- freeswitch/trunk/src/switch_loadable_module.c (original)
+++ freeswitch/trunk/src/switch_loadable_module.c Wed Jun 13 10:41:49 2007
@@ -641,6 +641,7 @@
switch_loadable_module_t *module = NULL;
switch_dso_handle_t *dso = NULL;
apr_status_t status = SWITCH_STATUS_SUCCESS;
+ switch_dso_handle_sym_t interface_struct_handle = NULL;
switch_loadable_module_function_table_t *mod_interface_functions = NULL;
char *struct_name = NULL;
switch_dso_handle_sym_t load_function_handle = NULL;
@@ -671,8 +672,9 @@
}
struct_name = switch_core_sprintf(pool, "%s_module_interface", filename);
- status = switch_dso_sym(&mod_interface_functions, dso, struct_name);
- if (mod_interface_functions) {
+ status = switch_dso_sym(&interface_struct_handle, dso, struct_name);
+ if (interface_struct_handle) {
+ mod_interface_functions = interface_struct_handle;
load_func_ptr = mod_interface_functions->load;
} else {
status = switch_dso_sym(&load_function_handle, dso, "switch_module_load");
1
0
[commit] r5337 - in freeswitch/trunk/src: . include mod/endpoints/mod_iax mod/endpoints/mod_sofia
by Freeswitch SVN 13 Jun '07
by Freeswitch SVN 13 Jun '07
13 Jun '07
Author: mikej
Date: Wed Jun 13 10:35:55 2007
New Revision: 5337
Modified:
freeswitch/trunk/src/include/switch_platform.h
freeswitch/trunk/src/include/switch_types.h
freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
freeswitch/trunk/src/switch_loadable_module.c
Log:
add new macros and approach to module loader.
Modified: freeswitch/trunk/src/include/switch_platform.h
==============================================================================
--- freeswitch/trunk/src/include/switch_platform.h (original)
+++ freeswitch/trunk/src/include/switch_platform.h Wed Jun 13 10:35:55 2007
@@ -146,10 +146,13 @@
#endif
#if defined(SWITCH_MOD_DECLARE_STATIC)
#define SWITCH_MOD_DECLARE(type) type __cdecl
+#define SWITCH_MOD_DECLARE_DATA
#elif defined(MOD_EXPORTS)
#define SWITCH_MOD_DECLARE(type) __declspec(dllexport) type __cdecl
+#define SWITCH_MOD_DECLARE_DATA __declspec(dllexport)
#else
#define SWITCH_MOD_DECLARE(type) __declspec(dllimport) type __cdecl
+#define SWITCH_MOD_DECLARE_DATA __declspec(dllimport)
#endif
#define SIGHUP SIGTERM
#ifndef S_IRUSR
@@ -164,6 +167,7 @@
#define SWITCH_DECLARE_NONSTD(type) type
#define SWITCH_MOD_DECLARE(type) type
#define SWITCH_DECLARE_DATA
+#define SWITCH_MOD_DECLARE_DATA
#define SWITCH_THREAD_FUNC
#endif
#ifdef DOXYGEN
Modified: freeswitch/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/trunk/src/include/switch_types.h (original)
+++ freeswitch/trunk/src/include/switch_types.h Wed Jun 13 10:35:55 2007
@@ -1045,19 +1045,41 @@
} switch_input_args_t;
typedef switch_status_t (*switch_say_callback_t) (switch_core_session_t *session,
char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args);
-typedef switch_status_t (*switch_module_load_t) (switch_loadable_module_interface_t **, char *);
-typedef switch_status_t (*switch_module_reload_t) (void);
-typedef switch_status_t (*switch_module_pause_t) (void);
-typedef switch_status_t (*switch_module_resume_t) (void);
-typedef switch_status_t (*switch_module_status_t) (void);
-typedef switch_status_t (*switch_module_runtime_t) (void);
-typedef switch_status_t (*switch_module_shutdown_t) (void);
typedef struct switch_xml *switch_xml_t;
typedef struct switch_core_time_duration switch_core_time_duration_t;
typedef switch_xml_t(*switch_xml_search_function_t) (const char *section,
const char *tag_name, const char *key_name, const char *key_value, const char *params,
void *user_data);
+
+#define SWITCH_API_VERSION 1
+#define SWITCH_MODULE_LOAD_ARGS (const switch_loadable_module_interface_t **module_interface, char *filename)
+#define SWITCH_MODULE_RUNTIME_ARGS (void)
+#define SWITCH_MODULE_SHUTDOWN_ARGS (void)
+typedef switch_status_t (*switch_module_load_t) SWITCH_MODULE_LOAD_ARGS ;
+typedef switch_status_t (*switch_module_runtime_t) SWITCH_MODULE_RUNTIME_ARGS ;
+typedef switch_status_t (*switch_module_shutdown_t) SWITCH_MODULE_SHUTDOWN_ARGS ;
+#define SWITCH_MODULE_LOAD_FUNCTION(name) switch_status_t name SWITCH_MODULE_LOAD_ARGS
+#define SWITCH_MODULE_RUNTIME_FUNCTION(name) switch_status_t name SWITCH_MODULE_RUNTIME_ARGS
+#define SWITCH_MODULE_SHUTDOWN_FUNCTION(name) switch_status_t name SWITCH_MODULE_SHUTDOWN_ARGS
+
+typedef struct switch_loadable_module_function_table {
+ int switch_api_version;
+ switch_module_load_t load;
+ switch_module_shutdown_t shutdown;
+ switch_module_runtime_t runtime;
+} switch_loadable_module_function_table_t;
+
+#define SWITCH_MODULE_DEFINITION(name, load, shutdown, runtime) \
+static const char modname[] = #name ; \
+SWITCH_MOD_DECLARE_DATA switch_loadable_module_function_table_t name##_module_interface = { \
+ SWITCH_API_VERSION, \
+ load, \
+ shutdown, \
+ runtime \
+}
+
+
/* things we don't deserve to know about */
/*! \brief A channel */
struct switch_channel;
Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c Wed Jun 13 10:35:55 2007
@@ -31,6 +31,11 @@
*/
#include <switch.h>
+SWITCH_MODULE_LOAD_FUNCTION(mod_iax_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_iax_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_iax_runtime);
+SWITCH_MODULE_DEFINITION(mod_iax, mod_iax_load, mod_iax_shutdown, mod_iax_runtime);
+
#include <iax2.h>
#include <iax-client.h>
#include <iax2-parser.h>
@@ -38,8 +43,6 @@
#include <sys/timeb.h>
#endif
-static const char modname[] = "mod_iax";
-
static switch_memory_pool_t *module_pool = NULL;
static int running = 1;
@@ -874,8 +877,7 @@
return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
}
-
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_iax_load)
{
if (switch_core_new_memory_pool(&module_pool) != SWITCH_STATUS_SUCCESS) {
@@ -967,7 +969,7 @@
return status;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_iax_runtime)
{
//int refresh;
struct iax_event *iaxevent = NULL;
@@ -1217,7 +1219,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_iax_shutdown)
{
int x = 0;
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Jun 13 10:35:55 2007
@@ -38,6 +38,10 @@
#include "mod_sofia.h"
+SWITCH_MODULE_LOAD_FUNCTION(mod_sofia_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_sofia_shutdown);
+SWITCH_MODULE_DEFINITION(mod_sofia, mod_sofia_load, mod_sofia_shutdown, NULL);
+
struct mod_sofia_globals mod_sofia_globals;
const switch_endpoint_interface_t sofia_endpoint_interface;
static switch_frame_t silence_frame = { 0 };
@@ -1497,7 +1501,7 @@
return cause;
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
+SWITCH_MODULE_LOAD_FUNCTION(mod_sofia_load)
{
silence_frame.data = silence_data;
@@ -1575,7 +1579,7 @@
}
-SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_sofia_shutdown)
{
int sanity = 0;
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Wed Jun 13 10:35:55 2007
@@ -45,7 +45,7 @@
#include <switch_odbc.h>
#endif
-static const char modname[] = "mod_sofia";
+#define MODNAME "mod_sofia"
static const switch_state_handler_table_t noop_state_handler = { 0 };
struct sofia_gateway;
typedef struct sofia_gateway sofia_gateway_t;
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Wed Jun 13 10:35:55 2007
@@ -1931,7 +1931,7 @@
tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session),
from_user,
profile->dialplan,
- displayname, from_user, network_ip, NULL, NULL, NULL, modname, context, destination_number);
+ displayname, from_user, network_ip, NULL, NULL, NULL, MODNAME, context, destination_number);
if (tech_pvt->caller_profile) {
Modified: freeswitch/trunk/src/switch_loadable_module.c
==============================================================================
--- freeswitch/trunk/src/switch_loadable_module.c (original)
+++ freeswitch/trunk/src/switch_loadable_module.c Wed Jun 13 10:35:55 2007
@@ -636,11 +636,13 @@
}
-static switch_status_t switch_loadable_module_load_file(char *filename, switch_loadable_module_t **new_module)
+static switch_status_t switch_loadable_module_load_file(char *path, char *filename, switch_loadable_module_t **new_module)
{
switch_loadable_module_t *module = NULL;
switch_dso_handle_t *dso = NULL;
apr_status_t status = SWITCH_STATUS_SUCCESS;
+ switch_loadable_module_function_table_t *mod_interface_functions = NULL;
+ char *struct_name = NULL;
switch_dso_handle_sym_t load_function_handle = NULL;
switch_dso_handle_sym_t shutdown_function_handle = NULL;
switch_dso_handle_sym_t runtime_function_handle = NULL;
@@ -651,10 +653,10 @@
char derr[512] = "";
switch_memory_pool_t *pool;
- assert(filename != NULL);
+ assert(path != NULL);
*new_module = NULL;
- status = switch_dso_load(&dso, filename, loadable_modules.pool);
+ status = switch_dso_load(&dso, path, loadable_modules.pool);
if (switch_core_new_memory_pool(&pool) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "OH OH no pool\n");
@@ -668,8 +670,14 @@
break;
}
- status = switch_dso_sym(&load_function_handle, dso, "switch_module_load");
- load_func_ptr = (switch_module_load_t) (intptr_t) load_function_handle;
+ struct_name = switch_core_sprintf(pool, "%s_module_interface", filename);
+ status = switch_dso_sym(&mod_interface_functions, dso, struct_name);
+ if (mod_interface_functions) {
+ load_func_ptr = mod_interface_functions->load;
+ } else {
+ status = switch_dso_sym(&load_function_handle, dso, "switch_module_load");
+ load_func_ptr = (switch_module_load_t) (intptr_t) load_function_handle;
+ }
if (load_func_ptr == NULL) {
err = "Cannot locate symbol 'switch_module_load' please make sure this is a vaild module.";
@@ -701,19 +709,24 @@
if (pool) {
switch_core_destroy_memory_pool(&pool);
}
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Loading module %s\n**%s**\n", filename, err);
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Loading module %s\n**%s**\n", path, err);
return SWITCH_STATUS_GENERR;
}
module->pool = pool;
- module->filename = switch_core_strdup(module->pool, filename);
+ module->filename = switch_core_strdup(module->pool, path);
module->module_interface = module_interface;
module->switch_module_load = load_func_ptr;
- switch_dso_sym(&shutdown_function_handle, dso, "switch_module_shutdown");
- module->switch_module_shutdown = (switch_module_shutdown_t) (intptr_t) shutdown_function_handle;
- switch_dso_sym(&runtime_function_handle, dso, "switch_module_runtime");
- module->switch_module_runtime = (switch_module_runtime_t) (intptr_t) runtime_function_handle;
+ if (mod_interface_functions) {
+ module->switch_module_shutdown = mod_interface_functions->shutdown;
+ module->switch_module_runtime = mod_interface_functions->runtime;
+ } else {
+ switch_dso_sym(&shutdown_function_handle, dso, "switch_module_shutdown");
+ module->switch_module_shutdown = (switch_module_shutdown_t) (intptr_t) shutdown_function_handle;
+ switch_dso_sym(&runtime_function_handle, dso, "switch_module_runtime");
+ module->switch_module_runtime = (switch_module_runtime_t) (intptr_t) runtime_function_handle;
+ }
module->lib = dso;
@@ -728,7 +741,7 @@
{
switch_size_t len = 0;
char *path;
- char *file;
+ char *file, *dot;
switch_loadable_module_t *new_module = NULL;
switch_status_t status;
@@ -747,20 +760,19 @@
if (*file == '/') {
path = switch_core_strdup(loadable_modules.pool, file);
+ file = (char *)switch_cut_path(file);
+ if ((dot = strchr(file, '.'))) {
+ dot = '\0';
+ }
} else {
- if (strchr(file, '.')) {
- len = strlen(dir);
- len += strlen(file);
- len += 4;
- path = (char *) switch_core_alloc(loadable_modules.pool, len);
- snprintf(path, len, "%s%s%s", dir, SWITCH_PATH_SEPARATOR, file);
- } else {
- len = strlen(dir);
- len += strlen(file);
- len += 8;
- path = (char *) switch_core_alloc(loadable_modules.pool, len);
- snprintf(path, len, "%s%s%s%s", dir, SWITCH_PATH_SEPARATOR, file, ext);
+ if ((dot = strchr(file, '.'))) {
+ dot = '\0';
}
+ len = strlen(dir);
+ len += strlen(file);
+ len += 8;
+ path = (char *) switch_core_alloc(loadable_modules.pool, len);
+ snprintf(path, len, "%s%s%s%s", dir, SWITCH_PATH_SEPARATOR, file, ext);
}
switch_mutex_lock(loadable_modules.mutex);
@@ -768,8 +780,8 @@
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Module %s Already Loaded!\n", file);
*err = "Module already loadedn\n";
status = SWITCH_STATUS_FALSE;
- } else if ((status = switch_loadable_module_load_file(path, &new_module) == SWITCH_STATUS_SUCCESS)) {
- if ((status = switch_loadable_module_process((char *) file, new_module)) == SWITCH_STATUS_SUCCESS && runtime) {
+ } else if ((status = switch_loadable_module_load_file(path, file, &new_module) == SWITCH_STATUS_SUCCESS)) {
+ if ((status = switch_loadable_module_process(file, new_module)) == SWITCH_STATUS_SUCCESS && runtime) {
if (new_module->switch_module_runtime) {
switch_core_launch_thread(switch_loadable_module_exec, new_module, new_module->pool);
}
@@ -785,37 +797,11 @@
SWITCH_DECLARE(switch_status_t) switch_loadable_module_unload_module(char *dir, char *fname, const char **err)
{
- char *path = NULL;
- char *file = NULL;
switch_loadable_module_t *module = NULL;
switch_status_t status = SWITCH_STATUS_SUCCESS;
-#ifdef WIN32
- const char *ext = ".dll";
-#elif defined (MACOSX) || defined (DARWIN)
- const char *ext = ".dylib";
-#else
- const char *ext = ".so";
-#endif
-
-
- if (!(file = strdup(fname))) {
- abort();
- }
-
- if (*file == '/') {
- path = strdup(file);
- } else {
- if (strchr(file, '.')) {
- path = switch_mprintf("%s%s%s", dir, SWITCH_PATH_SEPARATOR, file);
- } else {
- path = switch_mprintf("%s%s%s%s", dir, SWITCH_PATH_SEPARATOR, file, ext);
- }
- }
-
-
switch_mutex_lock(loadable_modules.mutex);
- if ((module = switch_core_hash_find(loadable_modules.module_hash, file))) {
+ if ((module = switch_core_hash_find(loadable_modules.module_hash, fname))) {
if (module->perm) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Module is not unloadable.\n");
*err = "Module is not unloadable";
@@ -829,9 +815,6 @@
}
switch_mutex_unlock(loadable_modules.mutex);
- switch_safe_free(file);
- switch_safe_free(path);
-
return status;
}
1
0