upload tizen 2.0 beta code
[profile/ivi/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) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
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 typedef Slot1<void, int> IMControlClientSlotVoid;
32
33
34 class IMControlClient
35 {
36     class IMControlClientImpl;
37     IMControlClientImpl *m_impl;
38
39     IMControlClient (const IMControlClient &);
40     const IMControlClient & operator = (const IMControlClient &);
41
42 public:
43     IMControlClient ();
44     ~IMControlClient ();
45
46     int  open_connection        (void);
47     void close_connection       (void);
48     bool is_connected           (void) const;
49     int  get_panel2imclient_connection_number (void) const;
50     bool prepare                (void);
51     bool send                   (void);
52
53     void show_ise (void *data, int length);
54     void hide_ise (void);
55     void show_control_panel (void);
56     void hide_control_panel (void);
57     void set_mode (int mode);
58
59     void set_imdata (const char* data, int len);
60     void get_imdata (char* data, int* len);
61     void get_ise_window_geometry (int* x, int* y, int* width, int* height);
62     void get_candidate_window_geometry (int* x, int* y, int* width, int* height);
63     void get_ise_language_locale (char **locale);
64     void set_return_key_type (int type);
65     void get_return_key_type (int &type);
66     void set_return_key_disable (int disabled);
67     void get_return_key_disable (int &disabled);
68     void set_layout (int layout);
69     void get_layout (int* layout);
70     void set_ise_language (int language);
71     void set_active_ise_by_uuid (const char* uuid);
72     void get_ise_list (int* count, char*** iselist);
73     void reset_ise_option (void);
74     void set_caps_mode (int mode);
75 };
76
77 }
78
79 #endif /* __ISF_IMCONTROL_CLIENT_H */
80
81 /*
82 vi:ts=4:nowrap:ai:expandtab
83 */