add unsetInputCallback method
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9296 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
6efa5bdf0d
commit
23c0d9ebbf
|
@ -158,6 +158,16 @@ void Session::setHangupHook(char *func, char *arg)
|
|||
}
|
||||
}
|
||||
|
||||
void Session::unsetInputCallback(void)
|
||||
{
|
||||
sanity_check_noreturn;
|
||||
switch_safe_free(cb_function);
|
||||
switch_safe_free(cb_arg);
|
||||
args.input_callback = NULL;
|
||||
switch_channel_set_private(channel, "CoreSession", NULL);
|
||||
ap = NULL;
|
||||
}
|
||||
|
||||
void Session::setInputCallback(char *cbfunc, char *funcargs)
|
||||
{
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ class Session : public CoreSession {
|
|||
virtual void check_hangup_hook();
|
||||
|
||||
virtual switch_status_t run_dtmf_callback(void *input, switch_input_type_t itype);
|
||||
void unsetInputCallback(void);
|
||||
void setInputCallback(char *cbfunc, char *funcargs = NULL);
|
||||
void setHangupHook(char *func, char *arg = NULL);
|
||||
bool ready();
|
||||
|
|
|
@ -7157,6 +7157,30 @@ fail:
|
|||
}
|
||||
|
||||
|
||||
static int _wrap_Session_unsetInputCallback(lua_State* L) {
|
||||
int SWIG_arg = -1;
|
||||
LUA::Session *arg1 = (LUA::Session *) 0 ;
|
||||
|
||||
SWIG_check_num_args("unsetInputCallback",1,1)
|
||||
if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("unsetInputCallback",1,"LUA::Session *");
|
||||
|
||||
if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
|
||||
SWIG_fail_ptr("Session_unsetInputCallback",1,SWIGTYPE_p_LUA__Session);
|
||||
}
|
||||
|
||||
(arg1)->unsetInputCallback();
|
||||
SWIG_arg=0;
|
||||
|
||||
return SWIG_arg;
|
||||
|
||||
if(0) SWIG_fail;
|
||||
|
||||
fail:
|
||||
lua_error(L);
|
||||
return SWIG_arg;
|
||||
}
|
||||
|
||||
|
||||
static int _wrap_Session_setInputCallback__SWIG_0(lua_State* L) {
|
||||
int SWIG_arg = -1;
|
||||
LUA::Session *arg1 = (LUA::Session *) 0 ;
|
||||
|
@ -7720,6 +7744,7 @@ static swig_lua_method swig_LUA_Session_methods[] = {
|
|||
{"end_allow_threads", _wrap_Session_end_allow_threads},
|
||||
{"check_hangup_hook", _wrap_Session_check_hangup_hook},
|
||||
{"run_dtmf_callback", _wrap_Session_run_dtmf_callback},
|
||||
{"unsetInputCallback", _wrap_Session_unsetInputCallback},
|
||||
{"setInputCallback", _wrap_Session_setInputCallback},
|
||||
{"setHangupHook", _wrap_Session_setHangupHook},
|
||||
{"ready", _wrap_Session_ready},
|
||||
|
|
|
@ -481,6 +481,7 @@ sub DESTROY {
|
|||
*run_dtmf_callback = *freeswitchc::Session_run_dtmf_callback;
|
||||
*setME = *freeswitchc::Session_setME;
|
||||
*setInputCallback = *freeswitchc::Session_setInputCallback;
|
||||
*unsetInputCallback = *freeswitchc::Session_unsetInputCallback;
|
||||
*setHangupHook = *freeswitchc::Session_setHangupHook;
|
||||
*ready = *freeswitchc::Session_ready;
|
||||
*swig_suuid_get = *freeswitchc::Session_suuid_get;
|
||||
|
|
|
@ -166,6 +166,17 @@ void Session::setHangupHook(char *func, char *arg)
|
|||
}
|
||||
}
|
||||
|
||||
void Session::unsetInputCallback(void)
|
||||
{
|
||||
sanity_check_noreturn;
|
||||
switch_safe_free(cb_function);
|
||||
switch_safe_free(cb_arg);
|
||||
switch_channel_set_private(channel, "CoreSession", NULL);
|
||||
args.input_callback = NULL;
|
||||
ap = NULL;
|
||||
|
||||
}
|
||||
|
||||
void Session::setInputCallback(char *cbfunc, char *funcargs)
|
||||
{
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ class Session : public CoreSession {
|
|||
virtual switch_status_t run_dtmf_callback(void *input, switch_input_type_t itype);
|
||||
void setME(SV *p);
|
||||
void setInputCallback(char *cbfunc = "on_input", char *funcargs = NULL);
|
||||
void unsetInputCallback(void);
|
||||
void setHangupHook(char *func, char *arg=NULL);
|
||||
bool ready();
|
||||
char *suuid;
|
||||
|
|
|
@ -9738,6 +9738,33 @@ XS(_wrap_Session_setInputCallback) {
|
|||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_unsetInputCallback) {
|
||||
{
|
||||
PERL::Session *arg1 = (PERL::Session *) 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_unsetInputCallback(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_PERL__Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_unsetInputCallback" "', argument " "1"" of type '" "PERL::Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< PERL::Session * >(argp1);
|
||||
(arg1)->unsetInputCallback();
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_setHangupHook__SWIG_0) {
|
||||
{
|
||||
PERL::Session *arg1 = (PERL::Session *) 0 ;
|
||||
|
@ -10602,6 +10629,7 @@ static swig_command_info swig_commands[] = {
|
|||
{"freeswitchc::Session_run_dtmf_callback", _wrap_Session_run_dtmf_callback},
|
||||
{"freeswitchc::Session_setME", _wrap_Session_setME},
|
||||
{"freeswitchc::Session_setInputCallback", _wrap_Session_setInputCallback},
|
||||
{"freeswitchc::Session_unsetInputCallback", _wrap_Session_unsetInputCallback},
|
||||
{"freeswitchc::Session_setHangupHook", _wrap_Session_setHangupHook},
|
||||
{"freeswitchc::Session_ready", _wrap_Session_ready},
|
||||
{"freeswitchc::Session_suuid_set", _wrap_Session_suuid_set},
|
||||
|
|
|
@ -323,6 +323,7 @@ class Session(CoreSession):
|
|||
def check_hangup_hook(*args): return _freeswitch.Session_check_hangup_hook(*args)
|
||||
def run_dtmf_callback(*args): return _freeswitch.Session_run_dtmf_callback(*args)
|
||||
def setInputCallback(*args): return _freeswitch.Session_setInputCallback(*args)
|
||||
def unsetInputCallback(*args): return _freeswitch.Session_unsetInputCallback(*args)
|
||||
def setHangupHook(*args): return _freeswitch.Session_setHangupHook(*args)
|
||||
def ready(*args): return _freeswitch.Session_ready(*args)
|
||||
__swig_setmethods__["cb_function"] = _freeswitch.Session_cb_function_set
|
||||
|
|
|
@ -216,6 +216,24 @@ void Session::setHangupHook(PyObject *pyfunc, PyObject *arg)
|
|||
|
||||
}
|
||||
|
||||
void Session::unsetInputCallback(void)
|
||||
{
|
||||
if (cb_function) {
|
||||
Py_XDECREF(cb_function);
|
||||
cb_function = NULL;
|
||||
}
|
||||
|
||||
if (cb_arg) {
|
||||
Py_XDECREF(cb_arg);
|
||||
cb_arg = NULL;
|
||||
}
|
||||
|
||||
switch_channel_set_private(channel, "CoreSession", NULL);
|
||||
args.input_callback = NULL;
|
||||
ap = NULL;
|
||||
|
||||
}
|
||||
|
||||
void Session::setInputCallback(PyObject *cbfunc, PyObject *funcargs)
|
||||
{
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ class Session : public CoreSession {
|
|||
|
||||
virtual switch_status_t run_dtmf_callback(void *input, switch_input_type_t itype);
|
||||
void setInputCallback(PyObject *cbfunc, PyObject *funcargs = NULL);
|
||||
void unsetInputCallback(void);
|
||||
void setHangupHook(PyObject *pyfunc, PyObject *arg = NULL);
|
||||
bool ready();
|
||||
|
||||
|
|
|
@ -9153,6 +9153,27 @@ fail:
|
|||
}
|
||||
|
||||
|
||||
SWIGINTERN PyObject *_wrap_Session_unsetInputCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||
PyObject *resultobj = 0;
|
||||
PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
PyObject * obj0 = 0 ;
|
||||
|
||||
if (!PyArg_ParseTuple(args,(char *)"O:Session_unsetInputCallback",&obj0)) SWIG_fail;
|
||||
res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_unsetInputCallback" "', argument " "1"" of type '" "PYTHON::Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
|
||||
(arg1)->unsetInputCallback();
|
||||
resultobj = SWIG_Py_Void();
|
||||
return resultobj;
|
||||
fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
SWIGINTERN PyObject *_wrap_Session_setHangupHook__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||
PyObject *resultobj = 0;
|
||||
PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
|
||||
|
@ -9659,6 +9680,7 @@ static PyMethodDef SwigMethods[] = {
|
|||
{ (char *)"Session_check_hangup_hook", _wrap_Session_check_hangup_hook, METH_VARARGS, NULL},
|
||||
{ (char *)"Session_run_dtmf_callback", _wrap_Session_run_dtmf_callback, METH_VARARGS, NULL},
|
||||
{ (char *)"Session_setInputCallback", _wrap_Session_setInputCallback, METH_VARARGS, NULL},
|
||||
{ (char *)"Session_unsetInputCallback", _wrap_Session_unsetInputCallback, METH_VARARGS, NULL},
|
||||
{ (char *)"Session_setHangupHook", _wrap_Session_setHangupHook, METH_VARARGS, NULL},
|
||||
{ (char *)"Session_ready", _wrap_Session_ready, METH_VARARGS, NULL},
|
||||
{ (char *)"Session_cb_function_set", _wrap_Session_cb_function_set, METH_VARARGS, NULL},
|
||||
|
|
Loading…
Reference in New Issue