{0}
};
-
static JSBool request_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{
JSBool res = JS_TRUE;
return res;
}
-
JSClass request_class = {
"Request", JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub, request_getProperty, DEFAULT_SET_PROPERTY,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, request_destroy, NULL, NULL, NULL, NULL
};
-
static JSObject *new_request(JSContext *cx, JSObject *obj, struct request_obj *ro)
{
JSObject *Request;
{0}
};
-
static JSPropertySpec pcre_props[] = {
{"ready", PCRE_READY, JSPROP_READONLY | JSPROP_PERMANENT},
{0}
};
-
static JSBool pcre_getProperty(JSContext * cx, JSObject * obj, jsval id, jsval * vp)
{
JSBool res = JS_TRUE;
return JS_TRUE;
}
-
-
enum event_tinyid {
EVENT_READY
};
{0}
};
-
static JSPropertySpec event_props[] = {
{"ready", EVENT_READY, JSPROP_READONLY | JSPROP_PERMANENT},
{0}
};
-
static JSBool event_getProperty(JSContext * cx, JSObject * obj, jsval id, jsval * vp)
{
JSBool res = JS_TRUE;
return JS_TRUE;
}
-
name = JS_GetStringBytes(JS_ValueToString(cx, id));
/* numbers are our props anything else is a method */
if (name[0] >= 48 && name[0] <= 57) {
event_construct
};
-
/* Dtmf Object */
/*********************************************************************************/
static JSBool dtmf_construct(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
-
switch_dtmf_t *dtmf;
int32 duration = SWITCH_DEFAULT_DTMF_DURATION;
char *ename;
JS_SetPrivate(cx, obj, dtmf);
return JS_TRUE;
}
-
return JS_FALSE;
}
{0}
};
-
static JSBool dtmf_getProperty(JSContext * cx, JSObject * obj, jsval id, jsval * vp)
{
JSBool res = JS_TRUE;
return JS_TRUE;
}
-
name = JS_GetStringBytes(JS_ValueToString(cx, id));
/* numbers are our props anything else is a method */
if (name[0] >= 48 && name[0] <= 57) {
dtmf_construct
};
-
static void js_error(JSContext * cx, const char *message, JSErrorReport * report)
{
const char *filename = __FILE__;
}
switch_log_printf(SWITCH_CHANNEL_ID_LOG, filename, modname, line, NULL, SWITCH_LOG_ERROR, "%s %s%s\n", ex, message, text);
-
}
-
static switch_status_t sm_load_file(char *filename)
{
sm_loadable_module_t *module = NULL;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "Successfully Loaded [%s]\n", module->filename);
return SWITCH_STATUS_SUCCESS;
-
}
static switch_status_t sm_load_module(const char *dir, const char *fname)
const char *ext = ".so";
#endif
-
if ((file = switch_core_strdup(module_manager.pool, fname)) == 0) {
return SWITCH_STATUS_FALSE;
}
return Event;
}
-
JSObject *new_js_dtmf(switch_dtmf_t *dtmf, char *name, JSContext * cx, JSObject * obj)
{
JSObject *DTMF = NULL;
jsval nval , *rval = &nval;
JSContext *cx = cb_state->cx;
JSObject *obj = cb_state->obj;
-
METHOD_SANITY_CHECK();
argv[argc++] = cb_state->arg;
}
-
-
if (jss->stack_depth > MAX_STACK_DEPTH) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Maximum recursive callback limit %d reached.\n", MAX_STACK_DEPTH);
jss->stack_depth--;
channel = switch_core_session_get_channel(jss->session);
switch_assert(channel != NULL);
-
while (switch_core_session_dequeue_event(jss->session, &event) == SWITCH_STATUS_SUCCESS) {
switch_event_destroy(&event);
}
CHANNEL_SANITY_CHECK();
-
if (argc > 0) {
file_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
if (switch_strlen_zero(file_name)) {
}
}
-
cb_state.extra = &fh;
cb_state.ret = BOOLEAN_TO_JSVAL(JS_FALSE);
cb_state.saveDepth = JS_SuspendRequest(cx);
return JS_TRUE;
}
-
static JSBool session_collect_input(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct js_session *jss = JS_GetPrivate(cx, obj);
JSFunction *function;
switch_input_args_t args = { 0 };
-
METHOD_SANITY_CHECK();
channel = switch_core_session_get_channel(jss->session);
return JS_FALSE;
}
-
if (argc > 1) {
phrase_data = JS_GetStringBytes(JS_ValueToString(cx, argv[1]));
}
}
}
-
return SWITCH_STATUS_SUCCESS;
}
CHANNEL_SANITY_CHECK();
-
if (argc > 0) {
file_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
if (switch_strlen_zero(file_name)) {
}
}
-
cb_state.extra = &fh;
cb_state.ret = BOOLEAN_TO_JSVAL(JS_FALSE);
cb_state.saveDepth = JS_SuspendRequest(cx);
}
}
-
static switch_status_t init_speech_engine(struct js_session *jss, char *engine, char *voice)
{
switch_codec_t *read_codec;
return SWITCH_STATUS_FALSE;
}
-
if (switch_core_speech_open(&jss->speech->sh, engine, voice, rate, interval,
&flags, switch_core_session_get_pool(jss->session)) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid TTS module!\n");
}
-
static JSBool session_speak(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct js_session *jss = JS_GetPrivate(cx, obj);
voice_name = JS_GetStringBytes(JS_ValueToString(cx, argv[1]));
text = JS_GetStringBytes(JS_ValueToString(cx, argv[2]));
-
if (switch_strlen_zero(tts_name)) {
eval_some_js("~throw new Error(\"Invalid TTS Name\");", cx, obj, rval);
return JS_FALSE;
return JS_FALSE;
}
-
if (jss->speech && strcasecmp(jss->speech->sh.name, tts_name)) {
destroy_speech_engine(jss);
}
}
}
-
codec = switch_core_session_get_read_codec(jss->session);
cb_state.ret = BOOLEAN_TO_JSVAL(JS_FALSE);
cb_state.saveDepth = JS_SuspendRequest(cx);
JS_ValueToInt32(cx, argv[4], &abs_timeout);
}
-
switch_ivr_collect_digits_count(jss->session, buf, sizeof(buf), digits, terminators, &term, timeout, digit_timeout, abs_timeout);
*rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, buf));
return JS_TRUE;
return JS_TRUE;
}
-
-
static JSBool session_wait_for_media(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct js_session *jss = JS_GetPrivate(cx, obj);
return JS_TRUE;
}
-
static JSBool session_wait_for_answer(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct js_session *jss = JS_GetPrivate(cx, obj);
/* you can execute some apps before you answer */
/* CHANNEL_SANITY_CHECK(); */
-
if (argc > 0) {
const switch_application_interface_t *application_interface;
*rval = BOOLEAN_TO_JSVAL(JS_FALSE);
return JS_TRUE;
-
}
static JSBool session_send_event(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
*rval = BOOLEAN_TO_JSVAL(JS_TRUE);
return JS_TRUE;
-
}
-
static JSBool session_hangup(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct js_session *jss = JS_GetPrivate(cx, obj);
cause = switch_channel_str2cause(cause_name);
}
-
switch_channel_hangup(channel, cause);
switch_core_session_kill_channel(jss->session, SWITCH_SIG_KILL);
return JS_TRUE;
}
}
return realsize;
-
}
-
-
static size_t file_callback(void *ptr, size_t size, size_t nmemb, void *data)
{
register unsigned int realsize = (unsigned int) (size * nmemb);
return JS_TRUE;
}
-
static JSBool js_fetchurl(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
char *url = NULL;
}
#endif
-
/* Session Object */
/*********************************************************************************/
enum session_tinyid {
{0}
};
-
static JSPropertySpec session_props[] = {
{"name", SESSION_NAME, JSPROP_READONLY | JSPROP_PERMANENT},
{"state", SESSION_STATE, JSPROP_READONLY | JSPROP_PERMANENT},
{0}
};
-
static JSBool session_getProperty(JSContext * cx, JSObject * obj, jsval id, jsval * vp)
{
struct js_session *jss = JS_GetPrivate(cx, obj);
default:
*vp = BOOLEAN_TO_JSVAL(JS_FALSE);
break;
-
}
return JS_TRUE;
session_construct
};
-
static JSObject *new_js_session(JSContext * cx, JSObject * obj, switch_core_session_t *session, struct js_session **jss, char *name, int flags)
{
JSObject *session_obj;
}
return JS_TRUE;
-
}
-
static JSBool session_originate(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
struct js_session *jss = NULL;
{0}
};
-
static JSPropertySpec fileio_props[] = {
{"path", FILEIO_PATH, JSPROP_READONLY | JSPROP_PERMANENT},
{"open", FILEIO_OPEN, JSPROP_READONLY | JSPROP_PERMANENT},
{0}
};
-
static JSBool fileio_getProperty(JSContext * cx, JSObject * obj, jsval id, jsval * vp)
{
JSBool res = JS_TRUE;
fileio_construct
};
-
/* Built-In*/
/*********************************************************************************/
static JSBool js_exit(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
line = JS_GetScriptBaseLineNumber(cx, script);
}
-
if (argc > 1) {
if ((level_str = JS_GetStringBytes(JS_ValueToString(cx, argv[0])))) {
level = switch_log_str2level(level_str);
}
return JS_TRUE;
-
}
static JSBool js_api_execute(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
}
}
-
stream.data = retbuf;
stream.end = stream.data;
stream.data_size = sizeof(retbuf);
return JS_FALSE;
}
-
if (argc > 2) {
if ((function = JS_ValueToFunction(cx, argv[2]))) {
memset(&cb_state, 0, sizeof(cb_state));
return JS_FALSE;
}
-
static JSBool js_file_unlink(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
{
const char *path;
{0}
};
-
static int env_init(JSContext * cx, JSObject * javascript_object)
{
-
JS_DefineFunctions(cx, javascript_object, fs_functions);
JS_InitStandardClasses(cx, javascript_object);
}
return;
-
}
SWITCH_STANDARD_APP(js_dp_function)
return NULL;
}
-
static switch_memory_pool_t *module_pool = NULL;
static void js_thread_launch(const char *text)
SWITCH_STANDARD_API(launch_async)
{
-
if (switch_strlen_zero(cmd)) {
stream->write_function(stream, "USAGE: %s\n", js_run_interface.syntax);
return SWITCH_STATUS_SUCCESS;
switch_safe_free(path);
}
-
}
SWITCH_MODULE_LOAD_FUNCTION(mod_spidermonkey_load)