mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-13 20:50:41 +00:00
add chat app to perl
This commit is contained in:
parent
0891702118
commit
18897f9e3d
@ -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
|
|||||||
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
|
|||||||
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,
|
|||||||
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";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user