Merge branch 'master' of git.freeswitch.org:freeswitch

This commit is contained in:
Steve Underwood 2012-08-12 22:12:06 +08:00
commit 51691d4c9a
2 changed files with 31 additions and 1 deletions

View File

@ -542,7 +542,7 @@ fail:
if (session) { if (session) {
switch_core_session_destroy(&session); switch_core_session_destroy(&session);
} }
return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; return SWITCH_STATUS_FALSE;
} }

View File

@ -688,6 +688,35 @@ static JSBool event_fire(JSContext * cx, JSObject * obj, uintN argc, jsval * arg
return JS_TRUE; return JS_TRUE;
} }
static JSBool event_chat_execute(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct event_obj *eo = JS_GetPrivate(cx, obj);
if (eo) {
if (argc > 0) {
char *app = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
char *arg = NULL;
if (argc > 1) {
arg = JS_GetStringBytes(JS_ValueToString(cx, argv[1]));
}
goto end;
switch_core_execute_chat_app(eo->event, app, arg);
*rval = BOOLEAN_TO_JSVAL(JS_TRUE);
return JS_TRUE;
}
}
end:
*rval = BOOLEAN_TO_JSVAL(JS_FALSE);
return JS_FALSE;
}
static JSBool event_destroy_(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval) static JSBool event_destroy_(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{ {
struct event_obj *eo = JS_GetPrivate(cx, obj); struct event_obj *eo = JS_GetPrivate(cx, obj);
@ -718,6 +747,7 @@ static JSFunctionSpec event_methods[] = {
{"getType", event_get_type, 1}, {"getType", event_get_type, 1},
{"serialize", event_serialize, 0}, {"serialize", event_serialize, 0},
{"fire", event_fire, 0}, {"fire", event_fire, 0},
{"chatExecute", event_chat_execute, 0},
{"destroy", event_destroy_, 0}, {"destroy", event_destroy_, 0},
{0} {0}
}; };