2 * Copyright (c) 2014 - 2015 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.
18 #ifndef __SCL_CONNECTION_H__
19 #define __SCL_CONNECTION_H__
21 #define Uses_SCIM_ATTRIBUTE
31 * @brief The base class to work as a soft-based keyboard
33 * This class implements all functions for working as a soft-based keyboard
34 * In side of ISE developer, they can modify it by their requirements.
40 virtual ~CSCLConnection();
42 std::string get_backend_identifier();
44 virtual sclboolean init();
47 virtual void open_connection(const sclchar *display);
48 virtual void close_connection();
50 virtual void config_reload();
51 virtual sclboolean config_read_int(const sclchar *name, sclint &value);
52 virtual sclboolean config_read_string(const sclchar *name, std::string &value);
53 virtual sclboolean config_write_int(const sclchar *name, sclint value);
54 virtual sclboolean config_write_string(const sclchar *name, const std::string value);
55 virtual sclboolean config_erase(const sclchar *name);
56 virtual sclboolean config_flush(void);
58 virtual void send_imengine_event(sclint ic, const sclchar *ic_uuid, const sclint command, const sclu32 value);
59 virtual void reset_keyboard_ise();
60 virtual void flush_keyboard_ise();
61 virtual void send_key_event(sclint ic, const sclchar *ic_uuid, sclu32 keycode, sclu16 keymask);
62 virtual void forward_key_event(sclint ic, const sclchar *ic_uuid, sclu32 keycode, sclu16 keymask);
63 virtual void commit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str);
64 virtual void select_candidate(int index);
65 virtual void show_preedit_string(sclint ic, const sclchar *ic_uuid);
66 virtual void show_aux_string(void);
67 virtual void show_candidate_string(void);
68 virtual void show_associate_string(void);
69 virtual void hide_preedit_string(sclint ic, const sclchar *ic_uuid);
70 virtual void hide_aux_string(void);
71 virtual void hide_candidate_string(void);
72 virtual void hide_associate_string(void);
73 virtual void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str);
74 virtual void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str, const scim::AttributeList &attrs);
75 virtual void update_preedit_caret(sclint caret);
76 virtual void update_aux_string(const sclchar *str);
77 virtual void update_input_context(sclu32 type, sclu32 value);
78 virtual void update_geometry(sclint x, sclint y, sclint width, sclint height);
79 virtual void get_surrounding_text(const sclchar *ic_uuid, sclint maxlen_before, sclint maxlen_after) const;
80 virtual void delete_surrounding_text(sclint offset, sclint len) const;
81 virtual void set_candidate_position(sclint left, sclint top);
82 virtual void enable_soft_candidate(sclboolean enable);
83 virtual void candidate_hide(void);
84 virtual void set_keyboard_ise_by_uuid(const sclchar *uuid);
85 virtual void get_keyboard_ise(const sclchar *uuid);
86 virtual void set_selection(sclint start, sclint end);
87 virtual void send_private_command(const sclchar *command);
88 virtual sclint get_surrounding_text(sclint maxlen_before, sclint maxlen_after, sclchar **text, int &cursor);
89 virtual void get_selection_text(sclchar **text);
90 virtual void request_ise_hide();
91 virtual void commit_content(const sclchar *content, const sclchar *description, const sclchar *mime_types);
93 std::string m_backend_identifier;
96 CSCLConnection *m_impl;
103 #endif //__SCL_CONNECTION_H__