<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[Freeswitch-trunk][15567] </title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<div id="header">FreeSWITCH Subversion</div>
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://fisheye.freeswitch.org/changelog/FreeSWITCH?cs=15567">15567</a></dd>
<dt>Author</dt> <dd>anthm</dd>
<dt>Date</dt> <dd>2009-11-19 20:43:37 -0600 (Thu, 19 Nov 2009)</dd>
</dl>

<h3>Log Message</h3>
<pre>swig</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#freeswitchtrunksrcincludeswitch_coreh">freeswitch/trunk/src/include/switch_core.h</a></li>
<li><a href="#freeswitchtrunksrcmodlanguagesmod_managedfreeswitch_wrapcxx">freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx</a></li>
<li><a href="#freeswitchtrunksrcmodlanguagesmod_managedmanagedswigcs">freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs</a></li>
<li><a href="#freeswitchtrunksrcmodlanguagesmod_perlmod_perl_wrapcpp">freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="freeswitchtrunksrcincludeswitch_coreh"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/src/include/switch_core.h (15566 => 15567)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/src/include/switch_core.h        2009-11-20 02:41:32 UTC (rev 15566)
+++ freeswitch/trunk/src/include/switch_core.h        2009-11-20 02:43:37 UTC (rev 15567)
</span><span class="lines">@@ -1943,7 +1943,7 @@
</span><span class="cx"> SWITCH_DECLARE(switch_status_t) switch_cache_db_execute_sql_callback(switch_cache_db_handle_t *dbh, const char *sql, 
</span><span class="cx">                                                                                                                                          switch_core_db_callback_func_t callback, void *pdata, char **err);
</span><span class="cx"> 
</span><del>-SWITCH_DECLARE(switch_status_t)switch_core_db_handle(switch_cache_db_handle_t **dbh);
</del><ins>+SWITCH_DECLARE(switch_status_t) switch_core_db_handle(switch_cache_db_handle_t **dbh);
</ins><span class="cx"> SWITCH_DECLARE(void) switch_cache_db_test_reactive(switch_cache_db_handle_t *db, const char *test_sql, const char *drop_sql, const char *reactive_sql);
</span><span class="cx"> SWITCH_DECLARE(switch_status_t) switch_cache_db_persistant_execute(switch_cache_db_handle_t *dbh, const char *sql, uint32_t retries);
</span><span class="cx"> SWITCH_DECLARE(switch_status_t) switch_cache_db_persistant_execute_trans(switch_cache_db_handle_t *dbh, const char *sql, uint32_t retries);
</span></span></pre></div>
<a id="freeswitchtrunksrcmodlanguagesmod_managedfreeswitch_wrapcxx"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx (15566 => 15567)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx        2009-11-20 02:41:32 UTC (rev 15566)
+++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx        2009-11-20 02:43:37 UTC (rev 15567)
</span><span class="lines">@@ -355,6 +355,17 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ENT_ORIGINATE_DELIM_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) &quot;:_:&quot;;
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BLANK_STRING_get() {
</span><span class="cx">   char * jresult ;
</span><span class="cx">   char *result = 0 ;
</span><span class="lines">@@ -6681,7 +6692,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_outgoing_channel(void * jarg1, void * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7) {
</del><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_outgoing_channel(void * jarg1, void * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7, void * jarg8) {
</ins><span class="cx">   int jresult ;
</span><span class="cx">   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
</span><span class="cx">   switch_event_t *arg2 = (switch_event_t *) 0 ;
</span><span class="lines">@@ -6690,6 +6701,7 @@
</span><span class="cx">   switch_core_session_t **arg5 = (switch_core_session_t **) 0 ;
</span><span class="cx">   switch_memory_pool_t **arg6 = (switch_memory_pool_t **) 0 ;
</span><span class="cx">   switch_originate_flag_t arg7 ;
</span><ins>+  switch_call_cause_t *arg8 = (switch_call_cause_t *) 0 ;
</ins><span class="cx">   switch_call_cause_t result;
</span><span class="cx">   
</span><span class="cx">   arg1 = (switch_core_session_t *)jarg1; 
</span><span class="lines">@@ -6699,7 +6711,8 @@
</span><span class="cx">   arg5 = (switch_core_session_t **)jarg5; 
</span><span class="cx">   arg6 = (switch_memory_pool_t **)jarg6; 
</span><span class="cx">   arg7 = (switch_originate_flag_t)jarg7; 
</span><del>-  result = (switch_call_cause_t)switch_core_session_outgoing_channel(arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
</del><ins>+  arg8 = (switch_call_cause_t *)jarg8; 
+  result = (switch_call_cause_t)switch_core_session_outgoing_channel(arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
</ins><span class="cx">   jresult = result; 
</span><span class="cx">   return jresult;
</span><span class="cx"> }
</span><span class="lines">@@ -7633,7 +7646,7 @@
</span><span class="cx">   switch_core_db_t *result = 0 ;
</span><span class="cx">   
</span><span class="cx">   arg1 = (char *)jarg1; 
</span><del>-  result = (switch_core_db_t *)switch_core_db_open_file(arg1);
</del><ins>+  result = (switch_core_db_t *)switch_core_db_open_file((char const *)arg1);
</ins><span class="cx">   jresult = (void *)result; 
</span><span class="cx">   return jresult;
</span><span class="cx"> }
</span><span class="lines">@@ -7655,6 +7668,22 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_persistant_execute_trans(void * jarg1, char * jarg2, unsigned long jarg3) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  uint32_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  result = (switch_status_t)switch_core_db_persistant_execute_trans(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_test_reactive(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
</span><span class="cx">   switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
</span><span class="cx">   char *arg2 = (char *) 0 ;
</span><span class="lines">@@ -7669,17 +7698,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CORE_DB_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) &quot;core&quot;;
-  
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
</del><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_file_open(char * jarg1, char * jarg2, int jarg3, void * jarg4, char * jarg5, unsigned char jarg6, unsigned long jarg7, unsigned int jarg8, void * jarg9) {
</span><span class="cx">   int jresult ;
</span><span class="cx">   char *arg1 = (char *) 0 ;
</span><span class="lines">@@ -7802,6 +7820,20 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_truncate(void * jarg1, long long jarg2) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  int64_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  arg2 = (int64_t)jarg2; 
+  result = (switch_status_t)switch_core_file_truncate(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, void * jarg6, void * jarg7) {
</span><span class="cx">   int jresult ;
</span><span class="cx">   switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
</span><span class="lines">@@ -8696,6 +8728,338 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_CACHE_DB_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 256;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_name_set(void * jarg1, char * jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1-&gt;name, (const char *)arg2, 256);
+    else arg1-&gt;name[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_cache_db_handle_t_name_get(void * jarg1) {
+  char * jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result = (char *)(char *) ((arg1)-&gt;name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_db_set(void * jarg1, void * jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_core_db_t *arg2 = (switch_core_db_t *) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (switch_core_db_t *)jarg2; 
+  if (arg1) (arg1)-&gt;db = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_handle_t_db_get(void * jarg1) {
+  void * jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_core_db_t *result = 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result = (switch_core_db_t *) ((arg1)-&gt;db);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_odbc_dbh_set(void * jarg1, void * jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_odbc_handle_t *arg2 = (switch_odbc_handle_t *) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (switch_odbc_handle_t *)jarg2; 
+  if (arg1) (arg1)-&gt;odbc_dbh = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_handle_t_odbc_dbh_get(void * jarg1) {
+  void * jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_odbc_handle_t *result = 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result = (switch_odbc_handle_t *) ((arg1)-&gt;odbc_dbh);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_last_used_set(void * jarg1, void * jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  time_t arg2 ;
+  time_t *argp2 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  argp2 = (time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, &quot;Attempt to dereference null time_t&quot;, 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)-&gt;last_used = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_handle_t_last_used_get(void * jarg1) {
+  void * jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  time_t result;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result =  ((arg1)-&gt;last_used);
+  jresult = new time_t((time_t &amp;)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_mutex_set(void * jarg1, void * jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (switch_mutex_t *)jarg2; 
+  if (arg1) (arg1)-&gt;mutex = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_handle_t_mutex_get(void * jarg1) {
+  void * jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_mutex_t *result = 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result = (switch_mutex_t *) ((arg1)-&gt;mutex);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_pool_set(void * jarg1, void * jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)-&gt;pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_handle_t_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)-&gt;pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_handle_t_flags_set(void * jarg1, int jarg2) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  int32_t arg2 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (int32_t)jarg2; 
+  if (arg1) (arg1)-&gt;flags = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_handle_t_flags_get(void * jarg1) {
+  int jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  int32_t result;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  result = (int32_t) ((arg1)-&gt;flags);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_cache_db_handle_t() {
+  void * jresult ;
+  switch_cache_db_handle_t *result = 0 ;
+  
+  result = (switch_cache_db_handle_t *)new switch_cache_db_handle_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_cache_db_handle_t(void * jarg1) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_release_db_handle(void * jarg1) {
+  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t **)jarg1; 
+  switch_cache_db_release_db_handle(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_destroy_db_handle(void * jarg1) {
+  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t **)jarg1; 
+  switch_cache_db_destroy_db_handle(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_get_db_handle(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_cache_db_handle_t **)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_cache_db_get_db_handle(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_execute_sql(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char **arg3 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_status_t)switch_cache_db_execute_sql(arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_execute_sql_callback(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
+  void *arg4 = (void *) 0 ;
+  char **arg5 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_core_db_callback_func_t)jarg3; 
+  arg4 = (void *)jarg4; 
+  arg5 = (char **)jarg5; 
+  result = (switch_status_t)switch_cache_db_execute_sql_callback(arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_handle(void * jarg1) {
+  int jresult ;
+  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_cache_db_handle_t **)jarg1; 
+  result = (switch_status_t)switch_core_db_handle(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_test_reactive(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  switch_cache_db_test_reactive(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_persistant_execute(void * jarg1, char * jarg2, unsigned long jarg3) {
+  int jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  uint32_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  result = (switch_status_t)switch_cache_db_persistant_execute(arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_persistant_execute_trans(void * jarg1, char * jarg2, unsigned long jarg3) {
+  int jresult ;
+  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  uint32_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_cache_db_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  result = (switch_status_t)switch_cache_db_persistant_execute_trans(arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_detach() {
+  switch_cache_db_detach();
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CMD_CHUNK_LEN_get() {
</span><span class="cx">   int jresult ;
</span><span class="cx">   int result;
</span><span class="lines">@@ -8926,6 +9290,18 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_zstr(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  result = (int)zstr((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_moh(char * jarg1) {
</span><span class="cx">   int jresult ;
</span><span class="cx">   char *arg1 = (char *) 0 ;
</span><span class="lines">@@ -9270,6 +9646,18 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_sanitize_number(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_sanitize_number(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_switch_string_var_check(char * jarg1, int jarg2) {
</span><span class="cx">   int jresult ;
</span><span class="cx">   char *arg1 = (char *) 0 ;
</span><span class="lines">@@ -9400,6 +9788,24 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_separate_string_string(char * jarg1, char * jarg2, void * jarg3, unsigned int jarg4) {
+  unsigned int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char **arg3 = (char **) 0 ;
+  unsigned int arg4 ;
+  unsigned int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char **)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  result = (unsigned int)switch_separate_string_string(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_number(char * jarg1) {
</span><span class="cx">   int jresult ;
</span><span class="cx">   char *arg1 = (char *) 0 ;
</span><span class="lines">@@ -13398,6 +13804,29 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_truncate_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,int64_t) = (switch_status_t (*)(switch_file_handle_t *,int64_t)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,int64_t))jarg2; 
+  if (arg1) (arg1)-&gt;file_truncate = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_truncate_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,int64_t) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,int64_t)) ((arg1)-&gt;file_truncate);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_read_set(void * jarg1, void * jarg2) {
</span><span class="cx">   switch_file_interface *arg1 = (switch_file_interface *) 0 ;
</span><span class="cx">   switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
</span><span class="lines">@@ -22892,7 +23321,7 @@
</span><span class="cx">   arg2 = (char *)jarg2; 
</span><span class="cx">   arg3 = (int32_t)jarg3; 
</span><span class="cx">   arg4 = (switch_input_args_t *)jarg4; 
</span><del>-  result = (switch_status_t)switch_ivr_gentones(arg1,arg2,arg3,arg4);
</del><ins>+  result = (switch_status_t)switch_ivr_gentones(arg1,(char const *)arg2,arg3,arg4);
</ins><span class="cx">   jresult = result; 
</span><span class="cx">   return jresult;
</span><span class="cx"> }
</span><span class="lines">@@ -23002,7 +23431,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_originate(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, void * jarg10, unsigned long jarg11) {
</del><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_originate(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, void * jarg10, unsigned long jarg11, void * jarg12) {
</ins><span class="cx">   int jresult ;
</span><span class="cx">   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
</span><span class="cx">   switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
</span><span class="lines">@@ -23015,6 +23444,7 @@
</span><span class="cx">   switch_caller_profile_t *arg9 = (switch_caller_profile_t *) 0 ;
</span><span class="cx">   switch_event_t *arg10 = (switch_event_t *) 0 ;
</span><span class="cx">   switch_originate_flag_t arg11 ;
</span><ins>+  switch_call_cause_t *arg12 = (switch_call_cause_t *) 0 ;
</ins><span class="cx">   switch_status_t result;
</span><span class="cx">   
</span><span class="cx">   arg1 = (switch_core_session_t *)jarg1; 
</span><span class="lines">@@ -23028,12 +23458,45 @@
</span><span class="cx">   arg9 = (switch_caller_profile_t *)jarg9; 
</span><span class="cx">   arg10 = (switch_event_t *)jarg10; 
</span><span class="cx">   arg11 = (switch_originate_flag_t)jarg11; 
</span><del>-  result = (switch_status_t)switch_ivr_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11);
</del><ins>+  arg12 = (switch_call_cause_t *)jarg12; 
+  result = (switch_status_t)switch_ivr_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12);
</ins><span class="cx">   jresult = result; 
</span><span class="cx">   return jresult;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_enterprise_originate(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, void * jarg10, unsigned long jarg11) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
+  switch_call_cause_t *arg3 = (switch_call_cause_t *) 0 ;
+  char *arg4 = (char *) 0 ;
+  uint32_t arg5 ;
+  switch_state_handler_table_t *arg6 = (switch_state_handler_table_t *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  switch_caller_profile_t *arg9 = (switch_caller_profile_t *) 0 ;
+  switch_event_t *arg10 = (switch_event_t *) 0 ;
+  switch_originate_flag_t arg11 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t **)jarg2; 
+  arg3 = (switch_call_cause_t *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (switch_state_handler_table_t *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (switch_caller_profile_t *)jarg9; 
+  arg10 = (switch_event_t *)jarg10; 
+  arg11 = (switch_originate_flag_t)jarg11; 
+  result = (switch_status_t)switch_ivr_enterprise_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_bridge_display(void * jarg1, void * jarg2) {
</span><span class="cx">   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
</span><span class="cx">   switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
</span></span></pre></div>
<a id="freeswitchtrunksrcmodlanguagesmod_managedmanagedswigcs"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (15566 => 15567)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs        2009-11-20 02:41:32 UTC (rev 15566)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs        2009-11-20 02:43:37 UTC (rev 15567)
</span><span class="lines">@@ -70,6 +70,21 @@
</span><span class="cx"> 
</span><span class="cx"> namespace FreeSWITCH.Native {
</span><span class="cx"> 
</span><ins>+public enum cache_db_flag_t {
+  CDF_INUSE = (1 &lt;&lt; 0)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
</ins><span class="cx"> using System;
</span><span class="cx"> using System.Runtime.InteropServices;
</span><span class="cx"> 
</span><span class="lines">@@ -1367,8 +1382,8 @@
</span><span class="cx">     freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags);
</del><ins>+  public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags, SWIGTYPE_p_switch_call_cause_t cancel_cause) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags, SWIGTYPE_p_switch_call_cause_t.getCPtr(cancel_cause));
</ins><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><span class="lines">@@ -1705,6 +1720,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static switch_status_t switch_core_db_persistant_execute_trans(SWIGTYPE_p_sqlite3 db, string sql, uint retries) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute_trans(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries);
+    return ret;
+  }
+
</ins><span class="cx">   public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) {
</span><span class="cx">     freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql);
</span><span class="cx">   }
</span><span class="lines">@@ -1744,6 +1764,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static switch_status_t switch_core_file_truncate(switch_file_handle fh, long offset) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_truncate(switch_file_handle.getCPtr(fh), offset);
+    return ret;
+  }
+
</ins><span class="cx">   public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
</span><span class="cx">     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
</span><span class="cx">     return ret;
</span><span class="lines">@@ -2079,6 +2104,52 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static void switch_cache_db_release_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t dbh) {
+    freeswitchPINVOKE.switch_cache_db_release_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t.getCPtr(dbh));
+  }
+
+  public static void switch_cache_db_destroy_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t dbh) {
+    freeswitchPINVOKE.switch_cache_db_destroy_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t.getCPtr(dbh));
+  }
+
+  public static switch_status_t switch_cache_db_get_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t dbh, string db_name, string odbc_user, string odbc_pass) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_get_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t.getCPtr(dbh), db_name, odbc_user, odbc_pass);
+    return ret;
+  }
+
+  public static switch_status_t switch_cache_db_execute_sql(switch_cache_db_handle_t dbh, string sql, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_execute_sql(switch_cache_db_handle_t.getCPtr(dbh), sql, ref err);
+    return ret;
+  }
+
+  public static switch_status_t switch_cache_db_execute_sql_callback(switch_cache_db_handle_t dbh, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void pdata, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_execute_sql_callback(switch_cache_db_handle_t.getCPtr(dbh), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(pdata), ref err);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t dbh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_handle(SWIGTYPE_p_p_switch_cache_db_handle_t.getCPtr(dbh));
+    return ret;
+  }
+
+  public static void switch_cache_db_test_reactive(switch_cache_db_handle_t db, string test_sql, string drop_sql, string reactive_sql) {
+    freeswitchPINVOKE.switch_cache_db_test_reactive(switch_cache_db_handle_t.getCPtr(db), test_sql, drop_sql, reactive_sql);
+  }
+
+  public static switch_status_t switch_cache_db_persistant_execute(switch_cache_db_handle_t dbh, string sql, uint retries) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_persistant_execute(switch_cache_db_handle_t.getCPtr(dbh), sql, retries);
+    return ret;
+  }
+
+  public static switch_status_t switch_cache_db_persistant_execute_trans(switch_cache_db_handle_t dbh, string sql, uint retries) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_persistant_execute_trans(switch_cache_db_handle_t.getCPtr(dbh), sql, retries);
+    return ret;
+  }
+
+  public static void switch_cache_db_detach() {
+    freeswitchPINVOKE.switch_cache_db_detach();
+  }
+
</ins><span class="cx">   public static void switch_console_loop() {
</span><span class="cx">     freeswitchPINVOKE.switch_console_loop();
</span><span class="cx">   }
</span><span class="lines">@@ -2159,6 +2230,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static int zstr(string s) {
+    int ret = freeswitchPINVOKE.zstr(s);
+    return ret;
+  }
+
</ins><span class="cx">   public static switch_bool_t switch_is_moh(string s) {
</span><span class="cx">     switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s);
</span><span class="cx">     return ret;
</span><span class="lines">@@ -2266,6 +2342,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static string switch_sanitize_number(string number) {
+    string ret = freeswitchPINVOKE.switch_sanitize_number(number);
+    return ret;
+  }
+
</ins><span class="cx">   public static switch_bool_t switch_string_var_check(string s, switch_bool_t disable) {
</span><span class="cx">     switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check(s, (int)disable);
</span><span class="cx">     return ret;
</span><span class="lines">@@ -2316,6 +2397,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static uint switch_separate_string_string(string buf, string delim, ref string array, uint arraylen) {
+    uint ret = freeswitchPINVOKE.switch_separate_string_string(buf, delim, ref array, arraylen);
+    return ret;
+  }
+
</ins><span class="cx">   public static switch_bool_t switch_is_number(string str) {
</span><span class="cx">     switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str);
</span><span class="cx">     return ret;
</span><span class="lines">@@ -3384,11 +3470,16 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags);
</del><ins>+  public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags, SWIGTYPE_p_switch_call_cause_t cancel_cause) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags, SWIGTYPE_p_switch_call_cause_t.getCPtr(cancel_cause));
</ins><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static switch_status_t switch_ivr_enterprise_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_enterprise_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags);
+    return ret;
+  }
+
</ins><span class="cx">   public static void switch_ivr_bridge_display(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
</span><span class="cx">     freeswitchPINVOKE.switch_ivr_bridge_display(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
</span><span class="cx">   }
</span><span class="lines">@@ -4366,6 +4457,7 @@
</span><span class="cx">   public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get();
</span><span class="cx">   public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get();
</span><span class="cx">   public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get();
</span><ins>+  public static readonly string SWITCH_ENT_ORIGINATE_DELIM = freeswitchPINVOKE.SWITCH_ENT_ORIGINATE_DELIM_get();
</ins><span class="cx">   public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get();
</span><span class="cx">   public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get();
</span><span class="cx">   public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get();
</span><span class="lines">@@ -4532,7 +4624,7 @@
</span><span class="cx">   public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
</span><span class="cx">   public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get();
</span><span class="cx">   public static readonly int MESSAGE_STRING_ARG_MAX = freeswitchPINVOKE.MESSAGE_STRING_ARG_MAX_get();
</span><del>-  public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get();
</del><ins>+  public static readonly int CACHE_DB_LEN = freeswitchPINVOKE.CACHE_DB_LEN_get();
</ins><span class="cx">   public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get();
</span><span class="cx">   public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get();
</span><span class="cx">   public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get();
</span><span class="lines">@@ -4749,6 +4841,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp___BSD_VISIBLE_get&quot;)]
</span><span class="cx">   public static extern int __BSD_VISIBLE_get();
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_ENT_ORIGINATE_DELIM_get&quot;)]
+  public static extern string SWITCH_ENT_ORIGINATE_DELIM_get();
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_BLANK_STRING_get&quot;)]
</span><span class="cx">   public static extern string SWITCH_BLANK_STRING_get();
</span><span class="cx"> 
</span><span class="lines">@@ -6316,7 +6411,7 @@
</span><span class="cx">   public static extern void switch_core_service_session(HandleRef jarg1);
</span><span class="cx"> 
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_session_outgoing_channel&quot;)]
</span><del>-  public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7);
</del><ins>+  public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7, HandleRef jarg8);
</ins><span class="cx"> 
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_session_resurrect_channel&quot;)]
</span><span class="cx">   public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
</span><span class="lines">@@ -6516,12 +6611,12 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_db_persistant_execute&quot;)]
</span><span class="cx">   public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_db_persistant_execute_trans&quot;)]
+  public static extern int switch_core_db_persistant_execute_trans(HandleRef jarg1, string jarg2, uint jarg3);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_db_test_reactive&quot;)]
</span><span class="cx">   public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
</span><span class="cx"> 
</span><del>-  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_CORE_DB_get&quot;)]
-  public static extern string SWITCH_CORE_DB_get();
-
</del><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_perform_file_open&quot;)]
</span><span class="cx">   public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9);
</span><span class="cx"> 
</span><span class="lines">@@ -6543,6 +6638,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_file_close&quot;)]
</span><span class="cx">   public static extern int switch_core_file_close(HandleRef jarg1);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_file_truncate&quot;)]
+  public static extern int switch_core_file_truncate(HandleRef jarg1, long jarg2);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_speech_open&quot;)]
</span><span class="cx">   public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7);
</span><span class="cx"> 
</span><span class="lines">@@ -6750,6 +6848,87 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_ivr_preprocess_session&quot;)]
</span><span class="cx">   public static extern int switch_ivr_preprocess_session(HandleRef jarg1, string jarg2);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_CACHE_DB_LEN_get&quot;)]
+  public static extern int CACHE_DB_LEN_get();
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_name_set&quot;)]
+  public static extern void switch_cache_db_handle_t_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_name_get&quot;)]
+  public static extern string switch_cache_db_handle_t_name_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_db_set&quot;)]
+  public static extern void switch_cache_db_handle_t_db_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_db_get&quot;)]
+  public static extern IntPtr switch_cache_db_handle_t_db_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_odbc_dbh_set&quot;)]
+  public static extern void switch_cache_db_handle_t_odbc_dbh_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_odbc_dbh_get&quot;)]
+  public static extern IntPtr switch_cache_db_handle_t_odbc_dbh_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_last_used_set&quot;)]
+  public static extern void switch_cache_db_handle_t_last_used_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_last_used_get&quot;)]
+  public static extern IntPtr switch_cache_db_handle_t_last_used_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_mutex_set&quot;)]
+  public static extern void switch_cache_db_handle_t_mutex_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_mutex_get&quot;)]
+  public static extern IntPtr switch_cache_db_handle_t_mutex_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_pool_set&quot;)]
+  public static extern void switch_cache_db_handle_t_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_pool_get&quot;)]
+  public static extern IntPtr switch_cache_db_handle_t_pool_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_flags_set&quot;)]
+  public static extern void switch_cache_db_handle_t_flags_set(HandleRef jarg1, int jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_handle_t_flags_get&quot;)]
+  public static extern int switch_cache_db_handle_t_flags_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_new_switch_cache_db_handle_t&quot;)]
+  public static extern IntPtr new_switch_cache_db_handle_t();
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_delete_switch_cache_db_handle_t&quot;)]
+  public static extern void delete_switch_cache_db_handle_t(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_release_db_handle&quot;)]
+  public static extern void switch_cache_db_release_db_handle(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_destroy_db_handle&quot;)]
+  public static extern void switch_cache_db_destroy_db_handle(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_get_db_handle&quot;)]
+  public static extern int switch_cache_db_get_db_handle(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_execute_sql&quot;)]
+  public static extern int switch_cache_db_execute_sql(HandleRef jarg1, string jarg2, ref string jarg3);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_execute_sql_callback&quot;)]
+  public static extern int switch_cache_db_execute_sql_callback(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_db_handle&quot;)]
+  public static extern int switch_core_db_handle(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_test_reactive&quot;)]
+  public static extern void switch_cache_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_persistant_execute&quot;)]
+  public static extern int switch_cache_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_persistant_execute_trans&quot;)]
+  public static extern int switch_cache_db_persistant_execute_trans(HandleRef jarg1, string jarg2, uint jarg3);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_cache_db_detach&quot;)]
+  public static extern void switch_cache_db_detach();
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_CMD_CHUNK_LEN_get&quot;)]
</span><span class="cx">   public static extern int SWITCH_CMD_CHUNK_LEN_get();
</span><span class="cx"> 
</span><span class="lines">@@ -6807,6 +6986,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_SMIN_get&quot;)]
</span><span class="cx">   public static extern int SWITCH_SMIN_get();
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_zstr&quot;)]
+  public static extern int zstr(string jarg1);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_is_moh&quot;)]
</span><span class="cx">   public static extern int switch_is_moh(string jarg1);
</span><span class="cx"> 
</span><span class="lines">@@ -6867,6 +7049,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_char_to_rfc2833&quot;)]
</span><span class="cx">   public static extern byte switch_char_to_rfc2833(char jarg1);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_sanitize_number&quot;)]
+  public static extern string switch_sanitize_number(string jarg1);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_string_var_check&quot;)]
</span><span class="cx">   public static extern int switch_string_var_check(string jarg1, int jarg2);
</span><span class="cx"> 
</span><span class="lines">@@ -6897,6 +7082,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_separate_string&quot;)]
</span><span class="cx">   public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_separate_string_string&quot;)]
+  public static extern uint switch_separate_string_string(string jarg1, string jarg2, ref string jarg3, uint jarg4);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_is_number&quot;)]
</span><span class="cx">   public static extern int switch_is_number(string jarg1);
</span><span class="cx"> 
</span><span class="lines">@@ -7863,6 +8051,12 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_file_interface_file_close_get&quot;)]
</span><span class="cx">   public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_file_interface_file_truncate_set&quot;)]
+  public static extern void switch_file_interface_file_truncate_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_file_interface_file_truncate_get&quot;)]
+  public static extern IntPtr switch_file_interface_file_truncate_get(HandleRef jarg1);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_file_interface_file_read_set&quot;)]
</span><span class="cx">   public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2);
</span><span class="cx"> 
</span><span class="lines">@@ -10153,8 +10347,11 @@
</span><span class="cx">   public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);
</span><span class="cx"> 
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_ivr_originate&quot;)]
</span><del>-  public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11);
</del><ins>+  public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11, HandleRef jarg12);
</ins><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_ivr_enterprise_originate&quot;)]
+  public static extern int switch_ivr_enterprise_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_ivr_bridge_display&quot;)]
</span><span class="cx">   public static extern void switch_ivr_bridge_display(HandleRef jarg1, HandleRef jarg2);
</span><span class="cx"> 
</span><span class="lines">@@ -12930,18 +13127,18 @@
</span><span class="cx"> using System;
</span><span class="cx"> using System.Runtime.InteropServices;
</span><span class="cx"> 
</span><del>-public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t {
</del><ins>+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t {
</ins><span class="cx">   private HandleRef swigCPtr;
</span><span class="cx"> 
</span><del>-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
</del><ins>+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
</ins><span class="cx">     swigCPtr = new HandleRef(this, cPtr);
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() {
</del><ins>+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t() {
</ins><span class="cx">     swigCPtr = new HandleRef(null, IntPtr.Zero);
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) {
</del><ins>+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t obj) {
</ins><span class="cx">     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
</span><span class="cx">   }
</span><span class="cx"> }
</span><span class="lines">@@ -13380,6 +13577,36 @@
</span><span class="cx"> using System;
</span><span class="cx"> using System.Runtime.InteropServices;
</span><span class="cx"> 
</span><ins>+public class SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+using System;
+using System.Runtime.InteropServices;
+
</ins><span class="cx"> public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t {
</span><span class="cx">   private HandleRef swigCPtr;
</span><span class="cx"> 
</span><span class="lines">@@ -14370,6 +14597,36 @@
</span><span class="cx"> using System;
</span><span class="cx"> using System.Runtime.InteropServices;
</span><span class="cx"> 
</span><ins>+public class SWIGTYPE_p_p_switch_cache_db_handle_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_cache_db_handle_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_cache_db_handle_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_cache_db_handle_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+using System;
+using System.Runtime.InteropServices;
+
</ins><span class="cx"> public class SWIGTYPE_p_p_switch_caller_extension {
</span><span class="cx">   private HandleRef swigCPtr;
</span><span class="cx"> 
</span><span class="lines">@@ -15750,6 +16007,36 @@
</span><span class="cx"> using System;
</span><span class="cx"> using System.Runtime.InteropServices;
</span><span class="cx"> 
</span><ins>+public class SWIGTYPE_p_switch_odbc_handle {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_odbc_handle(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_odbc_handle() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_odbc_handle obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+using System;
+using System.Runtime.InteropServices;
+
</ins><span class="cx"> public class SWIGTYPE_p_switch_pollfd_t {
</span><span class="cx">   private HandleRef swigCPtr;
</span><span class="cx"> 
</span><span class="lines">@@ -17473,6 +17760,129 @@
</span><span class="cx"> 
</span><span class="cx"> namespace FreeSWITCH.Native {
</span><span class="cx"> 
</span><ins>+using System;
+using System.Runtime.InteropServices;
+
+public class switch_cache_db_handle_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_cache_db_handle_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_cache_db_handle_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_cache_db_handle_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero &amp;&amp; swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_cache_db_handle_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string name {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_cache_db_handle_t_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_sqlite3 db {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_db_set(swigCPtr, SWIGTYPE_p_sqlite3.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_handle_t_db_get(swigCPtr);
+      SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_odbc_handle odbc_dbh {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_odbc_dbh_set(swigCPtr, SWIGTYPE_p_switch_odbc_handle.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_handle_t_odbc_dbh_get(swigCPtr);
+      SWIGTYPE_p_switch_odbc_handle ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_odbc_handle(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_time_t last_used {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_last_used_set(swigCPtr, SWIGTYPE_p_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_cache_db_handle_t_last_used_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_mutex_t mutex {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_handle_t_mutex_get(swigCPtr);
+      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t pool {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_handle_t_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public int flags {
+    set {
+      freeswitchPINVOKE.switch_cache_db_handle_t_flags_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_cache_db_handle_t_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_cache_db_handle_t() : this(freeswitchPINVOKE.new_switch_cache_db_handle_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
</ins><span class="cx"> public enum switch_call_cause_t {
</span><span class="cx">   SWITCH_CAUSE_NONE = 0,
</span><span class="cx">   SWITCH_CAUSE_UNALLOCATED_NUMBER = 1,
</span><span class="lines">@@ -18249,6 +18659,7 @@
</span><span class="cx">   CF_NOT_READY,
</span><span class="cx">   CF_SIGNAL_BRIDGE_TTL,
</span><span class="cx">   CF_MEDIA_BRIDGE_TTL,
</span><ins>+  CF_BYPASS_MEDIA_AFTER_BRIDGE,
</ins><span class="cx">   CF_FLAG_MAX
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -21185,7 +21596,8 @@
</span><span class="cx">   SWITCH_FILE_OPEN = (1 &lt;&lt; 11),
</span><span class="cx">   SWITCH_FILE_CALLBACK = (1 &lt;&lt; 12),
</span><span class="cx">   SWITCH_FILE_DONE = (1 &lt;&lt; 13),
</span><del>-  SWITCH_FILE_BUFFER_DONE = (1 &lt;&lt; 14)
</del><ins>+  SWITCH_FILE_BUFFER_DONE = (1 &lt;&lt; 14),
+  SWITCH_FILE_WRITE_APPEND = (1 &lt;&lt; 15)
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="lines">@@ -21710,6 +22122,17 @@
</span><span class="cx">     } 
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t file_truncate {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_truncate_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_truncate_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
</ins><span class="cx">   public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_read {
</span><span class="cx">     set {
</span><span class="cx">       freeswitchPINVOKE.switch_file_interface_file_read_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
</span><span class="lines">@@ -23276,13 +23699,13 @@
</span><span class="cx">     }
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t outgoing_channel {
</del><ins>+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t outgoing_channel {
</ins><span class="cx">     set {
</span><del>-      freeswitchPINVOKE.switch_io_routines_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t.getCPtr(value));
</del><ins>+      freeswitchPINVOKE.switch_io_routines_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t.getCPtr(value));
</ins><span class="cx">     } 
</span><span class="cx">     get {
</span><span class="cx">       IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_outgoing_channel_get(swigCPtr);
</span><del>-      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(cPtr, false);
</del><ins>+      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t(cPtr, false);
</ins><span class="cx">       return ret;
</span><span class="cx">     } 
</span><span class="cx">   }
</span><span class="lines">@@ -24204,7 +24627,8 @@
</span><span class="cx">   SWITCH_ZRTP_FLAG_SECURE_MITM_SEND = (1 &lt;&lt; 25),
</span><span class="cx">   SWITCH_ZRTP_FLAG_SECURE_MITM_RECV = (1 &lt;&lt; 26),
</span><span class="cx">   SWITCH_RTP_FLAG_DEBUG_RTP_READ = (1 &lt;&lt; 27),
</span><del>-  SWITCH_RTP_FLAG_DEBUG_RTP_WRITE = (1 &lt;&lt; 28)
</del><ins>+  SWITCH_RTP_FLAG_DEBUG_RTP_WRITE = (1 &lt;&lt; 28),
+  SWITCH_RTP_FLAG_VIDEO = (1 &lt;&lt; 29)
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="freeswitchtrunksrcmodlanguagesmod_perlmod_perl_wrapcpp"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp (15566 => 15567)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp        2009-11-20 02:41:32 UTC (rev 15566)
+++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp        2009-11-20 02:43:37 UTC (rev 15567)
</span><span class="lines">@@ -12073,17 +12073,17 @@
</span><span class="cx">   SWIG_TypeClientData(SWIGTYPE_p_IVRMenu, (void*) &quot;freeswitch::IVRMenu&quot;);
</span><span class="cx">   SWIG_TypeClientData(SWIGTYPE_p_API, (void*) &quot;freeswitch::API&quot;);
</span><span class="cx">   SWIG_TypeClientData(SWIGTYPE_p_input_callback_state, (void*) &quot;freeswitch::input_callback_state_t&quot;);
</span><del>-  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
</del><ins>+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
</ins><span class="cx">     SV *sv = get_sv((char*) SWIG_prefix &quot;S_HUP&quot;, TRUE | 0x2 | GV_ADDMULTI);
</span><span class="cx">     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast&lt; int &gt;(S_HUP)));
</span><span class="cx">     SvREADONLY_on(sv);
</span><span class="cx">   } while(0) /*@SWIG@*/;
</span><del>-  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
</del><ins>+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
</ins><span class="cx">     SV *sv = get_sv((char*) SWIG_prefix &quot;S_FREE&quot;, TRUE | 0x2 | GV_ADDMULTI);
</span><span class="cx">     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast&lt; int &gt;(S_FREE)));
</span><span class="cx">     SvREADONLY_on(sv);
</span><span class="cx">   } while(0) /*@SWIG@*/;
</span><del>-  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
</del><ins>+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
</ins><span class="cx">     SV *sv = get_sv((char*) SWIG_prefix &quot;S_RDLOCK&quot;, TRUE | 0x2 | GV_ADDMULTI);
</span><span class="cx">     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast&lt; int &gt;(S_RDLOCK)));
</span><span class="cx">     SvREADONLY_on(sv);
</span></span></pre>
</div>
</div>
<div id="footer">See you at ClueCon</div>

</body>
</html>