You only need to use this function if you have a grammar in the speech port with same name as a grammar in the global space, and you wish to activate the global grammar.
- int LV_SRE_ActivateGlobalGrammar(HPORT hport,const char* gram_name);
The handle of the speech port for which you are activating the grammar.
The identifier for the grammar being activated. This is the same identifier that was given to the grammar when it was loaded.
No errors; this grammar is now active.
This grammar could not be activated, because the port was shutting down.
The input gram_name specifies a grammar that is not available for activation (either not loaded or has been unloaded).
The input hport is not a valid one.
An exception occurred while processing the request.
Since LV_SRE_ActivateGrammar searches the speech port's loaded grammars, and then searches the application level grammars, you only need to use LV_SRE_ActivateGlobalGrammar if there is a name conflict between your local and app-level grammars, and you need to activate the app-level one.
Detailed error and warning messages are sent to the speech port's logging callback function at priorities 0 and 1, respectively.
NOTE: As of LumenVox version 12.1, the use of "Global" grammars, and related functions has been deprecated. There is no longer any benefit from using global grammars (assigned at the application level) due to the advanced grammar caching mechanism that has been in place for some time. Users should adopt the use of port-assigned grammar functions (basically consisting of the same name, but without the 'Global' portion)