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 System.Collections.Generic;
20 using System.Runtime.InteropServices;
21 using static Interop.Stt;
22 using static Tizen.Uix.Stt.ResultTime;
24 namespace Tizen.Uix.Stt
27 /// The recognition result from the engine.
29 /// <since_tizen> 3 </since_tizen>
30 public class RecognitionResultEventArgs
32 private ResultEvent _result;
33 private List<string> _data = new List<string>();
34 private ResultMessage _msg;
35 private int _dataCount;
37 internal RecognitionResultEventArgs(ResultEvent e, IntPtr data, int count, string msg)
42 case "stt.result.message.none":
44 _msg = ResultMessage.None;
48 case "stt.result.message.error.too.soon":
50 _msg = ResultMessage.TooSoon;
54 case "stt.result.message.error.too.short":
56 _msg = ResultMessage.TooShort;
60 case "stt.result.message.error.too.long":
62 _msg = ResultMessage.TooLong;
66 case "stt.result.message.error.too.quiet":
68 _msg = ResultMessage.TooQuiet;
72 case "stt.result.message.error.too.loud":
74 _msg = ResultMessage.TooLoud;
78 case "stt.result.message.error.too.fast":
80 _msg = ResultMessage.TooFast;
86 this._dataCount = count;
91 IntPtr[] dataArray = new IntPtr[count];
92 Marshal.Copy(data, dataArray, 0, count);
93 foreach (IntPtr handle in dataArray)
95 string info = Marshal.PtrToStringAnsi(handle);
102 /// The result event.
104 /// <since_tizen> 3 </since_tizen>
105 public ResultEvent Result
116 /// <since_tizen> 3 </since_tizen>
117 public IEnumerable<string> Data
126 /// Returns the result text count.
128 /// <since_tizen> 3 </since_tizen>
138 /// The engine message.
140 /// <since_tizen> 3 </since_tizen>
141 public ResultMessage Message