提交 18897f9e authored 作者: Anthony Minessale's avatar Anthony Minessale

add chat app to perl

上级 08917021
...@@ -234,6 +234,7 @@ struct perl_o { ...@@ -234,6 +234,7 @@ struct perl_o {
switch_stream_handle_t *stream; switch_stream_handle_t *stream;
switch_core_session_t *session; switch_core_session_t *session;
char *cmd; char *cmd;
switch_event_t *message;
int d; int d;
}; };
...@@ -247,6 +248,7 @@ static void *SWITCH_THREAD_FUNC perl_thread_run(switch_thread_t *thread, void *o ...@@ -247,6 +248,7 @@ static void *SWITCH_THREAD_FUNC perl_thread_run(switch_thread_t *thread, void *o
char *cmd = po->cmd; char *cmd = po->cmd;
switch_stream_handle_t *stream = po->stream; switch_stream_handle_t *stream = po->stream;
switch_core_session_t *session = po->session; switch_core_session_t *session = po->session;
switch_event_t *message = po->message;
if (session) { if (session) {
uuid = switch_core_session_get_uuid(session); uuid = switch_core_session_get_uuid(session);
...@@ -271,6 +273,11 @@ static void *SWITCH_THREAD_FUNC perl_thread_run(switch_thread_t *thread, void *o ...@@ -271,6 +273,11 @@ static void *SWITCH_THREAD_FUNC perl_thread_run(switch_thread_t *thread, void *o
mod_perl_conjure_event(my_perl, stream->param_event, "env"); mod_perl_conjure_event(my_perl, stream->param_event, "env");
} }
} }
if (message) {
mod_perl_conjure_event(my_perl, message, "message");
}
//Perl_safe_eval(my_perl, cmd); //Perl_safe_eval(my_perl, cmd);
perl_parse_and_execute(my_perl, cmd, NULL); perl_parse_and_execute(my_perl, cmd, NULL);
} }
...@@ -432,6 +439,27 @@ static switch_xml_t perl_fetch(const char *section, ...@@ -432,6 +439,27 @@ static switch_xml_t perl_fetch(const char *section,
return xml; return xml;
} }
SWITCH_STANDARD_CHAT_APP(perl_chat_function)
{
struct perl_o po = { 0 };
if (zstr(data)) {
return SWITCH_STATUS_FALSE;
}
po.cmd = strdup(data);
po.stream = NULL;
po.session = NULL;
po.message = message;
perl_thread_run(NULL, &po);
return SWITCH_STATUS_SUCCESS;
}
static switch_status_t do_config(void) static switch_status_t do_config(void)
{ {
char *cf = "perl.conf"; char *cf = "perl.conf";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论