/// <summary> /// Retrieves all the supported languages. /// A language is specified as an ISO 3166 alpha-2 two letter country-code /// followed by ISO 639-1 for the two-letter language code. /// For example, "ko_KR" for Korean, "en_US" for American English. /// </summary> /// <since_tizen> 3 </since_tizen> /// <privilege> /// http://tizen.org/privilege/recorder /// </privilege> /// <privlevel> /// public /// </privlevel> /// <feature> /// http://tizen.org/feature/speech.control /// http://tizen.org/feature/microphone /// </feature> /// <exception cref="InvalidOperationException">This exception can be due to an invalid state.</exception> /// <exception cref="InvalidOperationException">This exception can be due to operation failed.</exception> /// <exception cref="NotSupportedException">This exception can be due to not supported.</exception> /// <exception cref="UnauthorizedAccessException">This exception can be due to permission denied.</exception> /// <pre> /// The state must be ready or initialized. /// </pre> public static IEnumerable <string> GetSupportedLanguages() { s_supportedLanguages = new List <string>(); s_supportedLanguagesCb = (IntPtr language, IntPtr userData) => { string languageStr = Marshal.PtrToStringAnsi(language); s_supportedLanguages.Add(languageStr); return(true); }; ErrorCode error = VcForeachSupportedLanguages(s_supportedLanguagesCb, IntPtr.Zero); if (error != ErrorCode.None) { Log.Error(LogTag, "GetSupportedLanguages Failed with error " + error); throw ExceptionFactory.CreateException(error); } return(s_supportedLanguages); }
internal static extern ErrorCode VcForeachSupportedLanguages(VcSupportedLanguageCb callback, IntPtr userData);