From 1e12d4e1dfa54ea93e7ed217fc18450c154f7855 Mon Sep 17 00:00:00 2001 From: file Date: Tue, 18 Jul 2006 16:22:26 +0000 Subject: Expand speech API so that the developer can interact with the engine more directly and use specific functions of the connector even if a generic API call is not available git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37881 f38db490-d61c-443f-a65b-d21fe96a405b --- apps/app_speech_utils.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'apps/app_speech_utils.c') diff --git a/apps/app_speech_utils.c b/apps/app_speech_utils.c index c464576f7..a63eee828 100644 --- a/apps/app_speech_utils.c +++ b/apps/app_speech_utils.c @@ -228,6 +228,29 @@ static struct ast_custom_function speech_grammar_function = { .write = NULL, }; +/*! \brief SPEECH_ENGINE() Dialplan Function */ +static int speech_engine_write(struct ast_channel *chan, char *cmd, char *data, const char *value) +{ + struct ast_speech *speech = find_speech(chan); + + if (data == NULL || speech == NULL) + return -1; + + ast_speech_change(speech, data, value); + + return 0; +} + +static struct ast_custom_function speech_engine_function = { + .name = "SPEECH_ENGINE", + .synopsis = "Change a speech engine specific attribute.", + .syntax = "SPEECH_ENGINE(name)=value", + .desc = + "Changes a speech engine specific attribute.\n", + .read = NULL, + .write = speech_engine_write, +}; + /*! \brief SPEECH() Dialplan Function */ static int speech_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len) @@ -746,6 +769,7 @@ static int unload_module(void *mod) res |= ast_custom_function_unregister(&speech_score_function); res |= ast_custom_function_unregister(&speech_text_function); res |= ast_custom_function_unregister(&speech_grammar_function); + res |= ast_custom_function_unregister(&speech_engine_function); STANDARD_HANGUP_LOCALUSERS; @@ -769,6 +793,7 @@ static int load_module(void *mod) res |= ast_custom_function_register(&speech_score_function); res |= ast_custom_function_register(&speech_text_function); res |= ast_custom_function_register(&speech_grammar_function); + res |= ast_custom_function_register(&speech_engine_function); return res; } -- cgit v1.2.3