-LOCAL_INSERT_CFLAGS= /usr/bin/pkg-config mono --cflags\r
-LOCAL_INSERT_LDFLAGS= /usr/bin/pkg-config mono --libs\r
-#MOD_CFLAGS=-D_REENTRANT -pthread -I/opt/mono-1.9/lib/pkgconfig/../../include/mono-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lmono\r
+LOCAL_INSERT_CFLAGS= /usr/bin/pkg-config mono-2 --cflags\r
+LOCAL_INSERT_LDFLAGS= /usr/bin/pkg-config mono-2 --libs\r
+#MOD_CFLAGS=-D_REENTRANT -pthread -I/usr/lib/mono -lmono\r
BASE=../../../..\r
VERBOSE=1\r
include $(BASE)/build/modmake.rules\r
rm -f *.cs\r
\r
depend_install:\r
- mkdir -p $(DESTDIR)$(modulesdir)/managed\r
+ mkdir -p $(DESTDIR)$(modulesdir)/managed
\ No newline at end of file
\r
/* Callback for returning strings to C# without leaking memory */\r
#ifndef _MANAGED\r
-#include <glib.h>\r
#include <mono/jit/jit.h>\r
#include <mono/metadata/environment.h>\r
#include <mono/metadata/mono-config.h>\r
%include switch_scheduler.h\r
%include switch_config.h\r
%include switch_cpp.h\r
-%include freeswitch_managed.h\r
+%include freeswitch_managed.h
\ No newline at end of file
typedef char *(*inputFunction) (void *, switch_input_type_t);
#ifndef _MANAGED
-#include <glib.h>
#include <mono/jit/jit.h>
#include <mono/metadata/assembly.h>
#include <mono/metadata/environment.h>
#ifdef WIN32
#define RESULT_FREE(x) CoTaskMemFree(x)
#else
-#define RESULT_FREE(x) g_free(x)
+#define RESULT_FREE(x) mono_free(x)
#endif
SWITCH_END_EXTERN_C
hangupFunction hangupDelegate;
};
-#endif
+#endif
\ No newline at end of file
/* Callback for returning strings to C# without leaking memory */
#ifndef _MANAGED
-#include <glib.h>
#include <mono/jit/jit.h>
#include <mono/metadata/environment.h>
#include <mono/metadata/mono-config.h>
#ifdef __cplusplus
}
#endif
-
// So linux can find the .so\r
char xmlConfig[300];\r
switch_snprintf(xmlConfig, 300, "<configuration><dllmap dll=\"mod_managed\" target=\"%s%smod_managed.so\"/></configuration>", SWITCH_GLOBAL_dirs.mod_dir, SWITCH_PATH_SEPARATOR);\r
+ mono_config_parse(NULL);\r
mono_config_parse_memory(xmlConfig);\r
#endif\r
\r
}\r
\r
/* Already loaded? */\r
- MonoAssemblyName name;\r
- name.name = MOD_MANAGED_ASM_NAME;\r
- name.major = MOD_MANAGED_ASM_V1;\r
- name.minor = MOD_MANAGED_ASM_V2;\r
- name.revision = MOD_MANAGED_ASM_V3;\r
- name.build = MOD_MANAGED_ASM_V4;\r
- name.culture = "";\r
- name.hash_value = "";\r
-\r
+ MonoAssemblyName *name = mono_assembly_name_new (MOD_MANAGED_ASM_NAME);\r
+ //Note also that it can't be allocated on the stack anymore and you'll need to create and destroy it with the following API:\r
+ //mono_assembly_name_free (name);\r
+ \r
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_assembly_loaded.\n");\r
\r
- if (!(globals.mod_mono_asm = mono_assembly_loaded(&name))) {\r
+ if (!(globals.mod_mono_asm = mono_assembly_loaded(name))) {\r
/* Open the assembly */ \r
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_domain_assembly_open.\n");\r
globals.mod_mono_asm = mono_domain_assembly_open(globals.domain, filename);\r
return SWITCH_STATUS_SUCCESS;\r
}\r
\r
-SWITCH_END_EXTERN_C\r
+SWITCH_END_EXTERN_C
\ No newline at end of file