2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 using Tizen.Internals.Errors;
21 namespace Tizen.Multimedia.Util
23 internal enum ThumbnailExtractorError
25 None = ErrorCode.None,
26 InvalidParameter = ErrorCode.InvalidParameter,
27 OutOfMemory = ErrorCode.OutOfMemory,
28 InvalidOperation = ErrorCode.InvalidOperation,
29 FileNoSpaceOnDevice = ErrorCode.FileNoSpaceOnDevice,
30 PermissionDenied = ErrorCode.PermissionDenied,
31 TizenThumbnailUtilError = -0x02F90000,
32 UnsupportedContent = TizenThumbnailUtilError | 0x01,
35 internal static class ThumbnailExtractorErrorExtensions
37 internal static void ThrowIfError(this ThumbnailExtractorError errorCode, string errorMessage)
39 if (errorCode == ThumbnailExtractorError.None)
44 throw errorCode.ToException(errorMessage);
47 internal static Exception ToException(this ThumbnailExtractorError errorCode, string errorMessage)
51 case ThumbnailExtractorError.InvalidParameter:
52 return new ArgumentException(errorMessage);
54 case ThumbnailExtractorError.OutOfMemory:
55 return new OutOfMemoryException(errorMessage);
57 case ThumbnailExtractorError.InvalidOperation:
58 return new InvalidOperationException(errorMessage);
60 case ThumbnailExtractorError.FileNoSpaceOnDevice:
61 return new IOException("No space to write on the device.");
63 case ThumbnailExtractorError.PermissionDenied:
64 return new UnauthorizedAccessException("[" + errorCode.ToString() + "]" + errorMessage);
66 case ThumbnailExtractorError.UnsupportedContent:
67 return new FileFormatException(errorMessage);
70 return new InvalidOperationException("[" + errorCode.ToString() + "]" + errorMessage);