* The native code just handles getting the Mono runtime up and down\r
* and passing pointers into managed code.\r
*/ \r
-#ifndef _MANAGED \r
+\r
#include <switch.h>\r
- \r
+\r
SWITCH_BEGIN_EXTERN_C \r
- \r
#include "freeswitch_managed.h" \r
+\r
+SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load);\r
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_managed_shutdown);\r
+SWITCH_MODULE_DEFINITION(mod_managed, mod_managed_load, mod_managed_shutdown, NULL);\r
+\r
+SWITCH_STANDARD_API(managedrun_api_function); /* ExecuteBackground */\r
+SWITCH_STANDARD_API(managed_api_function); /* Execute */\r
+SWITCH_STANDARD_APP(managed_app_function); /* Run */\r
+\r
+SWITCH_END_EXTERN_C\r
+\r
+#define MOD_MANAGED_DLL "mod_managed_lib.dll"\r
+\r
+#ifndef _MANAGED \r
+ \r
+SWITCH_BEGIN_EXTERN_C \r
+\r
#include <glib.h>\r
#include <mono/jit/jit.h>\r
#include <mono/metadata/assembly.h>\r
#define EXPORT \r
#endif \r
\r
-#define MOD_MONO_MANAGED_DLL "mod_managed_lib.dll"\r
-\r
#define MOD_MONO_MANAGED_ASM_NAME "mod_managed_lib"\r
#define MOD_MONO_MANAGED_ASM_V1 1\r
#define MOD_MONO_MANAGED_ASM_V2 0\r
mod_mono_globals globals = \r
{ 0 };\r
\r
-SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load);\r
-SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_managed_shutdown);\r
-SWITCH_MODULE_DEFINITION(mod_managed, mod_managed_load, mod_managed_shutdown, NULL);\r
-\r
-SWITCH_STANDARD_API(monorun_api_function); /* ExecuteBackground */\r
-SWITCH_STANDARD_API(mono_api_function); /* Execute */\r
-SWITCH_STANDARD_APP(mono_app_function); /* Run */\r
-\r
-\r
// Sets up delegates (and anything else needed) on the ManagedSession object\r
// Called via internalcall\r
SWITCH_MOD_DECLARE(void) InitManagedSession(ManagedSession * session, MonoObject * dtmfDelegate, MonoObject * hangupDelegate) \r
mono_set_dirs(NULL, NULL);\r
return SWITCH_STATUS_SUCCESS;\r
\r
-#endif /* \r
- */\r
+#endif \r
}\r
\r
switch_status_t loadModMonoManaged() \r
/* Find and load mod_mono_managed.exe */ \r
char filename[256];\r
\r
- switch_snprintf(filename, 256, "%s%s%s", SWITCH_GLOBAL_dirs.mod_dir, SWITCH_PATH_SEPARATOR, MOD_MONO_MANAGED_DLL);\r
+ switch_snprintf(filename, 256, "%s%s%s", SWITCH_GLOBAL_dirs.mod_dir, SWITCH_PATH_SEPARATOR, MOD_MANAGED_DLL);\r
globals.domain = mono_jit_init(filename);\r
\r
/* Already got a Mono domain? */\r
}\r
\r
return SWITCH_STATUS_SUCCESS;\r
-\r
}\r
\r
MonoMethod * getMethod(const char *name, MonoClass * klass) \r
switch_api_interface_t *api_interface;\r
switch_application_interface_t *app_interface;\r
\r
- SWITCH_ADD_API(api_interface, "managedrun", "Run a module (ExecuteBackground)", monorun_api_function, "<module> [<args>]");\r
- SWITCH_ADD_API(api_interface, "managed", "Run a module as an API function (Execute)", mono_api_function, "<module> [<args>]");\r
- SWITCH_ADD_APP(app_interface, "managed", "Run Mono IVR", "Run a Mono IVR on a channel", mono_app_function, "<modulename> [<args>]", SAF_NONE);\r
+ SWITCH_ADD_API(api_interface, "managedrun", "Run a module (ExecuteBackground)", managedrun_api_function, "<module> [<args>]");\r
+ SWITCH_ADD_API(api_interface, "managed", "Run a module as an API function (Execute)", managed_api_function, "<module> [<args>]");\r
+ SWITCH_ADD_APP(app_interface, "managed", "Run Mono IVR", "Run a Mono IVR on a channel", managed_app_function, "<modulename> [<args>]", SAF_NONE);\r
\r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
-SWITCH_STANDARD_API(monorun_api_function) \r
+SWITCH_STANDARD_API(managedrun_api_function) \r
{\r
// TODO: Should we be detaching after all this?\r
mono_thread_attach(globals.domain);\r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
-SWITCH_STANDARD_API(mono_api_function) \r
+SWITCH_STANDARD_API(managed_api_function) \r
{\r
mono_thread_attach(globals.domain);\r
\r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
-SWITCH_STANDARD_APP(mono_app_function) \r
+SWITCH_STANDARD_APP(managed_app_function) \r
{\r
mono_thread_attach(globals.domain);\r
\r
\r
#ifdef _MANAGED\r
\r
-#include <switch.h>\r
#include <mscoree.h>\r
\r
using namespace System;\r
\r
SWITCH_BEGIN_EXTERN_C \r
\r
-#include "freeswitch_managed.h"\r
-\r
-#define MOD_DOTNET_MANAGED_DLL "mod_managed_lib.dll"\r
-\r
struct dotnet_conf_t {\r
switch_memory_pool_t *pool;\r
//ICLRRuntimeHost *pCorRuntime;\r
//char *cor_version;\r
} globals;\r
\r
-SWITCH_MODULE_LOAD_FUNCTION(mod_managed_load);\r
-SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_managed_shutdown);\r
-SWITCH_MODULE_DEFINITION(mod_managed, mod_managed_load, mod_managed_shutdown, NULL);\r
-SWITCH_STANDARD_API(dotnetrun_api_function); /* ExecuteBackground */\r
-SWITCH_STANDARD_API(dotnet_api_function); /* Execute */\r
-SWITCH_STANDARD_APP(dotnet_app_function); /* Run */\r
-\r
// Sets up delegates (and anything else needed) on the ManagedSession object\r
// Called from ManagedSession.Initialize Managed -> this is Unmanaged code so all pointers are marshalled and prevented from GC\r
// Exported method.\r
{\r
/* Find and load mod_dotnet_managed.dll */ \r
char filename[256];\r
- switch_snprintf(filename, 256, "%s%s%s", SWITCH_GLOBAL_dirs.mod_dir, SWITCH_PATH_SEPARATOR, MOD_DOTNET_MANAGED_DLL);\r
+ switch_snprintf(filename, 256, "%s%s%s", SWITCH_GLOBAL_dirs.mod_dir, SWITCH_PATH_SEPARATOR, MOD_MANAGED_DLL);\r
\r
//HRESULT hr;\r
//wchar_t wCORVersion[256];\r
switch_api_interface_t *api_interface;\r
switch_application_interface_t *app_interface;\r
\r
- SWITCH_ADD_API(api_interface, "managedrun", "Run a module (ExecuteBackground)", dotnetrun_api_function, "<module> [<args>]");\r
- SWITCH_ADD_API(api_interface, "managed", "Run a module as an API function (Execute)", dotnet_api_function, "<module> [<args>]");\r
- SWITCH_ADD_APP(app_interface, "managed", "Run CLI App", "Run an App on a channel", dotnet_app_function, "<modulename> [<args>]", SAF_NONE);\r
+ SWITCH_ADD_API(api_interface, "managedrun", "Run a module (ExecuteBackground)", managedrun_api_function, "<module> [<args>]");\r
+ SWITCH_ADD_API(api_interface, "managed", "Run a module as an API function (Execute)", managed_api_function, "<module> [<args>]");\r
+ SWITCH_ADD_APP(app_interface, "managed", "Run CLI App", "Run an App on a channel", managed_app_function, "<modulename> [<args>]", SAF_NONE);\r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
\r
-SWITCH_STANDARD_API(dotnetrun_api_function) \r
+SWITCH_STANDARD_API(managedrun_api_function) \r
{\r
if (switch_strlen_zero(cmd)) {\r
stream->write_function(stream, "-ERR no args specified!\n"); \r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
-SWITCH_STANDARD_API(dotnet_api_function) \r
+SWITCH_STANDARD_API(managed_api_function) \r
{\r
if (switch_strlen_zero(cmd)) {\r
stream->write_function(stream, "-ERR no args specified!\n"); \r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
-SWITCH_STANDARD_APP(dotnet_app_function) \r
+SWITCH_STANDARD_APP(managed_app_function) \r
{\r
if (switch_strlen_zero(data)) {\r
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No args specified!\n");\r