提交 c13c187a authored 作者: Anthony Minessale's avatar Anthony Minessale

change execute and executeAsync to return the last event instead of status since…

change execute and executeAsync to return the last event instead of status since it will almost always be 0

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15973 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 9d348910
......@@ -19,6 +19,8 @@
%newobject ESLconnection::filter;
%newobject ESLconnection::recvEvent;
%newobject ESLconnection::recvEventTimed;
%newobject ESLconnection::execute;
%newobject ESLconnection::executeAsync;
#endif
%include "esl_oop.h"
......@@ -887,13 +887,13 @@ SWIGEXPORT jint JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1events(JNI
}
SWIGEXPORT jint JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1execute(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) {
jint jresult = 0 ;
SWIGEXPORT jlong JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1execute(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) {
jlong jresult = 0 ;
ESLconnection *arg1 = (ESLconnection *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
(void)jenv;
(void)jcls;
......@@ -914,8 +914,8 @@ SWIGEXPORT jint JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1execute(JN
arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
if (!arg4) return 0;
}
result = (int)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
jresult = (jint)result;
result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
*(ESLevent **)&jresult = result;
if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
......@@ -923,13 +923,13 @@ SWIGEXPORT jint JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1execute(JN
}
SWIGEXPORT jint JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1executeAsync(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) {
jint jresult = 0 ;
SWIGEXPORT jlong JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1executeAsync(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) {
jlong jresult = 0 ;
ESLconnection *arg1 = (ESLconnection *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
(void)jenv;
(void)jcls;
......@@ -950,8 +950,8 @@ SWIGEXPORT jint JNICALL Java_org_freeswitch_esl_eslJNI_ESLconnection_1executeAsy
arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
if (!arg4) return 0;
}
result = (int)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
jresult = (jint)result;
result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
*(ESLevent **)&jresult = result;
if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
......
......@@ -96,12 +96,14 @@ public class ESLconnection {
return eslJNI.ESLconnection_events(swigCPtr, this, etype, value);
}
public int execute(String app, String arg, String uuid) {
return eslJNI.ESLconnection_execute(swigCPtr, this, app, arg, uuid);
public ESLevent execute(String app, String arg, String uuid) {
long cPtr = eslJNI.ESLconnection_execute(swigCPtr, this, app, arg, uuid);
return (cPtr == 0) ? null : new ESLevent(cPtr, true);
}
public int executeAsync(String app, String arg, String uuid) {
return eslJNI.ESLconnection_executeAsync(swigCPtr, this, app, arg, uuid);
public ESLevent executeAsync(String app, String arg, String uuid) {
long cPtr = eslJNI.ESLconnection_executeAsync(swigCPtr, this, app, arg, uuid);
return (cPtr == 0) ? null : new ESLevent(cPtr, true);
}
public int setAsyncExecute(String val) {
......
......@@ -44,8 +44,8 @@ class eslJNI {
public final static native long ESLconnection_recvEventTimed(long jarg1, ESLconnection jarg1_, int jarg2);
public final static native long ESLconnection_filter(long jarg1, ESLconnection jarg1_, String jarg2, String jarg3);
public final static native int ESLconnection_events(long jarg1, ESLconnection jarg1_, String jarg2, String jarg3);
public final static native int ESLconnection_execute(long jarg1, ESLconnection jarg1_, String jarg2, String jarg3, String jarg4);
public final static native int ESLconnection_executeAsync(long jarg1, ESLconnection jarg1_, String jarg2, String jarg3, String jarg4);
public final static native long ESLconnection_execute(long jarg1, ESLconnection jarg1_, String jarg2, String jarg3, String jarg4);
public final static native long ESLconnection_executeAsync(long jarg1, ESLconnection jarg1_, String jarg2, String jarg3, String jarg4);
public final static native int ESLconnection_setAsyncExecute(long jarg1, ESLconnection jarg1_, String jarg2);
public final static native int ESLconnection_setEventLock(long jarg1, ESLconnection jarg1_, String jarg2);
public final static native int ESLconnection_disconnect(long jarg1, ESLconnection jarg1_);
......
......@@ -2625,7 +2625,7 @@ static int _wrap_ESLconnection_execute(lua_State* L) {
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
SWIG_check_num_args("execute",2,4)
if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("execute",1,"ESLconnection *");
......@@ -2644,9 +2644,9 @@ static int _wrap_ESLconnection_execute(lua_State* L) {
if(lua_gettop(L)>=4){
arg4 = (char *)lua_tostring(L, 4);
}
result = (int)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
SWIG_arg=0;
lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
SWIG_NewPointerObj(L,result,SWIGTYPE_p_ESLevent,1); SWIG_arg++;
return SWIG_arg;
if(0) SWIG_fail;
......@@ -2663,7 +2663,7 @@ static int _wrap_ESLconnection_executeAsync(lua_State* L) {
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
SWIG_check_num_args("executeAsync",2,4)
if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("executeAsync",1,"ESLconnection *");
......@@ -2682,9 +2682,9 @@ static int _wrap_ESLconnection_executeAsync(lua_State* L) {
if(lua_gettop(L)>=4){
arg4 = (char *)lua_tostring(L, 4);
}
result = (int)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
SWIG_arg=0;
lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
SWIG_NewPointerObj(L,result,SWIGTYPE_p_ESLevent,1); SWIG_arg++;
return SWIG_arg;
if(0) SWIG_fail;
......
......@@ -290,10 +290,10 @@ class ESLPINVOKE {
public static extern int ESLconnection_events(HandleRef jarg1, string jarg2, string jarg3);
[DllImport("ESL", EntryPoint="CSharp_ESLconnection_execute")]
public static extern int ESLconnection_execute(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
public static extern IntPtr ESLconnection_execute(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
[DllImport("ESL", EntryPoint="CSharp_ESLconnection_executeAsync")]
public static extern int ESLconnection_executeAsync(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
public static extern IntPtr ESLconnection_executeAsync(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
[DllImport("ESL", EntryPoint="CSharp_ESLconnection_setAsyncExecute")]
public static extern int ESLconnection_setAsyncExecute(HandleRef jarg1, string jarg2);
......
......@@ -111,13 +111,15 @@ public class ESLconnection : IDisposable {
return ret;
}
public int execute(string app, string arg, string uuid) {
int ret = ESLPINVOKE.ESLconnection_execute(swigCPtr, app, arg, uuid);
public ESLevent execute(string app, string arg, string uuid) {
IntPtr cPtr = ESLPINVOKE.ESLconnection_execute(swigCPtr, app, arg, uuid);
ESLevent ret = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);
return ret;
}
public int executeAsync(string app, string arg, string uuid) {
int ret = ESLPINVOKE.ESLconnection_executeAsync(swigCPtr, app, arg, uuid);
public ESLevent executeAsync(string app, string arg, string uuid) {
IntPtr cPtr = ESLPINVOKE.ESLconnection_executeAsync(swigCPtr, app, arg, uuid);
ESLevent ret = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);
return ret;
}
......
......@@ -747,38 +747,38 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_events(void * jarg1, char * jarg
}
SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_execute(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
int jresult ;
SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_execute(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
void * jresult ;
ESLconnection *arg1 = (ESLconnection *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
arg1 = (ESLconnection *)jarg1;
arg2 = (char *)jarg2;
arg3 = (char *)jarg3;
arg4 = (char *)jarg4;
result = (int)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
jresult = result;
result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
jresult = (void *)result;
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_executeAsync(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
int jresult ;
SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_executeAsync(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
void * jresult ;
ESLconnection *arg1 = (ESLconnection *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
arg1 = (ESLconnection *)jarg1;
arg2 = (char *)jarg2;
arg3 = (char *)jarg3;
arg4 = (char *)jarg4;
result = (int)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
jresult = result;
result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
jresult = (void *)result;
return jresult;
}
......
......@@ -3221,7 +3221,7 @@ XS(_wrap_ESLconnection_execute) {
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
......@@ -3263,8 +3263,8 @@ XS(_wrap_ESLconnection_execute) {
}
arg4 = reinterpret_cast< char * >(buf4);
}
result = (int)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ESLevent, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
......@@ -3286,7 +3286,7 @@ XS(_wrap_ESLconnection_executeAsync) {
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
......@@ -3328,8 +3328,8 @@ XS(_wrap_ESLconnection_executeAsync) {
}
arg4 = reinterpret_cast< char * >(buf4);
}
result = (int)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ESLevent, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
......
......@@ -188,7 +188,7 @@ class ESLconnection {
case 2: $r=ESLconnection_execute($this->_cPtr,$app,$arg); break;
default: $r=ESLconnection_execute($this->_cPtr,$app,$arg,$uuid);
}
return $r;
return is_resource($r) ? new ESLevent($r) : $r;
}
function executeAsync($app,$arg=null,$uuid=null) {
......@@ -197,7 +197,7 @@ class ESLconnection {
case 2: $r=ESLconnection_executeAsync($this->_cPtr,$app,$arg); break;
default: $r=ESLconnection_executeAsync($this->_cPtr,$app,$arg,$uuid);
}
return $r;
return is_resource($r) ? new ESLevent($r) : $r;
}
function setAsyncExecute($val) {
......
差异被折叠。
......@@ -4071,7 +4071,7 @@ SWIGINTERN PyObject *_wrap_ESLconnection_execute(PyObject *SWIGUNUSEDPARM(self),
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
......@@ -4113,8 +4113,8 @@ SWIGINTERN PyObject *_wrap_ESLconnection_execute(PyObject *SWIGUNUSEDPARM(self),
}
arg4 = reinterpret_cast< char * >(buf4);
}
result = (int)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
resultobj = SWIG_From_int(static_cast< int >(result));
result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ESLevent, SWIG_POINTER_OWN | 0 );
if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
......@@ -4133,7 +4133,7 @@ SWIGINTERN PyObject *_wrap_ESLconnection_executeAsync(PyObject *SWIGUNUSEDPARM(s
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
......@@ -4175,8 +4175,8 @@ SWIGINTERN PyObject *_wrap_ESLconnection_executeAsync(PyObject *SWIGUNUSEDPARM(s
}
arg4 = reinterpret_cast< char * >(buf4);
}
result = (int)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
resultobj = SWIG_From_int(static_cast< int >(result));
result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ESLevent, SWIG_POINTER_OWN | 0 );
if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
......
......@@ -1902,7 +1902,7 @@ SWIG_ruby_failed(void)
}
/*@SWIG:/usr/share/swig/1.3.35/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
/*@SWIG:/usr/local/share/swig/1.3.35/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
{
VALUE obj = args[0];
......@@ -3204,7 +3204,7 @@ _wrap_ESLconnection_execute(int argc, VALUE *argv, VALUE self) {
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
......@@ -3245,8 +3245,8 @@ _wrap_ESLconnection_execute(int argc, VALUE *argv, VALUE self) {
}
arg4 = reinterpret_cast< char * >(buf4);
}
result = (int)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
vresult = SWIG_From_int(static_cast< int >(result));
result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4);
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ESLevent, SWIG_POINTER_OWN | 0 );
if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
......@@ -3265,7 +3265,7 @@ _wrap_ESLconnection_executeAsync(int argc, VALUE *argv, VALUE self) {
char *arg2 = (char *) 0 ;
char *arg3 = (char *) NULL ;
char *arg4 = (char *) NULL ;
int result;
ESLevent *result = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
......@@ -3306,8 +3306,8 @@ _wrap_ESLconnection_executeAsync(int argc, VALUE *argv, VALUE self) {
}
arg4 = reinterpret_cast< char * >(buf4);
}
result = (int)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
vresult = SWIG_From_int(static_cast< int >(result));
result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4);
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ESLevent, SWIG_POINTER_OWN | 0 );
if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
......
......@@ -148,13 +148,19 @@ int ESLconnection::setEventLock(const char *val)
return handle.event_lock;
}
int ESLconnection::execute(const char *app, const char *arg, const char *uuid)
ESLevent *ESLconnection::execute(const char *app, const char *arg, const char *uuid)
{
return esl_execute(&handle, app, arg, uuid);
if (esl_execute(&handle, app, arg, uuid) == ESL_SUCCESS) {
esl_event_t *event;
esl_event_dup(&event, handle.last_sr_event);
return new ESLevent(event, 1);
}
return NULL;
}
int ESLconnection::executeAsync(const char *app, const char *arg, const char *uuid)
ESLevent *ESLconnection::executeAsync(const char *app, const char *arg, const char *uuid)
{
int async = handle.async_execute;
int r;
......@@ -163,7 +169,13 @@ int ESLconnection::executeAsync(const char *app, const char *arg, const char *uu
r = esl_execute(&handle, app, arg, uuid);
handle.async_execute = async;
return r;
if (r == ESL_SUCCESS) {
esl_event_t *event;
esl_event_dup(&event, handle.last_sr_event);
return new ESLevent(event, 1);
}
return NULL;
}
int ESLconnection::sendEvent(ESLevent *send_me)
......
......@@ -87,8 +87,8 @@ class ESLconnection {
ESLevent *recvEventTimed(int ms);
ESLevent *filter(const char *header, const char *value);
int events(const char *etype, const char *value);
int execute(const char *app, const char *arg = NULL, const char *uuid = NULL);
int executeAsync(const char *app, const char *arg = NULL, const char *uuid = NULL);
ESLevent *execute(const char *app, const char *arg = NULL, const char *uuid = NULL);
ESLevent *executeAsync(const char *app, const char *arg = NULL, const char *uuid = NULL);
int setAsyncExecute(const char *val);
int setEventLock(const char *val);
int disconnect(void);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论