add chatExecute method to events so you can respond from chatplan in js

This commit is contained in:
Anthony Minessale 2012-08-11 18:34:42 -05:00
parent 6732eae971
commit 527ad97001
1 changed files with 30 additions and 0 deletions

View File

@ -688,6 +688,35 @@ static JSBool event_fire(JSContext * cx, JSObject * obj, uintN argc, jsval * arg
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)
{
struct event_obj *eo = JS_GetPrivate(cx, obj);
@ -718,6 +747,7 @@ static JSFunctionSpec event_methods[] = {
{"getType", event_get_type, 1},
{"serialize", event_serialize, 0},
{"fire", event_fire, 0},
{"chatExecute", event_chat_execute, 0},
{"destroy", event_destroy_, 0},
{0}
};