8e2661166d2299b3b1461d58d7b2a34564bed754
[platform/core/uifw/isf.git] / ism / src / isf_imcontrol_client.h
1 /*
2  * ISF(Input Service Framework)
3  *
4  * ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable.
5  * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
6  *
7  * Contact: Haifeng Deng <haifeng.deng@samsung.com>, Hengliang Luo <hl.luo@samsung.com>
8  *
9  * This library is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU Lesser General Public License as published by the
11  * Free Software Foundation; either version 2.1 of the License, or (at your option)
12  * any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but WITHOUT ANY
15  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17  * License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this library; if not, write to the Free Software Foundation, Inc., 51
21  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  *
23  */
24
25 #ifndef __ISF_IMCONTROL_CLIENT_H
26 #define __ISF_IMCONTROL_CLIENT_H
27
28 namespace scim
29 {
30
31 class EXAPI IMControlClient
32 {
33     class IMControlClientImpl;
34     IMControlClientImpl *m_impl;
35
36     IMControlClient (const IMControlClient &);
37     const IMControlClient & operator = (const IMControlClient &);
38
39 public:
40     IMControlClient ();
41     ~IMControlClient ();
42
43     int  open_connection        (void);
44     void close_connection       (void);
45     bool is_connected           (void) const;
46     int  get_panel2imclient_connection_number (void) const;
47     bool prepare                (void);
48     bool send                   (void);
49
50     bool set_active_ise_by_uuid (const char* uuid);
51     bool get_active_ise (String &uuid);
52     bool get_ise_list (int* count, char*** iselist);
53     bool get_ise_info (const char* uuid, String &name, String &language, int &type, int &option, String &module_name);
54     bool reset_ise_option (void);
55     void set_active_ise_to_default (void);
56     bool set_initial_ise_by_uuid (const char* uuid);
57     void show_ise_selector ();
58     void show_ise_option_window ();
59
60     bool get_all_helper_ise_info (HELPER_ISE_INFO &info);
61     bool set_enable_helper_ise_info (const char *appid, bool is_enabled);
62     bool show_helper_ise_list (void);
63     bool show_helper_ise_selector (void);
64     bool is_helper_ise_enabled (const char* appid, int &enabled);
65     bool get_recent_ime_geometry (int *x, int *y, int *w, int *h, int angle = -1);
66     bool hide_helper_ise (void);
67     void enable_remote_input (void);
68     void disable_remote_input (void);
69 };
70
71 }
72
73 #endif /* __ISF_IMCONTROL_CLIENT_H */
74
75 /*
76 vi:ts=4:nowrap:ai:expandtab
77 */