Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.Remoting / MediaController / MediaControllerError.cs
1 /*
2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3 *
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
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
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.
15 */
16
17 using System;
18 using System.IO;
19 using Tizen.Internals.Errors;
20
21 namespace Tizen.Multimedia.MediaController
22 {
23     internal enum MediaControllerError
24     {
25         None = ErrorCode.None,
26         InvalidParameter = ErrorCode.InvalidParameter,
27         OutOfMemory = ErrorCode.OutOfMemory,
28         InvalidOperation = ErrorCode.InvalidOperation,
29         NoSpaceOnDevice = ErrorCode.FileNoSpaceOnDevice,
30         PermissionDenied = ErrorCode.PermissionDenied,
31     };
32
33     internal static class MediaControllerValidator
34     {
35         internal static void ThrowIfError(MediaControllerError error, string errorMessage)
36         {
37             switch (error)
38             {
39                 case MediaControllerError.InvalidParameter:
40                     throw new ArgumentException(errorMessage);
41
42                 case MediaControllerError.OutOfMemory:
43                     throw new OutOfMemoryException(errorMessage);
44
45                 case MediaControllerError.InvalidOperation:
46                     throw new InvalidOperationException(errorMessage);
47
48                 case MediaControllerError.NoSpaceOnDevice:
49                     throw new IOException(errorMessage);
50
51                 case MediaControllerError.PermissionDenied:
52                     throw new UnauthorizedAccessException(errorMessage);
53             }
54         }
55     }
56 }
57