Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Uix.Tts / Tizen.Uix.Tts / ExceptionFactory.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
18 using System;
19 using static Interop.Tts;
20
21 namespace Tizen.Uix.Tts
22 {
23     internal static class ExceptionFactory
24     {
25         internal static Exception CreateException(TtsError err)
26         {
27             Tizen.Log.Error(LogTag, "Error " + err);
28             Exception exp;
29             switch (err)
30             {
31                 case TtsError.OutOfMemory:
32                     {
33                         exp = new OutOfMemoryException("Out Of Memory");
34                         break;
35                     }
36
37                 case TtsError.IoError:
38                     {
39                         exp = new InvalidOperationException("I/O Error Occurred");
40                         break;
41                     }
42
43                 case TtsError.InvalidParameter:
44                     {
45                         exp = new ArgumentException("Invalid Parameters Provided");
46                         break;
47                     }
48
49                 case TtsError.TimedOut:
50                     {
51                         exp = new TimeoutException("No answer from the TTS service");
52                         break;
53                     }
54
55                 case TtsError.OutOfNetwork:
56                     {
57                         exp = new InvalidOperationException("Network is down");
58                         break;
59                     }
60
61                 case TtsError.PermissionDenied:
62                     {
63                         exp = new UnauthorizedAccessException("Permission Denied");
64                         break;
65                     }
66
67                 case TtsError.NotSupported:
68                     {
69                         exp = new NotSupportedException("TTS NOT supported");
70                         break;
71                     }
72
73                 case TtsError.InvalidState:
74                     {
75                         exp = new InvalidOperationException("Invalid state");
76                         break;
77                     }
78
79                 case TtsError.InvalidVoice:
80                     {
81                         exp = new InvalidOperationException("Invalid Voice");
82                         break;
83                     }
84
85                 case TtsError.EngineNotFound:
86                     {
87                         exp = new InvalidOperationException("No available engine");
88                         break;
89                     }
90
91                 case TtsError.OperationFailed:
92                     {
93                         exp = new InvalidOperationException("Operation Failed");
94                         break;
95                     }
96
97                 case TtsError.AudioPolicyBlocked:
98                     {
99                         exp = new InvalidOperationException("AudioPolicyBlocked");
100                         break;
101                     }
102
103                 case TtsError.NotSupportedFeature:
104                     {
105                         exp = new InvalidOperationException("Feature NotSupported");
106                         break;
107                     }
108
109                 case TtsError.ServiceReset:
110                     {
111                         exp = new InvalidOperationException("Service Reset");
112                         break;
113                     }
114
115                 default:
116                     {
117                         exp = new Exception("");
118                         break;
119                     }
120
121             }
122
123             return exp;
124
125         }
126     }
127 }