Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch

This commit is contained in:
Eliot Gable 2012-10-09 13:41:22 +00:00
commit 791efc74a7
15 changed files with 70404 additions and 440 deletions

View File

@ -144,7 +144,6 @@
<param name="rtp-enable-zrtp" value="true"/>
<!-- Example DSN when using "./configure --enable-core-pgsql-support" -->
<!-- <param name="core-db-dsn" value="pgsql;hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='' options='-c client_min_messages=NOTICE' application_name='freeswitch'" /> -->
<!-- <param name="core-db-dsn" value="dsn:username:password" /> -->
<!--

View File

@ -212,6 +212,7 @@
<X-PRE-PROCESS cmd="set" data="dk-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="dz-ring=%(1500,3500,425)"/>
<X-PRE-PROCESS cmd="set" data="eg-ring=%(2000,1000,475,375)"/>
<X-PRE-PROCESS cmd="set" data="es-ring=%(1500,3000,425)"/>
<X-PRE-PROCESS cmd="set" data="fi-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440)"/>
<X-PRE-PROCESS cmd="set" data="hk-ring=%(400,200,440,480);%(400,3000,440,480)"/>

69667
patches/FS-2746.diff Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2193,11 +2193,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_chat_send(const char *dest_proto, sw
SWITCH_DECLARE(switch_status_t) switch_core_chat_deliver(const char *dest_proto, switch_event_t **message_event);
SWITCH_DECLARE(switch_status_t) switch_ivr_preprocess_session(switch_core_session_t *session, const char *cmds);
SWITCH_DECLARE(void) switch_sqldb_stop_thread(switch_sql_manager_t *sql_manager);
#define switch_core_sqldb_stop_thread() switch_sqldb_stop_thread(&switch_cache_db_sql_manager)
SWITCH_DECLARE(void) switch_sqldb_start_thread(switch_sql_manager_t *sql_manager, void *(SWITCH_THREAD_FUNC * func) (switch_thread_t *, void *),
char **post_connect_sql, int argc);
SWITCH_DECLARE(void) switch_core_sqldb_stop_thread(void);
SWITCH_DECLARE(void) switch_core_sqldb_start_thread(void);
///\}
@ -2244,6 +2240,8 @@ typedef union {
switch_cache_db_pgsql_options_t pgsql_options;
} switch_cache_db_connection_options_t;
struct switch_cache_db_handle;
typedef struct switch_cache_db_handle switch_cache_db_handle_t;
static inline const char *switch_cache_db_type_name(switch_cache_db_handle_type_t type)
{
@ -2283,9 +2281,7 @@ SWITCH_DECLARE(void) switch_cache_db_dismiss_db_handle(switch_cache_db_handle_t
other threads until the allocating thread actually terminates.
\param [in] The handle
*/
SWITCH_DECLARE(void) _switch_cache_db_release_db_handle(switch_sql_manager_t *sql_manager, switch_cache_db_handle_t ** dbh);
SWITCH_DECLARE(void) switch_cache_db_release_db_handle(switch_cache_db_handle_t ** dbh);
/*!
\brief Gets a new cached handle from the pool, potentially creating a new connection.
The connection is bound to the thread until it (the thread) terminates unless
@ -2294,19 +2290,12 @@ SWITCH_DECLARE(void) switch_cache_db_release_db_handle(switch_cache_db_handle_t
\param [in] type - ODBC or SQLLITE
\param [in] connection_options (userid, password, etc)
*/
SWITCH_DECLARE(switch_status_t) __switch_cache_db_get_db_handle(switch_sql_manager_t *sql_manager,
switch_cache_db_handle_t ** dbh,
switch_cache_db_handle_type_t type,
switch_cache_db_connection_options_t *connection_options,
const char *file, const char *func, int line);
SWITCH_DECLARE(switch_status_t) _switch_cache_db_get_db_handle(switch_cache_db_handle_t ** dbh,
switch_cache_db_handle_type_t type,
switch_cache_db_connection_options_t *connection_options,
const char *file, const char *func, int line);
#define switch_cache_db_get_db_handle(_a, _b, _c) _switch_cache_db_get_db_handle(_a, _b, _c, __FILE__, __SWITCH_FUNC__, __LINE__)
/*!
\brief Executes the sql and returns the result as a string
\param [in] dbh The handle
@ -2341,21 +2330,13 @@ SWITCH_DECLARE(switch_status_t) switch_cache_db_execute_sql_callback(switch_cach
*/
SWITCH_DECLARE(int) switch_cache_db_affected_rows(switch_cache_db_handle_t *dbh);
extern switch_sql_manager_t switch_cache_db_sql_manager;
/*!
\brief Provides some feedback as to the status of the db connection pool
\param [in] stream stream for status
*/
SWITCH_DECLARE(void) _switch_cache_db_status(switch_sql_manager_t *sql_manager, switch_stream_handle_t *stream);
SWITCH_DECLARE(void) switch_cache_db_status(switch_stream_handle_t *stream);
SWITCH_DECLARE(switch_status_t) __switch_core_db_handle(switch_sql_manager_t *sql_manager, switch_cache_db_handle_t ** dbh, const char *file, const char *func, int line);
SWITCH_DECLARE(switch_status_t) _switch_core_db_handle(switch_cache_db_handle_t ** dbh, const char *file, const char *func, int line);
#define switch_core_db_handle(_a) _switch_core_db_handle(_a, __FILE__, __SWITCH_FUNC__, __LINE__)
SWITCH_DECLARE(switch_status_t) _switch_core_recovery_db_handle(switch_sql_manager_t *sql_manager, switch_cache_db_handle_t ** dbh, const char *file, const char *func, int line);
#define switch_core_recovery_db_handle(_a) _switch_core_recovery_db_handle(&switch_cache_db_sql_manager, _a, __FILE__, __SWITCH_FUNC__, __LINE__)
SWITCH_DECLARE(switch_status_t) _switch_core_persist_db_handle(switch_sql_manager_t *sql_manager, switch_cache_db_handle_t ** dbh, const char *file, const char *func, int line);
#define switch_core_persist_db_handle(_a) _switch_core_persist_db_handle(&switch_cache_db_sql_manager, _a, __FILE__, __SWITCH_FUNC__, __LINE__)
SWITCH_DECLARE(switch_bool_t) switch_cache_db_test_reactive(switch_cache_db_handle_t *db,
const char *test_sql, const char *drop_sql, const char *reactive_sql);
@ -2364,9 +2345,7 @@ SWITCH_DECLARE(switch_status_t) switch_cache_db_persistant_execute_trans(switch_
SWITCH_DECLARE(void) switch_core_set_signal_handlers(void);
SWITCH_DECLARE(uint32_t) switch_core_debug_level(void);
SWITCH_DECLARE(void) switch_cache_db_flush_handles(switch_sql_manager_t *sql_manager);
#define switch_core_cache_db_flush_handles() switch_cache_db_flush_handles(&switch_cache_db_sql_manager)
SWITCH_DECLARE(void) switch_cache_db_flush_handles(void);
SWITCH_DECLARE(const char *) switch_core_banner(void);
SWITCH_DECLARE(switch_bool_t) switch_core_session_in_thread(switch_core_session_t *session);
SWITCH_DECLARE(uint32_t) switch_default_ptime(const char *name, uint32_t number);

View File

@ -1836,11 +1836,6 @@ typedef struct switch_odbc_handle switch_odbc_handle_t;
typedef struct switch_pgsql_handle switch_pgsql_handle_t;
typedef struct switch_pgsql_result switch_pgsql_result_t;
struct switch_cache_db_handle;
typedef struct switch_cache_db_handle switch_cache_db_handle_t;
struct switch_sql_manager;
typedef struct switch_sql_manager switch_sql_manager_t;
typedef struct switch_io_routines switch_io_routines_t;
typedef struct switch_speech_handle switch_speech_handle_t;
typedef struct switch_asr_handle switch_asr_handle_t;

View File

@ -285,7 +285,7 @@ SWITCH_STANDARD_API(list_users_function)
int32_t arg = 0;
switch_xml_t xml_root, x_domains, x_domain_tag;
switch_xml_t gts, gt, uts, ut;
char *_user = NULL, *_domain = NULL, *_group = NULL;
char *_user = NULL, *_domain = NULL, *_search_context = NULL, *_group = NULL;
if ((pdata = strdup(cmd))) {
@ -300,10 +300,12 @@ SWITCH_STANDARD_API(list_users_function)
if (!strcasecmp(argv[arg], "user")) {
_user = argv[arg + 1];
}
if (!strcasecmp(argv[arg], "context")) {
_search_context = argv[arg + 1];
}
if (!strcasecmp(argv[arg], "domain")) {
_domain = argv[arg + 1];
}
if (!strcasecmp(argv[arg], "group")) {
_group = argv[arg + 1];
}
@ -370,6 +372,7 @@ SWITCH_STANDARD_API(list_users_function)
us.x_user_tag = ut;
us.x_domain_tag = x_domain_tag;
us.stream = stream;
us.search_context = _search_context;
dump_user(&us);
}
}
@ -383,6 +386,7 @@ SWITCH_STANDARD_API(list_users_function)
us.x_user_tag = ut;
us.x_domain_tag = x_domain_tag;
us.stream = stream;
us.search_context = _search_context;
dump_user(&us);
}
}

View File

@ -880,6 +880,16 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_DEFAULT_CLID_NAME_get() {
}
SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_DEFAULT_CLID_NUMBER_get() {
char * jresult ;
char *result = 0 ;
result = (char *)("0000000000");
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_DEFAULT_DTMF_DURATION_get() {
int jresult ;
int result;
@ -1330,6 +1340,16 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROCESS_CDR_VARIABLE_get() {
}
SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SKIP_CDR_CAUSES_VARIABLE_get() {
char * jresult ;
char *result = 0 ;
result = (char *)("skip_cdr_causes");
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_FORCE_PROCESS_CDR_VARIABLE_get() {
char * jresult ;
char *result = 0 ;
@ -6647,6 +6667,16 @@ SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_thread_session(void * jarg
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_screen_size(void * jarg1, void * jarg2) {
int *arg1 = (int *) 0 ;
int *arg2 = (int *) 0 ;
arg1 = (int *)jarg1;
arg2 = (int *)jarg2;
switch_core_screen_size(arg1,arg2);
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_sched_heartbeat(void * jarg1, unsigned long jarg2) {
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
uint32_t arg2 ;
@ -8987,6 +9017,44 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_find_rdlock(void * jarg1,
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_first(void * jarg1) {
void * jresult ;
switch_hash_t *arg1 = (switch_hash_t *) 0 ;
switch_hash_index_t *result = 0 ;
arg1 = (switch_hash_t *)jarg1;
result = (switch_hash_index_t *)switch_core_hash_first(arg1);
jresult = (void *)result;
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_next(void * jarg1) {
void * jresult ;
switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
switch_hash_index_t *result = 0 ;
arg1 = (switch_hash_index_t *)jarg1;
result = (switch_hash_index_t *)switch_core_hash_next(arg1);
jresult = (void *)result;
return jresult;
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_hash_this(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
void **arg2 = (void **) 0 ;
switch_ssize_t *arg3 = (switch_ssize_t *) 0 ;
void **arg4 = (void **) 0 ;
arg1 = (switch_hash_index_t *)jarg1;
arg2 = (void **)jarg2;
arg3 = (switch_ssize_t *)jarg3;
arg4 = (void **)jarg4;
switch_core_hash_this(arg1,(void const **)arg2,arg3,arg4);
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_hash_first(char * jarg1, void * jarg2) {
void * jresult ;
char *arg1 = (char *) 0 ;
@ -10930,6 +10998,28 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_native_handle_t_odbc_dbh_ge
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_native_handle_t_pgsql_dbh_set(void * jarg1, void * jarg2) {
switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
switch_pgsql_handle_t *arg2 = (switch_pgsql_handle_t *) 0 ;
arg1 = (switch_cache_db_native_handle_t *)jarg1;
arg2 = (switch_pgsql_handle_t *)jarg2;
if (arg1) (arg1)->pgsql_dbh = arg2;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_native_handle_t_pgsql_dbh_get(void * jarg1) {
void * jresult ;
switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
switch_pgsql_handle_t *result = 0 ;
arg1 = (switch_cache_db_native_handle_t *)jarg1;
result = (switch_pgsql_handle_t *) ((arg1)->pgsql_dbh);
jresult = (void *)result;
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_cache_db_native_handle_t() {
void * jresult ;
switch_cache_db_native_handle_t *result = 0 ;
@ -11104,6 +11194,54 @@ SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_cache_db_odbc_options_t(void *
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_pgsql_options_t_dsn_set(void * jarg1, char * jarg2) {
switch_cache_db_pgsql_options_t *arg1 = (switch_cache_db_pgsql_options_t *) 0 ;
char *arg2 = (char *) 0 ;
arg1 = (switch_cache_db_pgsql_options_t *)jarg1;
arg2 = (char *)jarg2;
{
if (arg1->dsn) delete [] arg1->dsn;
if (arg2) {
arg1->dsn = (char *) (new char[strlen((const char *)arg2)+1]);
strcpy((char *)arg1->dsn, (const char *)arg2);
} else {
arg1->dsn = 0;
}
}
}
SWIGEXPORT char * SWIGSTDCALL CSharp_switch_cache_db_pgsql_options_t_dsn_get(void * jarg1) {
char * jresult ;
switch_cache_db_pgsql_options_t *arg1 = (switch_cache_db_pgsql_options_t *) 0 ;
char *result = 0 ;
arg1 = (switch_cache_db_pgsql_options_t *)jarg1;
result = (char *) ((arg1)->dsn);
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_cache_db_pgsql_options_t() {
void * jresult ;
switch_cache_db_pgsql_options_t *result = 0 ;
result = (switch_cache_db_pgsql_options_t *)new switch_cache_db_pgsql_options_t();
jresult = (void *)result;
return jresult;
}
SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_cache_db_pgsql_options_t(void * jarg1) {
switch_cache_db_pgsql_options_t *arg1 = (switch_cache_db_pgsql_options_t *) 0 ;
arg1 = (switch_cache_db_pgsql_options_t *)jarg1;
delete arg1;
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_connection_options_t_core_db_options_set(void * jarg1, void * jarg2) {
switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
switch_cache_db_core_db_options_t *arg2 = (switch_cache_db_core_db_options_t *) 0 ;
@ -11148,6 +11286,28 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_connection_options_t_odbc_o
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_cache_db_connection_options_t_pgsql_options_set(void * jarg1, void * jarg2) {
switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
switch_cache_db_pgsql_options_t *arg2 = (switch_cache_db_pgsql_options_t *) 0 ;
arg1 = (switch_cache_db_connection_options_t *)jarg1;
arg2 = (switch_cache_db_pgsql_options_t *)jarg2;
if (arg1) (arg1)->pgsql_options = *arg2;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_cache_db_connection_options_t_pgsql_options_get(void * jarg1) {
void * jresult ;
switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
switch_cache_db_pgsql_options_t *result = 0 ;
arg1 = (switch_cache_db_connection_options_t *)jarg1;
result = (switch_cache_db_pgsql_options_t *)& ((arg1)->pgsql_options);
jresult = (void *)result;
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_cache_db_connection_options_t() {
void * jresult ;
switch_cache_db_connection_options_t *result = 0 ;
@ -11322,24 +11482,6 @@ SWIGEXPORT int SWIGSTDCALL CSharp__switch_core_db_handle(void * jarg1, char * ja
}
SWIGEXPORT int SWIGSTDCALL CSharp__switch_core_recovery_db_handle(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
int jresult ;
switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) 0 ;
int arg4 ;
switch_status_t result;
arg1 = (switch_cache_db_handle_t **)jarg1;
arg2 = (char *)jarg2;
arg3 = (char *)jarg3;
arg4 = (int)jarg4;
result = (switch_status_t)_switch_core_recovery_db_handle(arg1,(char const *)arg2,(char const *)arg3,arg4);
jresult = result;
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_test_reactive(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
int jresult ;
switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
@ -11668,6 +11810,16 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_recovery_flush(char * jarg1, char
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_fork() {
void * jresult ;
pid_t result;
result = switch_fork();
jresult = new pid_t((const pid_t &)result);
return jresult;
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_interface_module_name_set(void * jarg1, char * jarg2) {
switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
char *arg2 = (char *) 0 ;
@ -13242,6 +13394,38 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_fd_read_line(int jarg1, char * jarg2
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_fd_read_dline(int jarg1, void * jarg2, void * jarg3) {
void * jresult ;
int arg1 ;
char **arg2 = (char **) 0 ;
switch_size_t *arg3 = (switch_size_t *) 0 ;
switch_size_t result;
arg1 = (int)jarg1;
arg2 = (char **)jarg2;
arg3 = (switch_size_t *)jarg3;
result = switch_fd_read_dline(arg1,arg2,arg3);
jresult = new switch_size_t((const switch_size_t &)result);
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_fp_read_dline(void * jarg1, void * jarg2, void * jarg3) {
void * jresult ;
FILE *arg1 = (FILE *) 0 ;
char **arg2 = (char **) 0 ;
switch_size_t *arg3 = (switch_size_t *) 0 ;
switch_size_t result;
arg1 = (FILE *)jarg1;
arg2 = (char **)jarg2;
arg3 = (switch_size_t *)jarg3;
result = switch_fp_read_dline(arg1,arg2,arg3);
jresult = new switch_size_t((const switch_size_t &)result);
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_frame_alloc(void * jarg1, void * jarg2) {
int jresult ;
switch_frame_t **arg1 = (switch_frame_t **) 0 ;

View File

@ -1050,6 +1050,10 @@ public class freeswitch {
freeswitchPINVOKE.switch_regex_set_event_header_callback(var, val, SWIGTYPE_p_void.getCPtr(user_data));
}
public static void switch_core_screen_size(SWIGTYPE_p_int x, SWIGTYPE_p_int y) {
freeswitchPINVOKE.switch_core_screen_size(SWIGTYPE_p_int.getCPtr(x), SWIGTYPE_p_int.getCPtr(y));
}
public static void switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) {
freeswitchPINVOKE.switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds);
}
@ -1905,6 +1909,22 @@ public class freeswitch {
return ret;
}
public static SWIGTYPE_p_HashElem switch_core_hash_first(SWIGTYPE_p_switch_hash hash) {
IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_first(SWIGTYPE_p_switch_hash.getCPtr(hash));
SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
return ret;
}
public static SWIGTYPE_p_HashElem switch_core_hash_next(SWIGTYPE_p_HashElem hi) {
IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi));
SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
return ret;
}
public static void switch_core_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) {
freeswitchPINVOKE.switch_core_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val));
}
public static SWIGTYPE_p_HashElem switch_hash_first(string deprecate_me, SWIGTYPE_p_switch_hash hash) {
IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(deprecate_me, SWIGTYPE_p_switch_hash.getCPtr(hash));
SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
@ -2665,11 +2685,6 @@ public class freeswitch {
return ret;
}
public static switch_status_t _switch_core_recovery_db_handle(SWIGTYPE_p_p_switch_cache_db_handle dbh, string file, string func, int line) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE._switch_core_recovery_db_handle(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh), file, func, line);
return ret;
}
public static switch_bool_t switch_cache_db_test_reactive(SWIGTYPE_p_switch_cache_db_handle db, string test_sql, string drop_sql, string reactive_sql) {
switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_cache_db_test_reactive(SWIGTYPE_p_switch_cache_db_handle.getCPtr(db), test_sql, drop_sql, reactive_sql);
return ret;
@ -2796,6 +2811,11 @@ public class freeswitch {
freeswitchPINVOKE.switch_core_recovery_flush(technology, profile_name);
}
public static SWIGTYPE_p_pid_t switch_fork() {
SWIGTYPE_p_pid_t ret = new SWIGTYPE_p_pid_t(freeswitchPINVOKE.switch_fork(), true);
return ret;
}
public static switch_status_t switch_loadable_module_init(switch_bool_t autoload) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_init((int)autoload);
return ret;
@ -3175,6 +3195,16 @@ public class freeswitch {
return ret;
}
public static SWIGTYPE_p_switch_size_t switch_fd_read_dline(int fd, ref string buf, SWIGTYPE_p_switch_size_t len) {
SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_dline(fd, ref buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
return ret;
}
public static SWIGTYPE_p_switch_size_t switch_fp_read_dline(SWIGTYPE_p_FILE fd, ref string buf, SWIGTYPE_p_switch_size_t len) {
SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fp_read_dline(SWIGTYPE_p_FILE.getCPtr(fd), ref buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
return ret;
}
public static switch_status_t switch_frame_alloc(SWIGTYPE_p_p_switch_frame frame, SWIGTYPE_p_switch_size_t size) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_alloc(SWIGTYPE_p_p_switch_frame.getCPtr(frame), SWIGTYPE_p_switch_size_t.getCPtr(size));
if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
@ -6158,6 +6188,7 @@ public class freeswitch {
public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get();
public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get();
public static readonly string SWITCH_DEFAULT_CLID_NAME = freeswitchPINVOKE.SWITCH_DEFAULT_CLID_NAME_get();
public static readonly string SWITCH_DEFAULT_CLID_NUMBER = freeswitchPINVOKE.SWITCH_DEFAULT_CLID_NUMBER_get();
public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get();
public static readonly int SWITCH_MIN_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MIN_DTMF_DURATION_get();
public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get();
@ -6203,6 +6234,7 @@ public class freeswitch {
public static readonly string SWITCH_API_REPORTING_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_REPORTING_HOOK_VARIABLE_get();
public static readonly string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get();
public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get();
public static readonly string SWITCH_SKIP_CDR_CAUSES_VARIABLE = freeswitchPINVOKE.SWITCH_SKIP_CDR_CAUSES_VARIABLE_get();
public static readonly string SWITCH_FORCE_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_FORCE_PROCESS_CDR_VARIABLE_get();
public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get();
public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get();
@ -6677,6 +6709,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_CLID_NAME_get")]
public static extern string SWITCH_DEFAULT_CLID_NAME_get();
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_CLID_NUMBER_get")]
public static extern string SWITCH_DEFAULT_CLID_NUMBER_get();
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")]
public static extern int SWITCH_DEFAULT_DTMF_DURATION_get();
@ -6812,6 +6847,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")]
public static extern string SWITCH_PROCESS_CDR_VARIABLE_get();
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SKIP_CDR_CAUSES_VARIABLE_get")]
public static extern string SWITCH_SKIP_CDR_CAUSES_VARIABLE_get();
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_FORCE_PROCESS_CDR_VARIABLE_get")]
public static extern string SWITCH_FORCE_PROCESS_CDR_VARIABLE_get();
@ -8183,6 +8221,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")]
public static extern void delete_switch_core_thread_session(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_screen_size")]
public static extern void switch_core_screen_size(HandleRef jarg1, HandleRef jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")]
public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2);
@ -8702,6 +8743,15 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_rdlock")]
public static extern IntPtr switch_core_hash_find_rdlock(HandleRef jarg1, string jarg2, HandleRef jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_first")]
public static extern IntPtr switch_core_hash_first(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_next")]
public static extern IntPtr switch_core_hash_next(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_this")]
public static extern void switch_core_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
[DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")]
public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2);
@ -9152,6 +9202,12 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_odbc_dbh_get")]
public static extern IntPtr switch_cache_db_native_handle_t_odbc_dbh_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_pgsql_dbh_set")]
public static extern void switch_cache_db_native_handle_t_pgsql_dbh_set(HandleRef jarg1, HandleRef jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_pgsql_dbh_get")]
public static extern IntPtr switch_cache_db_native_handle_t_pgsql_dbh_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_native_handle_t")]
public static extern IntPtr new_switch_cache_db_native_handle_t();
@ -9194,6 +9250,18 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_odbc_options_t")]
public static extern void delete_switch_cache_db_odbc_options_t(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_pgsql_options_t_dsn_set")]
public static extern void switch_cache_db_pgsql_options_t_dsn_set(HandleRef jarg1, string jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_pgsql_options_t_dsn_get")]
public static extern string switch_cache_db_pgsql_options_t_dsn_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_pgsql_options_t")]
public static extern IntPtr new_switch_cache_db_pgsql_options_t();
[DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_pgsql_options_t")]
public static extern void delete_switch_cache_db_pgsql_options_t(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_core_db_options_set")]
public static extern void switch_cache_db_connection_options_t_core_db_options_set(HandleRef jarg1, HandleRef jarg2);
@ -9206,6 +9274,12 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_odbc_options_get")]
public static extern IntPtr switch_cache_db_connection_options_t_odbc_options_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_pgsql_options_set")]
public static extern void switch_cache_db_connection_options_t_pgsql_options_set(HandleRef jarg1, HandleRef jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_pgsql_options_get")]
public static extern IntPtr switch_cache_db_connection_options_t_pgsql_options_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_connection_options_t")]
public static extern IntPtr new_switch_cache_db_connection_options_t();
@ -9245,9 +9319,6 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp__switch_core_db_handle")]
public static extern int _switch_core_db_handle(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
[DllImport("mod_managed", EntryPoint="CSharp__switch_core_recovery_db_handle")]
public static extern int _switch_core_recovery_db_handle(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_test_reactive")]
public static extern int switch_cache_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
@ -9329,6 +9400,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_recovery_flush")]
public static extern void switch_core_recovery_flush(string jarg1, string jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_fork")]
public static extern IntPtr switch_fork();
[DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_module_name_set")]
public static extern void switch_loadable_module_interface_module_name_set(HandleRef jarg1, string jarg2);
@ -9695,6 +9769,12 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")]
public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_dline")]
public static extern IntPtr switch_fd_read_dline(int jarg1, ref string jarg2, HandleRef jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_switch_fp_read_dline")]
public static extern IntPtr switch_fp_read_dline(HandleRef jarg1, ref string jarg2, HandleRef jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_switch_frame_alloc")]
public static extern int switch_frame_alloc(HandleRef jarg1, HandleRef jarg2);
@ -18569,6 +18649,36 @@ namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_pid_t {
private HandleRef swigCPtr;
internal SWIGTYPE_p_pid_t(IntPtr cPtr, bool futureUse) {
swigCPtr = new HandleRef(this, cPtr);
}
protected SWIGTYPE_p_pid_t() {
swigCPtr = new HandleRef(null, IntPtr.Zero);
}
internal static HandleRef getCPtr(SWIGTYPE_p_pid_t obj) {
return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
}
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 2.0.1
*
* 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;
public class SWIGTYPE_p_p_apr_pool_t {
private HandleRef swigCPtr;
@ -20459,6 +20569,36 @@ namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_switch_pgsql_handle {
private HandleRef swigCPtr;
internal SWIGTYPE_p_switch_pgsql_handle(IntPtr cPtr, bool futureUse) {
swigCPtr = new HandleRef(this, cPtr);
}
protected SWIGTYPE_p_switch_pgsql_handle() {
swigCPtr = new HandleRef(null, IntPtr.Zero);
}
internal static HandleRef getCPtr(SWIGTYPE_p_switch_pgsql_handle obj) {
return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
}
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 2.0.1
*
* 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;
public class SWIGTYPE_p_switch_pollfd_t {
private HandleRef swigCPtr;
@ -22369,6 +22509,17 @@ public class switch_cache_db_connection_options_t : IDisposable {
}
}
public switch_cache_db_pgsql_options_t pgsql_options {
set {
freeswitchPINVOKE.switch_cache_db_connection_options_t_pgsql_options_set(swigCPtr, switch_cache_db_pgsql_options_t.getCPtr(value));
}
get {
IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_pgsql_options_get(swigCPtr);
switch_cache_db_pgsql_options_t ret = (cPtr == IntPtr.Zero) ? null : new switch_cache_db_pgsql_options_t(cPtr, false);
return ret;
}
}
public switch_cache_db_connection_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_connection_options_t(), true) {
}
@ -22446,7 +22597,8 @@ namespace FreeSWITCH.Native {
public enum switch_cache_db_handle_type_t {
SCDB_TYPE_CORE_DB,
SCDB_TYPE_ODBC
SCDB_TYPE_ODBC,
SCDB_TYPE_PGSQL
}
}
@ -22515,6 +22667,17 @@ public class switch_cache_db_native_handle_t : IDisposable {
}
}
public SWIGTYPE_p_switch_pgsql_handle pgsql_dbh {
set {
freeswitchPINVOKE.switch_cache_db_native_handle_t_pgsql_dbh_set(swigCPtr, SWIGTYPE_p_switch_pgsql_handle.getCPtr(value));
}
get {
IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_pgsql_dbh_get(swigCPtr);
SWIGTYPE_p_switch_pgsql_handle ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_pgsql_handle(cPtr, false);
return ret;
}
}
public switch_cache_db_native_handle_t() : this(freeswitchPINVOKE.new_switch_cache_db_native_handle_t(), true) {
}
@ -22613,6 +22776,65 @@ namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class switch_cache_db_pgsql_options_t : IDisposable {
private HandleRef swigCPtr;
protected bool swigCMemOwn;
internal switch_cache_db_pgsql_options_t(IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new HandleRef(this, cPtr);
}
internal static HandleRef getCPtr(switch_cache_db_pgsql_options_t obj) {
return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
}
~switch_cache_db_pgsql_options_t() {
Dispose();
}
public virtual void Dispose() {
lock(this) {
if (swigCPtr.Handle != IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
freeswitchPINVOKE.delete_switch_cache_db_pgsql_options_t(swigCPtr);
}
swigCPtr = new HandleRef(null, IntPtr.Zero);
}
GC.SuppressFinalize(this);
}
}
public string dsn {
set {
freeswitchPINVOKE.switch_cache_db_pgsql_options_t_dsn_set(swigCPtr, value);
}
get {
string ret = freeswitchPINVOKE.switch_cache_db_pgsql_options_t_dsn_get(swigCPtr);
return ret;
}
}
public switch_cache_db_pgsql_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_pgsql_options_t(), true) {
}
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 2.0.1
*
* 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;
public class switch_caller_application : IDisposable {
private HandleRef swigCPtr;
protected bool swigCMemOwn;
@ -25131,7 +25353,7 @@ namespace FreeSWITCH.Native {
SCF_CLEAR_SQL = (1 << 17),
SCF_THREADED_SYSTEM_EXEC = (1 << 18),
SCF_SYNC_CLOCK_REQUESTED = (1 << 19),
SCF_CORE_ODBC_REQ = (1 << 20),
SCF_CORE_NON_SQLITE_DB_REQ = (1 << 20),
SCF_DEBUG_SQL = (1 << 21),
SCF_API_EXPANSION = (1 << 22),
SCF_SESSION_THREAD_POOL = (1 << 23)
@ -33291,6 +33513,24 @@ public enum switch_text_channel_t {
namespace FreeSWITCH.Native {
public enum switch_thread_priority_t {
SWITCH_PRI_LOW = 1,
SWITCH_PRI_NORMAL = 10,
SWITCH_PRI_IMPORTANT = 50,
SWITCH_PRI_REALTIME = 99
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 2.0.1
*
* 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;

View File

@ -1921,18 +1921,6 @@ static void switch_load_core_config(const char *file)
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "ODBC AND PGSQL ARE NOT AVAILABLE!\n");
}
} else if (!strcasecmp(var, "core-recovery-db-dsn") && !zstr(val)) {
if (switch_odbc_available() || switch_pgsql_available()) {
runtime.recovery_odbc_dsn = switch_core_strdup(runtime.memory_pool, val);
if ((runtime.recovery_odbc_user = strchr(runtime.recovery_odbc_dsn, ':'))) {
*runtime.recovery_odbc_user++ = '\0';
if ((runtime.recovery_odbc_pass = strchr(runtime.recovery_odbc_user, ':'))) {
*runtime.recovery_odbc_pass++ = '\0';
}
}
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "ODBC AND PGSQL ARE NOT AVAILABLE!\n");
}
} else if (!strcasecmp(var, "core-non-sqlite-db-required") && !zstr(val)) {
switch_set_flag((&runtime), SCF_CORE_NON_SQLITE_DB_REQ);
} else if (!strcasecmp(var, "core-dbtype") && !zstr(val)) {
@ -2260,7 +2248,7 @@ SWITCH_DECLARE(int32_t) switch_core_session_ctl(switch_session_ctl_t cmd, void *
switch_time_calibrate_clock();
break;
case SCSC_FLUSH_DB_HANDLES:
switch_core_cache_db_flush_handles();
switch_cache_db_flush_handles();
break;
case SCSC_SEND_SIGHUP:
handle_SIGHUP(1);

File diff suppressed because it is too large Load Diff

View File

@ -31,9 +31,9 @@
*/
#include <switch.h>
#include <switch_private.h>
#ifdef SWITCH_HAVE_PGSQL
#include <switch_private.h>
#include <libpq-fe.h>
#include <poll.h>

View File

@ -854,6 +854,10 @@
RelativePath="..\..\src\switch_odbc.c"
>
</File>
<File
RelativePath="..\..\src\switch_pgsql.c"
>
</File>
<File
RelativePath="..\..\src\switch_pcm.c"
>
@ -1592,6 +1596,10 @@
RelativePath="..\..\src\include\switch_odbc.h"
>
</File>
<File
RelativePath="..\..\src\include\switch_pgsql.h"
>
</File>
<File
RelativePath="..\..\src\include\switch_platform.h"
>

View File

@ -419,6 +419,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|x64'">4389;4127;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ClCompile Include="..\..\src\switch_odbc.c" />
<ClCompile Include="..\..\src\switch_pgsql.c" />
<ClCompile Include="..\..\src\switch_pcm.c" />
<ClCompile Include="..\..\src\switch_profile.c" />
<ClCompile Include="..\..\src\switch_regex.c" />
@ -738,6 +739,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
<ClInclude Include="..\..\src\include\switch_module_interfaces.h" />
<ClInclude Include="..\..\src\include\switch_mprintf.h" />
<ClInclude Include="..\..\src\include\switch_odbc.h" />
<ClInclude Include="..\..\src\include\switch_pgsql.h" />
<ClInclude Include="..\..\src\include\switch_platform.h" />
<ClInclude Include="..\..\src\include\switch_regex.h" />
<ClInclude Include="..\..\src\include\switch_resample.h" />
@ -834,4 +836,4 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -160,6 +160,9 @@
<ClCompile Include="..\..\src\switch_odbc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\switch_pgsql.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\switch_pcm.c">
<Filter>Source Files</Filter>
</ClCompile>
@ -285,6 +288,9 @@
<ClInclude Include="..\..\src\include\switch_odbc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\switch_pgsql.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\switch_platform.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -342,4 +348,4 @@
<UniqueIdentifier>{a1474195-5783-4c77-977f-59657b38fd01}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>
</Project>

View File

@ -534,6 +534,10 @@
RelativePath="..\..\src\switch_odbc.c"
>
</File>
<File
RelativePath="..\..\src\switch_pgsql.c"
>
</File>
<File
RelativePath="..\..\src\switch_pcm.c"
>
@ -1032,6 +1036,10 @@
RelativePath="..\..\src\include\switch_odbc.h"
>
</File>
<File
RelativePath="..\..\src\include\switch_pgsql.h"
>
</File>
<File
RelativePath="..\..\src\include\switch_platform.h"
>