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 static Interop.Stt;
21 namespace Tizen.Uix.Stt
23 internal static class ExceptionFactory
25 internal static Exception CreateException(SttError err)
27 Tizen.Log.Error(LogTag, "Error " + err);
31 case SttError.OutOfMemory:
33 exp = new OutOfMemoryException("Out Of Memory");
37 case SttError.IoError:
39 exp = new InvalidOperationException("I/O Error Occurred");
43 case SttError.InvalidParameter:
45 exp = new ArgumentException("Invalid Parameters Provided");
49 case SttError.TimedOut:
51 exp = new TimeoutException("No answer from the STT service");
55 case SttError.OutOfNetwork:
57 exp = new InvalidOperationException("Network is down");
61 case SttError.PermissionDenied:
63 exp = new UnauthorizedAccessException("Permission Denied");
67 case SttError.NotSupported:
69 exp = new NotSupportedException("STT NOT supported");
73 case SttError.InvalidState:
75 exp = new InvalidOperationException("Invalid state");
79 case SttError.InvalidLanguage:
81 exp = new InvalidOperationException("Invalid language");
85 case SttError.EngineNotFound:
87 exp = new InvalidOperationException("No available engine");
91 case SttError.OperationFailed:
93 exp = new InvalidOperationException("Operation Failed");
97 case SttError.NotSupportedFeature:
99 exp = new InvalidOperationException("Not supported feature of current engine");
103 case SttError.RecordingTimedOut:
105 exp = new InvalidOperationException("Recording timed out");
109 case SttError.NoSpeech:
111 exp = new InvalidOperationException("No speech while recording");
115 case SttError.InProgressToReady:
117 exp = new InvalidOperationException("Progress to ready is not finished");
121 case SttError.InProgressToRecording:
123 exp = new InvalidOperationException("Progress to recording is not finished");
127 case SttError.InProgressToProcessing:
129 exp = new InvalidOperationException("Progress to processing is not finished");
133 case SttError.ServiceReset:
135 exp = new InvalidOperationException("Service reset");
141 exp = new Exception("");