/// <summary> /// Creates ThemeLoader. /// </summary> /// <since_tizen> 8 </since_tizen> /// <exception cref="OutOfMemoryException">Failed to create handle.</exception> public ThemeLoader() { Interop.ThemeManager.ErrorCode err = Interop.ThemeManager.LoaderCreate(out _loaderHandle); if (err != Interop.ThemeManager.ErrorCode.None) { throw Interop.ThemeManager.ThemeManagerErrorFactory.GetException(err, "Failed to create themeloader"); } }
/// <summary> /// Loads theme. /// </summary> /// <since_tizen> 8 </since_tizen> /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception> public Theme LoadTheme(string id) { IntPtr _themeHandle; Interop.ThemeManager.ErrorCode err = Interop.ThemeManager.LoaderLoadTheme(_loaderHandle, id, out _themeHandle); if (err != Interop.ThemeManager.ErrorCode.None) { throw Interop.ThemeManager.ThemeManagerErrorFactory.GetException(err, "Failed to load theme"); } return(new Theme(_themeHandle)); }
/// <summary> /// Gets bundle of theme IDs. /// </summary> /// <since_tizen> 8 </since_tizen> /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception> /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception> public IEnumerable <string> QueryIds() { IntPtr ids; string[] stringArray; int count; Interop.ThemeManager.ErrorCode err = Interop.ThemeManager.LoaderQueryId(_loaderHandle, out ids, out count); if (err != Interop.ThemeManager.ErrorCode.None) { throw Interop.ThemeManager.ThemeManagerErrorFactory.GetException(err, "Failed to query ids"); } IntPtrToStringArray(ids, count, out stringArray); return(stringArray); }
internal static Exception GetException(Interop.ThemeManager.ErrorCode err, string message) { string errMessage = string.Format("{0} err = {1}", message, err); Log.Warn(LogTag, errMessage); switch (err) { case Interop.ThemeManager.ErrorCode.InvalidParameter: return(new ArgumentException(errMessage)); case Interop.ThemeManager.ErrorCode.PermissionDenied: return(new UnauthorizedAccessException(errMessage)); case Interop.ThemeManager.ErrorCode.IoError: default: return(new InvalidOperationException(errMessage)); } }