Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Uix.InputMethodManager / Interop / Interop.InputMethodManager.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 System.Runtime.InteropServices;
20
21 /// <summary>
22 /// Partial interop class.
23 /// </summary>
24 internal static partial class Interop
25 {
26     /// <summary>
27     /// InputMethodManager interop class.
28     /// </summary>
29     internal static class InputMethodManager
30     {
31         internal static string LogTag = "Tizen.Uix.InputMethodManager";
32
33         private const int ErrorInputMethodManager = -0x02F20000;
34
35         internal enum ErrorCode
36         {
37             None = Tizen.Internals.Errors.ErrorCode.None,                           /**< Successful */
38             InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,   /**< Invalid parameter */
39             PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied,   /**< Permission denied */
40             OperationFailed = ErrorInputMethodManager | 0x0010,                     /**< Operation failed  */
41         };
42
43         [DllImport(Libraries.InputMethodManager, EntryPoint = "ime_manager_show_ime_list")]
44         internal static extern ErrorCode ImeManagerShowImeList();
45
46         [DllImport(Libraries.InputMethodManager, EntryPoint = "ime_manager_show_ime_selector")]
47         internal static extern ErrorCode ImeManagerShowImeSelector();
48
49         [DllImport(Libraries.InputMethodManager, EntryPoint = "ime_manager_is_ime_enabled")]
50         internal static extern ErrorCode ImeManagerIsImeEnabled(string appId, out bool isEnabled);
51
52         [DllImport(Libraries.InputMethodManager, EntryPoint = "ime_manager_get_active_ime")]
53         internal static extern ErrorCode ImeManagerGetActiveIme(out string app_id);
54
55         [DllImport(Libraries.InputMethodManager, EntryPoint = "ime_manager_get_enabled_ime_count")]
56         internal static extern int ImeManagerGetEnabledImeCount();
57     }
58 }