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 LVSpeechPort::ActivateGlobalGrammar(const char* gram_name);
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 port is not valid (either CreateClient has not been called or DestroyClient has been called prior to this call).
An exception occurred while processing the request.
Since LVSpeechPort::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 'Grammar' portion)