even more lang stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9063 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
920ef82cb3
commit
df5afbcacd
|
@ -199,7 +199,7 @@ SWITCH_DECLARE(void) consoleCleanLog(char *msg);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SWITCH_DECLARE_CONSTRUCTOR CoreSession();
|
SWITCH_DECLARE_CONSTRUCTOR CoreSession();
|
||||||
SWITCH_DECLARE_CONSTRUCTOR CoreSession(char *uuid);
|
SWITCH_DECLARE_CONSTRUCTOR CoreSession(char *nuuid, CoreSession *a_leg = NULL);
|
||||||
SWITCH_DECLARE_CONSTRUCTOR CoreSession(switch_core_session_t *new_session);
|
SWITCH_DECLARE_CONSTRUCTOR CoreSession(switch_core_session_t *new_session);
|
||||||
virtual SWITCH_DECLARE_CONSTRUCTOR ~ CoreSession();
|
virtual SWITCH_DECLARE_CONSTRUCTOR ~ CoreSession();
|
||||||
switch_core_session_t *session;
|
switch_core_session_t *session;
|
||||||
|
|
|
@ -13,6 +13,8 @@ local_depend: $(LOCAL_OBJS)
|
||||||
$(LIBLUA_A):
|
$(LIBLUA_A):
|
||||||
cd lua && $(MAKE) CC="$(CC)" CFLAGS="$(ALL_CFLAGS) -DLUA_USE_LINUX -w" liblua.a
|
cd lua && $(MAKE) CC="$(CC)" CFLAGS="$(ALL_CFLAGS) -DLUA_USE_LINUX -w" liblua.a
|
||||||
|
|
||||||
|
reswig: swigclean mod_lua_wrap.cpp
|
||||||
|
|
||||||
luaclean:
|
luaclean:
|
||||||
cd lua && $(MAKE) clean
|
cd lua && $(MAKE) clean
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ Session::Session():CoreSession()
|
||||||
hh = mark = 0;
|
hh = mark = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Session::Session(char *uuid):CoreSession(uuid)
|
Session::Session(char *nuuid, CoreSession *a_leg):CoreSession(nuuid, a_leg)
|
||||||
{
|
{
|
||||||
cb_function = cb_arg = hangup_func_str = hangup_func_arg = NULL;
|
cb_function = cb_arg = hangup_func_str = hangup_func_arg = NULL;
|
||||||
hh = mark = 0;
|
hh = mark = 0;
|
||||||
|
|
|
@ -20,7 +20,7 @@ class Session : public CoreSession {
|
||||||
int mark;
|
int mark;
|
||||||
public:
|
public:
|
||||||
Session();
|
Session();
|
||||||
Session(char *uuid);
|
Session(char *uuid, CoreSession *a_leg = NULL);
|
||||||
Session(switch_core_session_t *session);
|
Session(switch_core_session_t *session);
|
||||||
~Session();
|
~Session();
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- mod_lua_wrap.cpp 2008-05-11 20:03:58.000000000 -0400
|
--- mod_lua_wrap.cpp 2008-07-16 16:58:58.000000000 -0400
|
||||||
+++ mod_lua_wrap2.cpp 2008-05-11 20:05:08.000000000 -0400
|
+++ old.cpp 2008-07-16 16:58:42.000000000 -0400
|
||||||
@@ -5158,7 +5158,7 @@
|
@@ -6731,7 +6731,7 @@
|
||||||
SWIG_check_num_args("LUA::Session",0,0)
|
SWIG_check_num_args("LUA::Session",0,0)
|
||||||
result = (LUA::Session *)new LUA::Session();
|
result = (LUA::Session *)new LUA::Session();
|
||||||
SWIG_arg=0;
|
SWIG_arg=0;
|
||||||
|
@ -9,7 +9,16 @@
|
||||||
return SWIG_arg;
|
return SWIG_arg;
|
||||||
|
|
||||||
if(0) SWIG_fail;
|
if(0) SWIG_fail;
|
||||||
@@ -5179,7 +5179,7 @@
|
@@ -6759,7 +6759,7 @@
|
||||||
|
|
||||||
|
result = (LUA::Session *)new LUA::Session(arg1,arg2);
|
||||||
|
SWIG_arg=0;
|
||||||
|
- SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++;
|
||||||
|
+ SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; result->setLUA(L);
|
||||||
|
return SWIG_arg;
|
||||||
|
|
||||||
|
if(0) SWIG_fail;
|
||||||
|
@@ -6780,7 +6780,7 @@
|
||||||
arg1 = (char *)lua_tostring(L, 1);
|
arg1 = (char *)lua_tostring(L, 1);
|
||||||
result = (LUA::Session *)new LUA::Session(arg1);
|
result = (LUA::Session *)new LUA::Session(arg1);
|
||||||
SWIG_arg=0;
|
SWIG_arg=0;
|
||||||
|
@ -18,7 +27,7 @@
|
||||||
return SWIG_arg;
|
return SWIG_arg;
|
||||||
|
|
||||||
if(0) SWIG_fail;
|
if(0) SWIG_fail;
|
||||||
@@ -5204,7 +5204,7 @@
|
@@ -6805,7 +6805,7 @@
|
||||||
|
|
||||||
result = (LUA::Session *)new LUA::Session(arg1);
|
result = (LUA::Session *)new LUA::Session(arg1);
|
||||||
SWIG_arg=0;
|
SWIG_arg=0;
|
||||||
|
|
|
@ -6743,6 +6743,34 @@ fail:
|
||||||
|
|
||||||
|
|
||||||
static int _wrap_new_Session__SWIG_1(lua_State* L) {
|
static int _wrap_new_Session__SWIG_1(lua_State* L) {
|
||||||
|
int SWIG_arg = -1;
|
||||||
|
char *arg1 = (char *) 0 ;
|
||||||
|
CoreSession *arg2 = (CoreSession *) 0 ;
|
||||||
|
LUA::Session *result = 0 ;
|
||||||
|
|
||||||
|
SWIG_check_num_args("LUA::Session",2,2)
|
||||||
|
if(!lua_isstring(L,1)) SWIG_fail_arg("LUA::Session",1,"char *");
|
||||||
|
if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session",2,"CoreSession *");
|
||||||
|
arg1 = (char *)lua_tostring(L, 1);
|
||||||
|
|
||||||
|
if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
|
||||||
|
SWIG_fail_ptr("new_Session",2,SWIGTYPE_p_CoreSession);
|
||||||
|
}
|
||||||
|
|
||||||
|
result = (LUA::Session *)new LUA::Session(arg1,arg2);
|
||||||
|
SWIG_arg=0;
|
||||||
|
SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; result->setLUA(L);
|
||||||
|
return SWIG_arg;
|
||||||
|
|
||||||
|
if(0) SWIG_fail;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
lua_error(L);
|
||||||
|
return SWIG_arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int _wrap_new_Session__SWIG_2(lua_State* L) {
|
||||||
int SWIG_arg = -1;
|
int SWIG_arg = -1;
|
||||||
char *arg1 = (char *) 0 ;
|
char *arg1 = (char *) 0 ;
|
||||||
LUA::Session *result = 0 ;
|
LUA::Session *result = 0 ;
|
||||||
|
@ -6763,7 +6791,7 @@ fail:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int _wrap_new_Session__SWIG_2(lua_State* L) {
|
static int _wrap_new_Session__SWIG_3(lua_State* L) {
|
||||||
int SWIG_arg = -1;
|
int SWIG_arg = -1;
|
||||||
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
||||||
LUA::Session *result = 0 ;
|
LUA::Session *result = 0 ;
|
||||||
|
@ -6790,8 +6818,8 @@ fail:
|
||||||
|
|
||||||
static int _wrap_new_Session(lua_State* L) {
|
static int _wrap_new_Session(lua_State* L) {
|
||||||
int argc;
|
int argc;
|
||||||
int argv[2]={
|
int argv[3]={
|
||||||
1,2
|
1,2,3
|
||||||
};
|
};
|
||||||
|
|
||||||
argc = lua_gettop(L);
|
argc = lua_gettop(L);
|
||||||
|
@ -6809,7 +6837,7 @@ static int _wrap_new_Session(lua_State* L) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (_v) {
|
if (_v) {
|
||||||
return _wrap_new_Session__SWIG_2(L);
|
return _wrap_new_Session__SWIG_3(L);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
|
@ -6817,10 +6845,29 @@ static int _wrap_new_Session(lua_State* L) {
|
||||||
{
|
{
|
||||||
_v = lua_isstring(L,argv[0]);
|
_v = lua_isstring(L,argv[0]);
|
||||||
}
|
}
|
||||||
|
if (_v) {
|
||||||
|
return _wrap_new_Session__SWIG_2(L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (argc == 2) {
|
||||||
|
int _v;
|
||||||
|
{
|
||||||
|
_v = lua_isstring(L,argv[0]);
|
||||||
|
}
|
||||||
|
if (_v) {
|
||||||
|
{
|
||||||
|
void *ptr;
|
||||||
|
if (SWIG_isptrtype(L,argv[1])==0 || SWIG_ConvertPtr(L,argv[1], (void **) &ptr, SWIGTYPE_p_CoreSession, 0)) {
|
||||||
|
_v = 0;
|
||||||
|
} else {
|
||||||
|
_v = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (_v) {
|
if (_v) {
|
||||||
return _wrap_new_Session__SWIG_1(L);
|
return _wrap_new_Session__SWIG_1(L);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
lua_pushstring(L,"No matching function for overloaded 'new_Session'");
|
lua_pushstring(L,"No matching function for overloaded 'new_Session'");
|
||||||
lua_error(L);return 0;
|
lua_error(L);return 0;
|
||||||
|
|
|
@ -20,7 +20,8 @@ mod_perl_wrap.cpp:
|
||||||
echo "#include \"mod_perl_extra.c\"" >> mod_perl_wrap.cpp
|
echo "#include \"mod_perl_extra.c\"" >> mod_perl_wrap.cpp
|
||||||
patch -s -p0 -i hack.diff
|
patch -s -p0 -i hack.diff
|
||||||
|
|
||||||
|
orig: mod_perl_wrap.cpp
|
||||||
|
patch -R -s -p0 -i hack.diff
|
||||||
|
|
||||||
freeswitch.$(DYNAMIC_LIB_EXTEN): $(LOCAL_OBJS) $(LOCAL_LIBADD)
|
freeswitch.$(DYNAMIC_LIB_EXTEN): $(LOCAL_OBJS) $(LOCAL_LIBADD)
|
||||||
$(LINK) $(SOLINK) -o freeswitch.$(DYNAMIC_LIB_EXTEN) $(LOCAL_OBJS) $(LOCAL_LIBADD) $(LDFLAGS)
|
$(LINK) $(SOLINK) -o freeswitch.$(DYNAMIC_LIB_EXTEN) $(LOCAL_OBJS) $(LOCAL_LIBADD) $(LDFLAGS)
|
||||||
|
|
|
@ -13,7 +13,7 @@ Session::Session():CoreSession()
|
||||||
init_me();
|
init_me();
|
||||||
}
|
}
|
||||||
|
|
||||||
Session::Session(char *uuid):CoreSession(uuid)
|
Session::Session(char *uuid, CoreSession *a_leg):CoreSession(uuid, a_leg)
|
||||||
{
|
{
|
||||||
init_me();
|
init_me();
|
||||||
if (session && allocated) {
|
if (session && allocated) {
|
||||||
|
|
|
@ -28,7 +28,7 @@ class Session : public CoreSession {
|
||||||
SV *me;
|
SV *me;
|
||||||
public:
|
public:
|
||||||
Session();
|
Session();
|
||||||
Session(char *uuid);
|
Session(char *uuid, CoreSession *a_leg = NULL);
|
||||||
Session(switch_core_session_t *session);
|
Session(switch_core_session_t *session);
|
||||||
~Session();
|
~Session();
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--- mod_perl_wrap.cpp 2008-07-16 13:38:11.000000000 -0500
|
--- mod_perl_wrap.cpp 2008-07-16 16:55:53.000000000 -0400
|
||||||
+++ old.cpp 2008-07-16 13:37:44.000000000 -0500
|
+++ old.cpp 2008-07-16 16:55:38.000000000 -0400
|
||||||
@@ -8852,13 +8852,18 @@
|
@@ -8852,13 +8852,18 @@
|
||||||
{
|
{
|
||||||
PERL::Session *result = 0 ;
|
PERL::Session *result = 0 ;
|
||||||
|
@ -22,7 +22,33 @@
|
||||||
XSRETURN(argvi);
|
XSRETURN(argvi);
|
||||||
fail:
|
fail:
|
||||||
SWIG_croak_null();
|
SWIG_croak_null();
|
||||||
@@ -8874,6 +8879,7 @@
|
@@ -8877,6 +8882,7 @@
|
||||||
|
void *argp2 = 0 ;
|
||||||
|
int res2 = 0 ;
|
||||||
|
int argvi = 0;
|
||||||
|
+ SV *foo;
|
||||||
|
dXSARGS;
|
||||||
|
|
||||||
|
if ((items < 2) || (items > 2)) {
|
||||||
|
@@ -8893,7 +8899,16 @@
|
||||||
|
}
|
||||||
|
arg2 = reinterpret_cast< CoreSession * >(argp2);
|
||||||
|
result = (PERL::Session *)new PERL::Session(arg1,arg2);
|
||||||
|
- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
|
||||||
|
+ if (result->allocated) {
|
||||||
|
+ result->setPERL(my_perl);
|
||||||
|
+ foo = get_sv(result->suuid, TRUE);
|
||||||
|
+ SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
|
||||||
|
+ result->setME(foo);
|
||||||
|
+ } else {
|
||||||
|
+ foo = sv_newmortal();
|
||||||
|
+ SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
|
||||||
|
+ }
|
||||||
|
+ ST(argvi) = foo; argvi++ ;
|
||||||
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
|
|
||||||
|
XSRETURN(argvi);
|
||||||
|
@@ -8913,6 +8928,7 @@
|
||||||
char *buf1 = 0 ;
|
char *buf1 = 0 ;
|
||||||
int alloc1 = 0 ;
|
int alloc1 = 0 ;
|
||||||
int argvi = 0;
|
int argvi = 0;
|
||||||
|
@ -30,7 +56,7 @@
|
||||||
dXSARGS;
|
dXSARGS;
|
||||||
|
|
||||||
if ((items < 1) || (items > 1)) {
|
if ((items < 1) || (items > 1)) {
|
||||||
@@ -8884,9 +8890,19 @@
|
@@ -8923,9 +8939,19 @@
|
||||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
|
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
|
||||||
}
|
}
|
||||||
arg1 = reinterpret_cast< char * >(buf1);
|
arg1 = reinterpret_cast< char * >(buf1);
|
||||||
|
@ -52,7 +78,7 @@
|
||||||
XSRETURN(argvi);
|
XSRETURN(argvi);
|
||||||
fail:
|
fail:
|
||||||
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
@@ -8902,6 +8918,7 @@
|
@@ -8941,6 +8967,7 @@
|
||||||
void *argp1 = 0 ;
|
void *argp1 = 0 ;
|
||||||
int res1 = 0 ;
|
int res1 = 0 ;
|
||||||
int argvi = 0;
|
int argvi = 0;
|
||||||
|
@ -60,7 +86,7 @@
|
||||||
dXSARGS;
|
dXSARGS;
|
||||||
|
|
||||||
if ((items < 1) || (items > 1)) {
|
if ((items < 1) || (items > 1)) {
|
||||||
@@ -8913,8 +8930,18 @@
|
@@ -8952,8 +8979,18 @@
|
||||||
}
|
}
|
||||||
arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
|
arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
|
||||||
result = (PERL::Session *)new PERL::Session(arg1);
|
result = (PERL::Session *)new PERL::Session(arg1);
|
||||||
|
|
|
@ -8872,6 +8872,55 @@ XS(_wrap_new_Session__SWIG_0) {
|
||||||
|
|
||||||
|
|
||||||
XS(_wrap_new_Session__SWIG_1) {
|
XS(_wrap_new_Session__SWIG_1) {
|
||||||
|
{
|
||||||
|
char *arg1 = (char *) 0 ;
|
||||||
|
CoreSession *arg2 = (CoreSession *) 0 ;
|
||||||
|
PERL::Session *result = 0 ;
|
||||||
|
int res1 ;
|
||||||
|
char *buf1 = 0 ;
|
||||||
|
int alloc1 = 0 ;
|
||||||
|
void *argp2 = 0 ;
|
||||||
|
int res2 = 0 ;
|
||||||
|
int argvi = 0;
|
||||||
|
SV *foo;
|
||||||
|
dXSARGS;
|
||||||
|
|
||||||
|
if ((items < 2) || (items > 2)) {
|
||||||
|
SWIG_croak("Usage: new_Session(uuid,a_leg);");
|
||||||
|
}
|
||||||
|
res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
|
||||||
|
if (!SWIG_IsOK(res1)) {
|
||||||
|
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
|
||||||
|
}
|
||||||
|
arg1 = reinterpret_cast< char * >(buf1);
|
||||||
|
res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_CoreSession, 0 | 0 );
|
||||||
|
if (!SWIG_IsOK(res2)) {
|
||||||
|
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Session" "', argument " "2"" of type '" "CoreSession *""'");
|
||||||
|
}
|
||||||
|
arg2 = reinterpret_cast< CoreSession * >(argp2);
|
||||||
|
result = (PERL::Session *)new PERL::Session(arg1,arg2);
|
||||||
|
if (result->allocated) {
|
||||||
|
result->setPERL(my_perl);
|
||||||
|
foo = get_sv(result->suuid, TRUE);
|
||||||
|
SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
|
||||||
|
result->setME(foo);
|
||||||
|
} else {
|
||||||
|
foo = sv_newmortal();
|
||||||
|
SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
|
||||||
|
}
|
||||||
|
ST(argvi) = foo; argvi++ ;
|
||||||
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
|
|
||||||
|
XSRETURN(argvi);
|
||||||
|
fail:
|
||||||
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
|
|
||||||
|
SWIG_croak_null();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
XS(_wrap_new_Session__SWIG_2) {
|
||||||
{
|
{
|
||||||
char *arg1 = (char *) 0 ;
|
char *arg1 = (char *) 0 ;
|
||||||
PERL::Session *result = 0 ;
|
PERL::Session *result = 0 ;
|
||||||
|
@ -8911,7 +8960,7 @@ XS(_wrap_new_Session__SWIG_1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
XS(_wrap_new_Session__SWIG_2) {
|
XS(_wrap_new_Session__SWIG_3) {
|
||||||
{
|
{
|
||||||
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
||||||
PERL::Session *result = 0 ;
|
PERL::Session *result = 0 ;
|
||||||
|
@ -9005,13 +9054,44 @@ XS(_wrap_new_Session) {
|
||||||
}
|
}
|
||||||
check_3:
|
check_3:
|
||||||
|
|
||||||
|
if (items == 2) {
|
||||||
|
SWIG_TypeRank _ranki = 0;
|
||||||
|
SWIG_TypeRank _rankm = 0;
|
||||||
|
SWIG_TypeRank _pi = 1;
|
||||||
|
int _v = 0;
|
||||||
|
{
|
||||||
|
int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
|
||||||
|
_v = SWIG_CheckState(res);
|
||||||
|
}
|
||||||
|
if (!_v) goto check_4;
|
||||||
|
_ranki += _v*_pi;
|
||||||
|
_rankm += _pi;
|
||||||
|
_pi *= SWIG_MAXCASTRANK;
|
||||||
|
{
|
||||||
|
void *vptr = 0;
|
||||||
|
int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_CoreSession, 0);
|
||||||
|
_v = SWIG_CheckState(res);
|
||||||
|
}
|
||||||
|
if (!_v) goto check_4;
|
||||||
|
_ranki += _v*_pi;
|
||||||
|
_rankm += _pi;
|
||||||
|
_pi *= SWIG_MAXCASTRANK;
|
||||||
|
if (!_index || (_ranki < _rank)) {
|
||||||
|
_rank = _ranki; _index = 4;
|
||||||
|
if (_rank == _rankm) goto dispatch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
check_4:
|
||||||
|
|
||||||
dispatch:
|
dispatch:
|
||||||
switch(_index) {
|
switch(_index) {
|
||||||
case 1:
|
case 1:
|
||||||
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_0); return;
|
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_0); return;
|
||||||
case 2:
|
case 2:
|
||||||
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_2); return;
|
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_3); return;
|
||||||
case 3:
|
case 3:
|
||||||
|
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_2); return;
|
||||||
|
case 4:
|
||||||
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_1); return;
|
++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Session__SWIG_1); return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ Session::Session():CoreSession()
|
||||||
py_init_vars();
|
py_init_vars();
|
||||||
}
|
}
|
||||||
|
|
||||||
Session::Session(char *uuid):CoreSession(uuid)
|
Session::Session(char *nuuid, CoreSession *a_leg):CoreSession(nuuid, a_leg)
|
||||||
{
|
{
|
||||||
py_init_vars();
|
py_init_vars();
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,9 @@ bool Session::begin_allow_threads()
|
||||||
|
|
||||||
if (!TS) {
|
if (!TS) {
|
||||||
TS = PyEval_SaveThread();
|
TS = PyEval_SaveThread();
|
||||||
|
if (channel) {
|
||||||
|
switch_channel_set_private(channel, "SwapInThreadState", TS);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,6 +78,10 @@ bool Session::end_allow_threads()
|
||||||
PyEval_RestoreThread(TS);
|
PyEval_RestoreThread(TS);
|
||||||
TS = NULL;
|
TS = NULL;
|
||||||
|
|
||||||
|
if (channel) {
|
||||||
|
switch_channel_set_private(channel, "SwapInThreadState", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
do_hangup_hook();
|
do_hangup_hook();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -20,7 +20,7 @@ class Session : public CoreSession {
|
||||||
PyThreadState *TS;
|
PyThreadState *TS;
|
||||||
public:
|
public:
|
||||||
Session();
|
Session();
|
||||||
Session(char *uuid);
|
Session(char *nuuid, CoreSession *a_leg = NULL);
|
||||||
Session(switch_core_session_t *session);
|
Session(switch_core_session_t *session);
|
||||||
virtual ~Session();
|
virtual ~Session();
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- mod_python_wrap.cpp 2008-07-10 13:14:21.000000000 -0500
|
--- mod_python_wrap.cpp 2008-07-16 17:05:18.000000000 -0400
|
||||||
+++ old.cpp 2008-07-10 13:13:57.000000000 -0500
|
+++ old.cpp 2008-07-16 17:05:07.000000000 -0400
|
||||||
@@ -8150,20 +8150,20 @@
|
@@ -8621,20 +8621,20 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,10 +21,28 @@
|
||||||
|
|
||||||
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||||
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, PyObject *args) {
|
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, PyObject *args) {
|
||||||
|
PyObject *resultobj = 0;
|
||||||
|
char *arg1 = (char *) 0 ;
|
||||||
|
CoreSession *arg2 = (CoreSession *) 0 ;
|
||||||
|
@@ -8659,7 +8659,7 @@
|
||||||
|
}
|
||||||
|
arg2 = reinterpret_cast< CoreSession * >(argp2);
|
||||||
|
result = (PYTHON::Session *)new PYTHON::Session(arg1,arg2);
|
||||||
|
- resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PYTHON__Session, SWIG_POINTER_NEW | 0 );
|
||||||
|
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PYTHON__Session, SWIG_POINTER_NEW | 0 ); result->setPython(self);
|
||||||
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
|
return resultobj;
|
||||||
|
fail:
|
||||||
|
@@ -8668,7 +8668,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||||
|
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *self, PyObject *args) {
|
||||||
PyObject *resultobj = 0;
|
PyObject *resultobj = 0;
|
||||||
char *arg1 = (char *) 0 ;
|
char *arg1 = (char *) 0 ;
|
||||||
PYTHON::Session *result = 0 ;
|
PYTHON::Session *result = 0 ;
|
||||||
@@ -8179,7 +8179,7 @@
|
@@ -8684,7 +8684,7 @@
|
||||||
}
|
}
|
||||||
arg1 = reinterpret_cast< char * >(buf1);
|
arg1 = reinterpret_cast< char * >(buf1);
|
||||||
result = (PYTHON::Session *)new PYTHON::Session(arg1);
|
result = (PYTHON::Session *)new PYTHON::Session(arg1);
|
||||||
|
@ -33,16 +51,16 @@
|
||||||
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
return resultobj;
|
return resultobj;
|
||||||
fail:
|
fail:
|
||||||
@@ -8188,7 +8188,7 @@
|
@@ -8693,7 +8693,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||||
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *self, PyObject *args) {
|
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_3(PyObject *self, PyObject *args) {
|
||||||
PyObject *resultobj = 0;
|
PyObject *resultobj = 0;
|
||||||
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
||||||
PYTHON::Session *result = 0 ;
|
PYTHON::Session *result = 0 ;
|
||||||
@@ -8203,7 +8203,7 @@
|
@@ -8708,7 +8708,7 @@
|
||||||
}
|
}
|
||||||
arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
|
arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
|
||||||
result = (PYTHON::Session *)new PYTHON::Session(arg1);
|
result = (PYTHON::Session *)new PYTHON::Session(arg1);
|
||||||
|
|
|
@ -8635,6 +8635,40 @@ fail:
|
||||||
|
|
||||||
|
|
||||||
SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, PyObject *args) {
|
SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, PyObject *args) {
|
||||||
|
PyObject *resultobj = 0;
|
||||||
|
char *arg1 = (char *) 0 ;
|
||||||
|
CoreSession *arg2 = (CoreSession *) 0 ;
|
||||||
|
PYTHON::Session *result = 0 ;
|
||||||
|
int res1 ;
|
||||||
|
char *buf1 = 0 ;
|
||||||
|
int alloc1 = 0 ;
|
||||||
|
void *argp2 = 0 ;
|
||||||
|
int res2 = 0 ;
|
||||||
|
PyObject * obj0 = 0 ;
|
||||||
|
PyObject * obj1 = 0 ;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args,(char *)"OO:new_Session",&obj0,&obj1)) SWIG_fail;
|
||||||
|
res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
||||||
|
if (!SWIG_IsOK(res1)) {
|
||||||
|
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
|
||||||
|
}
|
||||||
|
arg1 = reinterpret_cast< char * >(buf1);
|
||||||
|
res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 | 0 );
|
||||||
|
if (!SWIG_IsOK(res2)) {
|
||||||
|
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Session" "', argument " "2"" of type '" "CoreSession *""'");
|
||||||
|
}
|
||||||
|
arg2 = reinterpret_cast< CoreSession * >(argp2);
|
||||||
|
result = (PYTHON::Session *)new PYTHON::Session(arg1,arg2);
|
||||||
|
resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PYTHON__Session, SWIG_POINTER_NEW | 0 ); result->setPython(self);
|
||||||
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
|
return resultobj;
|
||||||
|
fail:
|
||||||
|
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *self, PyObject *args) {
|
||||||
PyObject *resultobj = 0;
|
PyObject *resultobj = 0;
|
||||||
char *arg1 = (char *) 0 ;
|
char *arg1 = (char *) 0 ;
|
||||||
PYTHON::Session *result = 0 ;
|
PYTHON::Session *result = 0 ;
|
||||||
|
@ -8659,7 +8693,7 @@ fail:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *self, PyObject *args) {
|
SWIGINTERN PyObject *_wrap_new_Session__SWIG_3(PyObject *self, PyObject *args) {
|
||||||
PyObject *resultobj = 0;
|
PyObject *resultobj = 0;
|
||||||
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
|
||||||
PYTHON::Session *result = 0 ;
|
PYTHON::Session *result = 0 ;
|
||||||
|
@ -8683,12 +8717,12 @@ fail:
|
||||||
|
|
||||||
SWIGINTERN PyObject *_wrap_new_Session(PyObject *self, PyObject *args) {
|
SWIGINTERN PyObject *_wrap_new_Session(PyObject *self, PyObject *args) {
|
||||||
int argc;
|
int argc;
|
||||||
PyObject *argv[2];
|
PyObject *argv[3];
|
||||||
int ii;
|
int ii;
|
||||||
|
|
||||||
if (!PyTuple_Check(args)) SWIG_fail;
|
if (!PyTuple_Check(args)) SWIG_fail;
|
||||||
argc = (int)PyObject_Length(args);
|
argc = (int)PyObject_Length(args);
|
||||||
for (ii = 0; (ii < argc) && (ii < 1); ii++) {
|
for (ii = 0; (ii < argc) && (ii < 2); ii++) {
|
||||||
argv[ii] = PyTuple_GET_ITEM(args,ii);
|
argv[ii] = PyTuple_GET_ITEM(args,ii);
|
||||||
}
|
}
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
|
@ -8700,22 +8734,36 @@ SWIGINTERN PyObject *_wrap_new_Session(PyObject *self, PyObject *args) {
|
||||||
int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_core_session_t, 0);
|
int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_core_session_t, 0);
|
||||||
_v = SWIG_CheckState(res);
|
_v = SWIG_CheckState(res);
|
||||||
if (_v) {
|
if (_v) {
|
||||||
return _wrap_new_Session__SWIG_2(self, args);
|
return _wrap_new_Session__SWIG_3(self, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
int _v;
|
int _v;
|
||||||
int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
|
int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
|
||||||
_v = SWIG_CheckState(res);
|
_v = SWIG_CheckState(res);
|
||||||
|
if (_v) {
|
||||||
|
return _wrap_new_Session__SWIG_2(self, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (argc == 2) {
|
||||||
|
int _v;
|
||||||
|
int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
|
||||||
|
_v = SWIG_CheckState(res);
|
||||||
|
if (_v) {
|
||||||
|
void *vptr = 0;
|
||||||
|
int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CoreSession, 0);
|
||||||
|
_v = SWIG_CheckState(res);
|
||||||
if (_v) {
|
if (_v) {
|
||||||
return _wrap_new_Session__SWIG_1(self, args);
|
return _wrap_new_Session__SWIG_1(self, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Session'.\n"
|
SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Session'.\n"
|
||||||
" Possible C/C++ prototypes are:\n"
|
" Possible C/C++ prototypes are:\n"
|
||||||
" PYTHON::Session()\n"
|
" PYTHON::Session()\n"
|
||||||
|
" PYTHON::Session(char *,CoreSession *)\n"
|
||||||
" PYTHON::Session(char *)\n"
|
" PYTHON::Session(char *)\n"
|
||||||
" PYTHON::Session(switch_core_session_t *)\n");
|
" PYTHON::Session(switch_core_session_t *)\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -425,7 +425,7 @@ SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession()
|
||||||
init_vars();
|
init_vars();
|
||||||
}
|
}
|
||||||
|
|
||||||
SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession(char *nuuid)
|
SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession(char *nuuid, CoreSession *a_leg)
|
||||||
{
|
{
|
||||||
init_vars();
|
init_vars();
|
||||||
|
|
||||||
|
@ -435,7 +435,7 @@ SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession(char *nuuid)
|
||||||
allocated = 1;
|
allocated = 1;
|
||||||
} else {
|
} else {
|
||||||
switch_call_cause_t cause;
|
switch_call_cause_t cause;
|
||||||
if (switch_ivr_originate(NULL, &session, &cause, nuuid, 60, NULL, NULL, NULL, NULL, SOF_NONE) == SWITCH_STATUS_SUCCESS) {
|
if (switch_ivr_originate(a_leg ? a_leg->session : NULL, &session, &cause, nuuid, 60, NULL, NULL, NULL, NULL, SOF_NONE) == SWITCH_STATUS_SUCCESS) {
|
||||||
channel = switch_core_session_get_channel(session);
|
channel = switch_core_session_get_channel(session);
|
||||||
allocated = 1;
|
allocated = 1;
|
||||||
switch_set_flag(this, S_HUP);
|
switch_set_flag(this, S_HUP);
|
||||||
|
@ -1081,8 +1081,8 @@ SWITCH_DECLARE(void) bridge(CoreSession &session_a, CoreSession &session_b)
|
||||||
dtmf_func = args.input_callback; // get the call back function
|
dtmf_func = args.input_callback; // get the call back function
|
||||||
err = NULL;
|
err = NULL;
|
||||||
switch_ivr_multi_threaded_bridge(session_a.session, session_b.session, dtmf_func, args.buf, args.buf);
|
switch_ivr_multi_threaded_bridge(session_a.session, session_b.session, dtmf_func, args.buf, args.buf);
|
||||||
session_a.end_allow_threads();
|
|
||||||
}
|
}
|
||||||
|
session_a.end_allow_threads();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue