Remove conflict between namespace and class name
[platform/core/csapi/tizenfx.git] / src / Tizen.Uix.Tts / Tizen.Uix.Tts / ErrorOccuredEventArgs.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     /// <summary>
24     /// This class holds information related to the TTS ErrorOccured Event
25     /// </summary>
26     public class ErrorOccuredEventArgs
27     {
28         private IntPtr _handle;
29
30         internal ErrorOccuredEventArgs(IntPtr handle, int utteranceId, Interop.Tts.TtsError error)
31         {
32             this._handle = handle;
33             this.UtteranceId = utteranceId;
34             switch (error)
35             {
36                 case Interop.Tts.TtsError.None:
37                     {
38                         ErrorValue = Error.None;
39                         break;
40                     }
41
42                 case Interop.Tts.TtsError.OutOfMemory:
43                     {
44                         ErrorValue = Error.OutOfMemory;
45                         break;
46                     }
47
48                 case Interop.Tts.TtsError.IoError:
49                     {
50                         ErrorValue = Error.IoError;
51                         break;
52                     }
53
54                 case Interop.Tts.TtsError.InvalidParameter:
55                     {
56                         ErrorValue = Error.InvalidParameter;
57                         break;
58                     }
59
60                 case Interop.Tts.TtsError.TimedOut:
61                     {
62                         ErrorValue = Error.TimedOut;
63                         break;
64                     }
65
66                 case Interop.Tts.TtsError.OutOfNetwork:
67                     {
68                         ErrorValue = Error.OutOfNetwork;
69                         break;
70                     }
71
72                 case Interop.Tts.TtsError.PermissionDenied:
73                     {
74                         ErrorValue = Error.PermissionDenied;
75                         break;
76                     }
77
78                 case Interop.Tts.TtsError.NotSupported:
79                     {
80                         ErrorValue = Error.NotSupported;
81                         break;
82                     }
83
84                 case Interop.Tts.TtsError.InvalidState:
85                     {
86                         ErrorValue = Error.InvalidState;
87                         break;
88                     }
89
90                 case Interop.Tts.TtsError.InvalidVoice:
91                     {
92                         ErrorValue = Error.InvalidVoice;
93                         break;
94                     }
95
96                 case Interop.Tts.TtsError.EngineNotFound:
97                     {
98                         ErrorValue = Error.EngineNotFound;
99                         break;
100                     }
101
102                 case Interop.Tts.TtsError.OperationFailed:
103                     {
104                         ErrorValue = Error.OperationFailed;
105                         break;
106                     }
107
108                 case Interop.Tts.TtsError.AudioPolicyBlocked:
109                     {
110                         ErrorValue = Error.AudioPolicyBlocked;
111                         break;
112                     }
113             }
114         }
115
116         /// <summary>
117         /// The Utterance Id
118         /// </summary>
119         public int UtteranceId
120         {
121             get;
122             internal set;
123         }
124
125         /// <summary>
126         /// The Error Value
127         /// </summary>
128         public Error ErrorValue
129         {
130             get;
131             internal set;
132         }
133
134         /// <summary>
135         /// Gets the current error message.
136         /// </summary>
137         /// <returns>
138         /// string error message
139         /// </returns>
140         public string GetErrorMessage
141         {
142             get
143             {
144                 string errorMesage = "";
145                 TtsError error = TtsGetErrorMessage(_handle, out errorMesage);
146                 if (error != TtsError.None)
147                 {
148                     Log.Error(LogTag, "GetErrorMessage Failed with error " + error);
149                     return "";
150                 }
151
152                 return errorMesage;
153             }
154
155         }
156     }
157 }