2 * @file isf_info_manager.h
3 * @brief Defines scim::InfoManager and their related types.
5 * scim::InfoManager is a class used to write Panel daemons.
9 /* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
12 * Smart Common Input Method
14 * Copyright (c) 2004-2005 James Su <suzhe@tsinghua.org.cn>
15 * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
18 * This library is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU Lesser General Public
20 * License as published by the Free Software Foundation; either
21 * version 2 of the License, or (at your option) any later version.
23 * This library is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU Lesser General Public License for more details.
28 * You should have received a copy of the GNU Lesser General Public
29 * License along with this program; if not, write to the
30 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
31 * Boston, MA 02111-1307 USA
33 * Modifications by Samsung Electronics Co., Ltd.
35 * a. m_signal_set_keyboard_ise and m_signal_get_keyboard_ise
36 * b. m_signal_focus_in and m_signal_focus_out
37 * c. m_signal_expand_candidate, m_signal_contract_candidate and m_signal_set_candidate_ui
38 * d. m_signal_get_ise_list, m_signal_get_keyboard_ise_list, m_signal_update_ise_geometry and m_signal_get_ise_information
39 * e. m_signal_set_active_ise_by_uuid and m_signal_get_ise_info_by_uuid
40 * f. m_signal_accept_connection, m_signal_close_connection and m_signal_exit
41 * 2. Add new interface APIs in PanelClient class
42 * a. get_helper_manager_id (), has_helper_manager_pending_event () and filter_helper_manager_event ()
43 * b. update_candidate_panel_event (), update_input_panel_event () and select_aux ()
44 * c. candidate_more_window_show () and candidate_more_window_hide ()
45 * d. update_displayed_candidate_number () and update_candidate_item_layout ()
46 * e. stop_helper (), send_longpress_event () and update_ise_list ()
47 * f. filter_event (), filter_exception_event () and get_server_id ()
48 * 3. Donot use thread to receive message
49 * 4. Monitor socket frontend for self-recovery function
51 * $Id: scim_panel_agent.h,v 1.2 2005/06/11 14:50:31 suzhe Exp $
54 #ifndef __ISF_INFO_MANAGER_H
55 #define __ISF_INFO_MANAGER_H
57 #include <scim_panel_common.h>
73 REMOTEINPUT_ACT_CLIENT,
85 * @ingroup InputServiceFramework
86 * The accessory classes to help develop Panel daemons and FrontEnds
87 * which need to communicate with Panel daemons.
94 typedef Slot1<void, int>
97 typedef Slot1<void, int&>
100 typedef Slot1<void, const String&>
101 InfoManagerSlotString;
103 typedef Slot2<void, String&, String&>
104 InfoManagerSlotString2;
106 typedef Slot2<void, int, const String&>
107 InfoManagerSlotIntString;
109 typedef Slot1<void, const PanelFactoryInfo&>
110 InfoManagerSlotFactoryInfo;
112 typedef Slot1<void, const std::vector <PanelFactoryInfo> &>
113 InfoManagerSlotFactoryInfoVector;
115 typedef Slot1<void, const LookupTable&>
116 InfoManagerSlotLookupTable;
118 typedef Slot1<void, const Property&>
119 InfoManagerSlotProperty;
121 typedef Slot1<void, const PropertyList&>
122 InfoManagerSlotPropertyList;
124 typedef Slot2<void, int, int>
125 InfoManagerSlotIntInt;
127 typedef Slot2<void, int&, int&>
128 InfoManagerSlotIntInt2;
130 typedef Slot3<void, int, int, int>
131 InfoManagerSlotIntIntInt;
133 typedef Slot3<void, const String &, const String &, const String &>
134 InfoManagerSlotString3;
136 typedef Slot4<void, int, int, int, int>
137 InfoManagerSlotIntIntIntInt;
139 typedef Slot2<void, int, const Property&>
140 InfoManagerSlotIntProperty;
142 typedef Slot2<void, int, const PropertyList&>
143 InfoManagerSlotIntPropertyList;
145 typedef Slot2<void, int, const HelperInfo&>
146 InfoManagerSlotIntHelperInfo;
148 typedef Slot2<void, const String&, const AttributeList&>
149 InfoManagerSlotAttributeString;
151 typedef Slot3<void, const String&, const AttributeList&, int>
152 InfoManagerSlotAttributeStringInt;
154 typedef Slot5<void, int, int, const String&, const String&, const AttributeList&>
155 InfoManagerSlotAttributeInt2String2;
157 typedef Slot1<void, std::vector<String> &>
158 InfoManagerSlotStringVector;
160 typedef Slot1<bool, HELPER_ISE_INFO&>
161 InfoManagerSlotBoolHelperInfo;
163 typedef Slot1<bool, std::vector<String> &>
164 InfoManagerSlotBoolStringVector;
166 typedef Slot2<void, char*, std::vector<String> &>
167 InfoManagerSlotStrStringVector;
169 typedef Slot2<bool, const String&, ISE_INFO&>
170 InfoManagerSlotStringISEINFO;
172 typedef Slot2<bool, String, int&>
173 InfoManagerSlotStringInt;
175 typedef Slot1<void, const KeyEvent&>
176 InfoManagerSlotKeyEvent;
178 typedef Slot1<void, struct rectinfo&>
181 typedef Slot2<void, const String&, bool>
182 InfoManagerSlotStringBool;
184 typedef Slot6<bool, String, String&, String&, int&, int&, String&>
185 InfoManagerSlotBoolString4int2;
187 typedef Slot2<void, int, struct rectinfo&>
188 InfoManagerSlotIntRect;
190 typedef Slot2<bool, int, String>
191 InfoManagerSlotIntString2;
193 typedef Slot1<bool, String>
194 InfoManagerSlotBoolString;
196 typedef Slot2<bool, String, String&>
197 InfoManagerSlotBoolString2;
199 typedef Slot1<void, bool>
203 * @brief The class to implement all socket protocol in Panel.
205 * This class acts like a stand alone SocketServer.
206 * It has its own dedicated main loop, and will be blocked when run () is called.
207 * So run () must be called within a separated thread, in order to not block
208 * the main loop of the Panel program itself.
210 * Before calling run (), the panel must hook the callback functions to the
211 * corresponding signals.
213 * Note that, there are two special signals: lock(void) and unlock(void). These
214 * two signals are used to provide a thread lock to InfoManager, so that InfoManager
215 * can run correctly within a multi-threading Panel program.
217 class EXAPI InfoManager
219 class InfoManagerImpl;
220 InfoManagerImpl* m_impl;
222 InfoManager (const HelperAgent&);
223 const InfoManager& operator = (const HelperAgent&);
230 * @brief Initialize this InfoManager.
232 * @param config The name of the config module to be used by Helpers.
233 * @param display The name of display, on which the Panel should run.
234 * @param resident If this is true then this InfoManager will keep running
235 * even if there is no more client connected.
237 * @return true if the InfoManager is initialized correctly and ready to run.
239 bool initialize (InfoManager* info_manager, const ConfigPointer& config, const String& display, bool resident = false);
242 * @brief Check if this InfoManager is initialized correctly and ready to run.
244 * @return true if this InfoManager is ready to run.
246 bool valid (void) const;
249 * @brief Stop this InfoManager.
255 const ClientInfo& socket_get_client_info (int client) const;
258 * @brief Get current ISE type.
260 * @return the current ISE type.
262 TOOLBAR_MODE_T get_current_toolbar_mode (void) const;
265 * @brief Get current helper ISE uuid.
267 * @return the current helper ISE uuid.
269 String get_current_helper_uuid (void) const;
272 * @brief Get current ISE name.
274 * @return the current ISE name.
276 String get_current_ise_name (void) const;
279 * @brief Set current ISE name.
281 * @param name The current ISE name.
283 void set_current_ise_name (String& name);
286 * @brief Set current ISE type.
288 * @param mode The current ISE type.
290 void set_current_toolbar_mode (TOOLBAR_MODE_T mode);
293 * @brief Set current helper ISE option.
295 * @param mode The current helper ISE option.
297 void set_current_helper_option (uint32 option);
299 * @brief Get current ISE size and position.
301 * @param rect It contains ISE size and position.
303 void get_current_ise_geometry (rectinfo& rect);
306 * @brief Send candidate panel event to IM Control.
308 * @param nType The candidate panel event type.
309 * @param nValue The candidate panel event value.
311 void update_candidate_panel_event (uint32 nType, uint32 nValue);
314 * @brief Send input panel event to IM Control.
316 * @param nType The input panel event type.
317 * @param nValue The input panel event value.
319 void update_input_panel_event (uint32 nType, uint32 nValue);
322 * @brief Notice helper ISE to focus out.
324 * @param uuid The helper ISE uuid.
326 void focus_out_helper (const String& uuid);
329 * @brief Notice helper ISE to focus in.
331 * @param uuid The helper ISE uuid.
333 void focus_in_helper (const String& uuid);
336 * @brief Notice helper ISE to show window.
338 * @param uuid The helper ISE uuid.
340 bool show_helper (const String& uuid);
343 * @brief Notice helper ISE to hide window.
345 * @param uuid The helper ISE uuid.
347 void hide_helper (const String& uuid);
351 * @brief Set default ISE.
353 * @param ise The variable contains the information of default ISE.
355 void set_default_ise (const DEFAULT_ISE_T& ise);
358 * @brief Set whether shared ISE is for all applications.
360 * @param should_shared_ise The indicator for shared ISE.
362 void set_should_shared_ise (const bool should_shared_ise);
365 * @brief Request helper ISE to show window again.
367 void reshow_input_panel ();
372 * @brief Let the focused IMEngineInstance object move the preedit caret.
374 * @param position The new preedit caret position.
375 * @return true if the command was sent correctly.
377 bool move_preedit_caret (uint32 position);
381 * @brief Request help information from the focused IMEngineInstance object.
382 * @return true if the command was sent correctly.
384 bool request_help (void);
387 * @brief Request factory menu from the focused FrontEnd.
388 * @return true if the command was sent correctly.
390 bool request_factory_menu (void);
394 * @brief Change the factory used by the focused IMEngineInstance object.
396 * @param uuid The uuid of the new factory.
397 * @return true if the command was sent correctly.
399 bool change_factory (const String& uuid);
402 * @brief Notice Helper ISE that candidate more window is showed.
403 * @return true if the command was sent correctly.
405 bool candidate_more_window_show (void);
408 * @brief Notice Helper ISE that candidate more window is hidden.
409 * @return true if the command was sent correctly.
411 bool candidate_more_window_hide (void);
414 * @brief Notice Helper ISE that show candidate.
415 * @return true if the command was sent correctly.
417 bool helper_candidate_show (void);
420 * @brief Notice Helper ISE that hide candidate.
421 * @return true if the command was sent correctly.
423 bool helper_candidate_hide (void);
426 * @brief Update helper lookup table.
427 * @return true if the command was sent correctly.
429 bool update_helper_lookup_table (const LookupTable& table);
432 * @brief Let the focused IMEngineInstance object
433 * select a aux in current aux string.
435 * @param item The index of the selected aux.
436 * @return true if the command was sent correctly.
438 bool select_aux (uint32 item);
441 * @brief Let the focused IMEngineInstance object
442 * select a candidate in current lookup table.
444 * @param item The index of the selected candidate.
445 * @return true if the command was sent correctly.
447 bool select_candidate (uint32 item);
450 * @brief Let the focused IMEngineInstance object
451 * flip the LookupTable to previous page.
452 * @return true if the command was sent correctly.
454 bool lookup_table_page_up (void);
457 * @brief Let the focused IMEngineInstance object
458 * flip the LookupTable to next page.
459 * @return true if the command was sent correctly.
461 bool lookup_table_page_down (void);
464 * @brief Let the focused IMEngineInstance object
465 * update the page size of the LookupTable.
467 * @param size The new page size.
468 * @return true if the command was sent correctly.
470 bool update_lookup_table_page_size (uint32 size);
473 * @brief Let the focused IMEngineInstance object
474 * update candidate items layout.
476 * @param row_items The items of each row.
477 * @return true if the command was sent correctly.
479 bool update_candidate_item_layout (const std::vector<uint32>& row_items);
482 * @brief Let the focused IMEngineInstance object
483 * select a associate in current associate table.
485 * @param item The index of the selected associate.
486 * @return true if the command was sent correctly.
488 bool select_associate (uint32 item);
491 * @brief Let the focused IMEngineInstance object
492 * flip the AssociateTable to previous page.
493 * @return true if the command was sent correctly.
495 bool associate_table_page_up (void);
498 * @brief Let the focused IMEngineInstance object
499 * flip the AssociateTable to next page.
500 * @return true if the command was sent correctly.
502 bool associate_table_page_down (void);
505 * @brief Let the focused IMEngineInstance object
506 * update the page size of the AssociateTable.
508 * @param size The new page size.
509 * @return true if the command was sent correctly.
511 bool update_associate_table_page_size (uint32 size);
514 * @brief Inform helper ISE to update displayed candidate number.
516 * @param size The displayed candidate number.
517 * @return true if the command was sent correctly.
519 bool update_displayed_candidate_number (uint32 size);
522 * @brief Trigger a property of the focused IMEngineInstance object.
524 * @param property The property key to be triggered.
525 * @return true if the command was sent correctly.
527 bool trigger_property (const String& property);
530 * @brief Start a stand alone helper.
532 * @param uuid The uuid of the Helper object to be started.
533 * @return true if the command was sent correctly.
535 bool start_helper (const String& uuid);
538 * @brief Stop a stand alone helper.
540 * @param uuid The uuid of the Helper object to be stopped.
541 * @return true if the command was sent correctly.
543 bool stop_helper (const String& uuid);
546 * @brief Let all FrontEnds and Helpers reload configuration.
547 * @return true if the command was sent correctly.
549 void reload_config (void);
552 * @brief Let all FrontEnds, Helpers and this Panel exit.
553 * @return true if the command was sent correctly.
558 * @brief Send candidate longpress event to ISE.
560 * @param type The candidate object type.
561 * @param index The candidate object index.
565 void send_longpress_event (int type, int index);
568 * @brief Request to update ISE list.
572 void update_ise_list (std::vector<String>& strList);
575 bool remoteinput_update_preedit_string (WideString str, AttributeList &attrs, uint32 caret);
577 bool remoteinput_commit_string (const WideString &str);
579 bool remoteinput_send_key_event (const KeyEvent &key);
581 bool remoteinput_forward_key_event (const KeyEvent &key);
583 bool remoteinput_send_input_message (int client_id, char* buf, size_t len);
585 bool remoteinput_delete_surrounding_text (uint32 offset, uint32 len);
587 void remoteinput_send_surrounding_text (const char* text, uint32 cursor);
589 void remoteinput_callback_focus_in (void);
591 void remoteinput_callback_focus_out (void);
593 void remoteinput_callback_entry_metadata (uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled, uint32 return_key_type);
595 void remoteinput_callback_surrounding_text (String text, uint32 cursor);
597 void remoteinput_callback_input_resource (uint32 input_resource);
599 void remoteinput_callback_key_symbol (String key_symbol, bool press, uint32 timestamp);
601 bool remoteinput_set_cursor_position (uint32 cursor);
603 void remoteinput_callback_cursor_position (uint32 cursor);
605 /////////////////////////////////Message function begin/////////////////////////////////////////
607 //ISM_TRANS_CMD_PANEL_RESET_KEYBOARD_ISE
609 * @brief Reset keyboard ISE.
611 * @return true if this operation is successful, otherwise return false.
613 bool reset_keyboard_ise (void);
615 //ISM_TRANS_CMD_SHOW_ISF_CONTROL
616 void show_isf_panel (int client_id);
618 //ISM_TRANS_CMD_HIDE_ISF_CONTROL
619 void hide_isf_panel (int client_id);
621 //ISM_TRANS_CMD_SHOW_ISE_PANEL
622 void show_ise_panel (int client_id, uint32 client, uint32 context, char* data, size_t len);
624 //ISM_TRANS_CMD_HIDE_ISE_PANEL
625 void hide_ise_panel (int client_id, uint32 client, uint32 context);
627 //ISM_TRANS_CMD_HIDE_ISE_PANEL from ISF control
628 void hide_helper_ise (void);
630 //ISM_TRANS_CMD_PRELAUNCH_ISE
631 void prelaunch_helper_ise (void);
633 //SCIM_TRANS_CMD_PROCESS_KEY_EVENT
634 bool process_key_event (KeyEvent& key, uint32 serial, uint32 keycode);
636 //ISM_TRANS_CMD_GET_ACTIVE_ISE_GEOMETRY
637 void get_input_panel_geometry (int client_id, _OUT_ struct rectinfo& info);
639 //ISM_TRANS_CMD_GET_CANDIDATE_GEOMETRY
640 void get_candidate_window_geometry (int client_id, _OUT_ struct rectinfo& info);
642 //ISM_TRANS_CMD_GET_ISE_LANGUAGE_LOCALE
643 void get_ise_language_locale (int client_id, _OUT_ char** data, _OUT_ size_t& len);
645 //ISM_TRANS_CMD_SET_LAYOUT
646 void set_ise_layout (int client_id, uint32 layout);
648 //ISM_TRANS_CMD_SET_INPUT_MODE
649 void set_ise_input_mode (int client_id, uint32 input_mode);
651 //ISM_TRANS_CMD_SET_INPUT_HINT
652 void set_ise_input_hint (int client_id, uint32 input_hint);
654 //ISM_TRANS_CMD_UPDATE_BIDI_DIRECTION
655 void update_ise_bidi_direction (int client_id, uint32 bidi_direction);
657 //ISM_TRANS_CMD_SET_ISE_LANGUAGE
658 void set_ise_language (int client_id, uint32 language);
660 //ISM_TRANS_CMD_SET_ISE_IMDATA
661 void set_ise_imdata (int client_id, const char* imdata, size_t len);
663 //ISM_TRANS_CMD_GET_ISE_IMDATA
664 bool get_ise_imdata (int client_id, _OUT_ char** imdata, _OUT_ size_t& len);
666 //ISM_TRANS_CMD_GET_LAYOUT
667 bool get_ise_layout (int client_id, _OUT_ uint32& layout);
669 //ISM_TRANS_CMD_GET_ISE_STATE
670 void get_ise_state (int client_id, _OUT_ int& state);
672 //ISM_TRANS_CMD_GET_ACTIVE_ISE
673 void get_active_ise (int client_id, _OUT_ String& default_uuid);
675 //ISM_TRANS_CMD_GET_ISE_LIST
676 void get_ise_list (int client_id, _OUT_ std::vector<String>& strlist);
678 //ISM_TRANS_CMD_GET_ALL_HELPER_ISE_INFO
679 void get_all_helper_ise_info (int client_id, _OUT_ HELPER_ISE_INFO& info);
681 //ISM_TRANS_CMD_SET_ENABLE_HELPER_ISE_INFO
682 //reply SCIM_TRANS_CMD_FAIL or SCIM_TRANS_CMD_OK
683 void set_enable_helper_ise_info (int client_id, String appid, uint32 is_enabled);
685 //ISM_TRANS_CMD_SHOW_HELPER_ISE_LIST
686 //reply SCIM_TRANS_CMD_FAIL or SCIM_TRANS_CMD_OK
687 void show_helper_ise_list (int client_id);
689 //ISM_TRANS_CMD_SHOW_HELPER_ISE_SELECTOR
690 //reply SCIM_TRANS_CMD_FAIL or SCIM_TRANS_CMD_OK
691 void show_helper_ise_selector (int client_id);
693 //ISM_TRANS_CMD_IS_HELPER_ISE_ENABLED
695 void is_helper_ise_enabled (int client_id, String strAppid, _OUT_ uint32& nEnabled);
697 //ISM_TRANS_CMD_GET_ISE_INFORMATION
698 void get_ise_information (int client_id, String strUuid, _OUT_ String& strName, _OUT_ String& strLanguage,
699 _OUT_ int& nType, _OUT_ int& nOption, _OUT_ String& strModuleName);
701 //ISM_TRANS_CMD_RESET_ISE_OPTION
702 //reply SCIM_TRANS_CMD_OK
703 bool reset_ise_option (int client_id);
705 //ISM_TRANS_CMD_SET_ACTIVE_ISE_BY_UUID
707 bool set_active_ise_by_uuid (int client_id, char* buf, size_t len);
709 //ISM_TRANS_CMD_SET_INITIAL_ISE_BY_UUID
710 //reply SCIM_TRANS_CMD_FAIL or SCIM_TRANS_CMD_OK
711 void set_initial_ise_by_uuid (int client_id, char* buf, size_t len);
713 //ISM_TRANS_CMD_SET_RETURN_KEY_TYPE
714 void set_ise_return_key_type (int client_id, uint32 type);
716 //ISM_TRANS_CMD_GET_RETURN_KEY_TYPE
718 bool get_ise_return_key_type (int client_id, _OUT_ uint32& type);
720 //ISM_TRANS_CMD_SET_RETURN_KEY_DISABLE
721 void set_ise_return_key_disable (int client_id, uint32 disabled);
723 //ISM_TRANS_CMD_GET_RETURN_KEY_DISABLE
724 bool get_ise_return_key_disable (int client_id, _OUT_ uint32& disabled);
726 //ISM_TRANS_CMD_SET_CAPS_MODE
727 void set_ise_caps_mode (int client_id, uint32 mode);
729 //ISM_TRANS_CMD_SEND_WILL_SHOW_ACK
730 void will_show_ack (int client_id);
732 //ISM_TRANS_CMD_SEND_WILL_HIDE_ACK
733 void will_hide_ack (int client_id);
735 //ISM_TRANS_CMD_RESET_DEFAULT_ISE
736 void reset_default_ise (int client_id);
738 //ISM_TRANS_CMD_SET_HARDWARE_KEYBOARD_MODE
739 void set_keyboard_mode (int client_id, uint32 mode);
741 //ISM_TRANS_CMD_SEND_CANDIDATE_WILL_HIDE_ACK
742 void candidate_will_hide_ack (int client_id);
744 //ISM_TRANS_CMD_GET_ACTIVE_HELPER_OPTION
745 void get_active_helper_option (int client_id, _OUT_ uint32& option);
747 //ISM_TRANS_CMD_GET_ISE_SETTING_APPID
748 void get_ise_setting_appid (int client_id, String &ime_setting_appid);
750 //ISM_TRANS_CMD_SHOW_ISE_OPTION_WINDOW
751 void show_ise_option_window (int client_id, int caller_pid);
753 //ISM_TRANS_CMD_RESUME_ISE_OPTION_WINDOW
754 void resume_ise_option_window (int client_id);
756 //ISM_TRANS_CMD_SET_KEYBOARD_MODE
757 void set_ise_keyboard_mode (int client_id, uint32 mode);
759 //ISM_TRANS_CMD_SET_PREDICTION_HINT
760 void set_prediction_hint (int client_id, String prediction_hint);
762 //ISM_TRANS_CMD_SET_MIME_TYPE
763 void set_ise_mime_type (int client_id, String mime_type);
765 //ISM_TRANS_CMD_FINALIZE_CONTENT
766 void finalize_content(int client_id, String text, uint32 cursor_pos);
768 //ISM_TRANS_CMD_SET_PREDICTION_HINT_DATA
769 void set_prediction_hint_data (int client_id, String key, String value);
771 //ISM_TRANS_CMD_SET_OPTIMIZATION_HINT
772 void set_optimization_hint(int client_id, uint32 hint);
774 //ISM_TRANS_CMD_SET_ISE_ENABLE
775 void set_ise_enable (int client_id, uint32 enabled);
777 //ISM_TRANS_CMD_EXPAND_CANDIDATE
778 void expand_candidate ();
780 //ISM_TRANS_CMD_CONTRACT_CANDIDATE
781 void contract_candidate ();
783 //ISM_TRANS_CMD_GET_RECENT_ISE_GEOMETRY
784 void get_recent_ise_geometry (int client_id, uint32 angle, _OUT_ struct rectinfo& info);
786 //ISM_TRANS_CMD_REGISTER_PANEL_CLIENT
787 void register_panel_client (uint32 client_id, uint32 id);
789 //SCIM_TRANS_CMD_PANEL_REGISTER_INPUT_CONTEXT
790 void register_input_context (uint32 client_id, uint32 context, String uuid);
792 //SCIM_TRANS_CMD_PANEL_REMOVE_INPUT_CONTEXT
793 void remove_input_context (uint32 client_id, uint32 context);
795 //SCIM_TRANS_CMD_PANEL_RESET_INPUT_CONTEXT
796 void socket_reset_input_context (int client_id, uint32 context);
798 //SCIM_TRANS_CMD_FOCUS_IN
799 void focus_in (int client_id, uint32 context, String uuid);
801 //SCIM_TRANS_CMD_FOCUS_OUT
802 void focus_out (int client_id, uint32 context);
804 //ISM_TRANS_CMD_PROCESS_INPUT_DEVICE_EVENT
805 bool process_input_device_event(int client_id, uint32 type, const char *data, size_t len, _OUT_ uint32& result);
807 //ISM_TRANS_CMD_TURN_ON_LOG
808 void socket_turn_on_log (uint32 isOn);
810 //SCIM_TRANS_CMD_PANEL_TURN_ON
811 void socket_turn_on (void);
813 //SCIM_TRANS_CMD_PANEL_TURN_OFF
814 void socket_turn_off (void);
816 //SCIM_TRANS_CMD_UPDATE_SCREEN
817 void socket_update_screen (int client_id, uint32 num);
819 //SCIM_TRANS_CMD_UPDATE_SPOT_LOCATION
820 void socket_update_spot_location (uint32 x, uint32 y, uint32 top_y);
822 //ISM_TRANS_CMD_UPDATE_CURSOR_POSITION
823 void socket_update_cursor_position (uint32 cursor_pos);
825 //ISM_TRANS_CMD_UPDATE_SURROUNDING_TEXT
826 void socket_update_surrounding_text (String text, uint32 cursor);
828 //ISM_TRANS_CMD_UPDATE_SELECTION
829 void socket_update_selection (String text);
831 //SCIM_TRANS_CMD_PANEL_UPDATE_FACTORY_INFO
832 void socket_update_factory_info (PanelFactoryInfo& info);
834 //SCIM_TRANS_CMD_PANEL_SHOW_HELP
835 void socket_show_help (String help);
837 //SCIM_TRANS_CMD_PANEL_SHOW_FACTORY_MENU
838 void socket_show_factory_menu (std::vector <PanelFactoryInfo>& vec);
840 //SCIM_TRANS_CMD_SHOW_PREEDIT_STRING
841 void socket_show_preedit_string (void);
843 //SCIM_TRANS_CMD_SHOW_AUX_STRING
844 void socket_show_aux_string (void);
846 //SCIM_TRANS_CMD_SHOW_LOOKUP_TABLE
847 void socket_show_lookup_table (void);
849 //ISM_TRANS_CMD_SHOW_ASSOCIATE_TABLE
850 void socket_show_associate_table (void);
852 //SCIM_TRANS_CMD_HIDE_PREEDIT_STRING
853 void socket_hide_preedit_string (void);
855 //SCIM_TRANS_CMD_HIDE_AUX_STRING
856 void socket_hide_aux_string (void);
858 //SCIM_TRANS_CMD_HIDE_LOOKUP_TABLE
859 void socket_hide_lookup_table (void);
861 //ISM_TRANS_CMD_HIDE_ASSOCIATE_TABLE
862 void socket_hide_associate_table (void);
864 //SCIM_TRANS_CMD_UPDATE_PREEDIT_STRING
865 void socket_update_preedit_string (String& str, const AttributeList& attrs, uint32 caret);
867 //SCIM_TRANS_CMD_UPDATE_PREEDIT_CARET
868 void socket_update_preedit_caret (uint32 caret);
870 //SCIM_TRANS_CMD_UPDATE_AUX_STRING
871 void socket_update_aux_string (String& str, const AttributeList& attrs);
873 //ISM_TRANS_CMD_RECAPTURE_STRING
874 void socket_recapture_string (int offset, int len, String& preedit, String& commit, const AttributeList& attrs);
876 //SCIM_TRANS_CMD_UPDATE_LOOKUP_TABLE
877 void socket_update_lookup_table (const LookupTable& table);
879 //ISM_TRANS_CMD_UPDATE_ASSOCIATE_TABLE
880 void socket_update_associate_table (const LookupTable& table);
882 //SCIM_TRANS_CMD_REGISTER_PROPERTIES
883 void socket_register_properties (const PropertyList& properties);
885 //SCIM_TRANS_CMD_UPDATE_PROPERTY
886 void socket_update_property (const Property& property);
888 //ISM_TRANS_CMD_GET_KEYBOARD_ISE_LIST
889 void socket_get_keyboard_ise_list (String& uuid);
891 //ISM_TRANS_CMD_SET_CANDIDATE_UI
892 void socket_set_candidate_ui (uint32 portrait_line, uint32 mode);
894 //ISM_TRANS_CMD_GET_CANDIDATE_UI
895 void socket_get_candidate_ui (String uuid);
897 //ISM_TRANS_CMD_SET_CANDIDATE_POSITION
898 void socket_set_candidate_position (uint32 left, uint32 top);
900 //ISM_TRANS_CMD_HIDE_CANDIDATE
901 void socket_hide_candidate (void);
903 //ISM_TRANS_CMD_GET_CANDIDATE_GEOMETRY
904 void socket_get_candidate_geometry (String& uuid);
906 //ISM_TRANS_CMD_SET_KEYBOARD_ISE_BY_UUID
907 void socket_set_keyboard_ise (String uuid);
909 //ISM_TRANS_CMD_SELECT_CANDIDATE
910 void socket_helper_select_candidate (uint32 index);
912 //ISM_TRANS_CMD_UPDATE_ISE_GEOMETRY
913 void socket_helper_update_ise_geometry (int client, uint32 x, uint32 y, uint32 width, uint32 height);
915 //ISM_TRANS_CMD_GET_KEYBOARD_ISE
916 void socket_get_keyboard_ise (String uuid);
918 //SCIM_TRANS_CMD_START_HELPER
919 void socket_start_helper (int client_id, uint32 context, String uuid);
921 //SCIM_TRANS_CMD_STOP_HELPER
922 void socket_stop_helper (int client_id, uint32 context, String uuid);
924 //SCIM_TRANS_CMD_SEND_HELPER_EVENT
925 void socket_send_helper_event (int client_id, uint32 context, String uuid, const Transaction& _nest_trans);
927 //SCIM_TRANS_CMD_REGISTER_PROPERTIES
928 void socket_helper_register_properties (int client, PropertyList& properties);
930 //SCIM_TRANS_CMD_UPDATE_PROPERTY
931 void socket_helper_update_property (int client, Property& property);
933 //SCIM_TRANS_CMD_PANEL_SEND_IMENGINE_EVENT
934 void socket_helper_send_imengine_event (int client, uint32 target_ic, String target_uuid , Transaction& nest_trans);
936 //SCIM_TRANS_CMD_PROCESS_KEY_EVENT
937 //SCIM_TRANS_CMD_PANEL_SEND_KEY_EVENT
938 void socket_helper_send_key_event (int client, uint32 target_ic, String target_uuid, KeyEvent key);
940 //SCIM_TRANS_CMD_FORWARD_KEY_EVENT
941 void socket_helper_forward_key_event (int client, uint32 target_ic, String target_uuid, KeyEvent key);
943 //SCIM_TRANS_CMD_COMMIT_STRING
944 void socket_helper_commit_string (int client, uint32 target_ic, String target_uuid, WideString wstr);
946 //SCIM_TRANS_CMD_GET_SURROUNDING_TEXT
947 void socket_helper_get_surrounding_text (int client, String uuid, uint32 maxlen_before, uint32 maxlen_after);
949 //SCIM_TRANS_CMD_DELETE_SURROUNDING_TEXT
950 void socket_helper_delete_surrounding_text (int client, uint32 offset, uint32 len);
952 //SCIM_TRANS_CMD_GET_SELECTION
953 void socket_helper_get_selection (int client, String uuid);
955 //SCIM_TRANS_CMD_SET_SELECTION
956 void socket_helper_set_selection (int client, uint32 start, uint32 end);
958 //SCIM_TRANS_CMD_SHOW_PREEDIT_STRING
959 void socket_helper_show_preedit_string (int client, uint32 target_ic, String target_uuid);
961 //SCIM_TRANS_CMD_HIDE_PREEDIT_STRING
962 void socket_helper_hide_preedit_string (int client, uint32 target_ic, String target_uuid);
964 //SCIM_TRANS_CMD_UPDATE_PREEDIT_STRING
965 void socket_helper_update_preedit_string (int client, uint32 target_ic, String target_uuid, WideString preedit, WideString commit, AttributeList& attrs, uint32 caret);
967 //SCIM_TRANS_CMD_UPDATE_PREEDIT_CARET
968 void socket_helper_update_preedit_caret (int client, uint32 caret);
970 //ISM_TRANS_CMD_RECAPTURE_STRING
971 void socket_helper_recapture_string (int client, uint32 target_ic, String target_uuid, int offset, int len, WideString preedit, WideString commit, AttributeList& attrs);
973 //SCIM_TRANS_CMD_PANEL_REGISTER_HELPER
974 void socket_helper_register_helper (int client, HelperInfo& info);
976 //SCIM_TRANS_CMD_PANEL_REGISTER_ACTIVE_HELPER
977 void socket_helper_register_helper_passive (int client, HelperInfo& info);
979 //ISM_TRANS_CMD_UPDATE_ISE_INPUT_CONTEXT
980 void socket_helper_update_input_context (int client, uint32 type, uint32 value);
982 //ISM_TRANS_CMD_UPDATE_ISE_LANGUAGE_LOCALE
983 void socket_helper_update_language_locale(int client, String locale);
985 //SCIM_TRANS_CMD_SEND_PRIVATE_COMMAND
986 void socket_helper_send_private_command (int client, String command);
988 //SCIM_TRANS_CMD_SEND_COMMIT_CONTENT
989 void socket_helper_commit_content (int client, String content, String description, String mime_types);
991 //ISM_TRANS_CMD_UPDATE_ISE_EXIT
992 void UPDATE_ISE_EXIT (int client);
994 //ISM_TRANS_CMD_PROCESS_KEY_EVENT_DONE
995 void process_key_event_done (KeyEvent &key, uint32 ret, uint32 serial);
997 //ISM_TRANS_CMD_REQUEST_ISE_HIDE
998 void request_ise_hide ();
1000 bool check_privilege_by_sockfd (int client_id, const String& privilege);
1002 void add_client (int client_id, uint32 key, ClientType type);
1004 void del_client (int client_id);
1006 bool set_autocapital_type (int mode);
1008 void set_prediction_allow (int client, bool mode);
1010 void request_ise_terminate (void);
1012 void set_floating_mode (uint32 floating_mode);
1014 void set_floating_drag_enabled (uint32 enabled);
1015 //////////////////////////////////Message function end/////////////////////////////////////////
1021 * @brief Signal: Turn on.
1023 * slot prototype: void turn_on (void);
1025 Connection signal_connect_turn_on (InfoManagerSlotVoid* slot);
1028 * @brief Signal: Turn off.
1030 * slot prototype: void turn_off (void);
1032 Connection signal_connect_turn_off (InfoManagerSlotVoid* slot);
1035 * @brief Signal: Show panel.
1037 * slot prototype: void show_panel (void);
1039 Connection signal_connect_show_panel (InfoManagerSlotVoid* slot);
1042 * @brief Signal: Hide panel.
1044 * slot prototype: void hide_panel (void);
1046 Connection signal_connect_hide_panel (InfoManagerSlotVoid* slot);
1049 * @brief Signal: Update screen.
1051 * slot prototype: void update_screen (int screen);
1053 Connection signal_connect_update_screen (InfoManagerSlotInt* slot);
1056 * @brief Signal: Update spot location.
1058 * slot prototype: void update_spot_location (int x, int y, int top_y);
1060 Connection signal_connect_update_spot_location (InfoManagerSlotIntIntInt* slot);
1063 * @brief Signal: Update factory information.
1065 * slot prototype: void update_factory_info (const PanelFactoryInfo &info);
1067 Connection signal_connect_update_factory_info (InfoManagerSlotFactoryInfo* slot);
1070 * @brief Signal: start default ise.
1072 * slot prototype: void start_default_ise (void);
1074 Connection signal_connect_start_default_ise (InfoManagerSlotVoid* slot);
1077 * @brief Signal: stop default ise.
1079 * slot prototype: void stop_default_ise (bool);
1081 Connection signal_connect_stop_default_ise (InfoManagerSlotBool* slot);
1084 * @brief Signal: Get the list of keyboard ise name.
1086 * slot prototype: bool get_keyboard_ise_list (std::vector<String> &);
1088 Connection signal_connect_get_keyboard_ise_list (InfoManagerSlotBoolStringVector* slot);
1091 * @brief Signal: Set candidate ui.
1093 * slot prototype: void set_candidate_ui (int style, int mode);
1095 Connection signal_connect_set_candidate_ui (InfoManagerSlotIntInt* slot);
1098 * @brief Signal: Get candidate ui.
1100 * slot prototype: void get_candidate_ui (int &style, int &mode);
1102 Connection signal_connect_get_candidate_ui (InfoManagerSlotIntInt2* slot);
1105 * @brief Signal: Get candidate window geometry information.
1107 * slot prototype: void get_candidate_geometry (rectinfo &info);
1109 Connection signal_connect_get_candidate_geometry (InfoManagerSlotRect* slot);
1112 * @brief Signal: Get input panel geometry information.
1114 * slot prototype: void get_input_panel_geometry (rectinfo &info);
1116 Connection signal_connect_get_input_panel_geometry (InfoManagerSlotRect* slot);
1119 * @brief Signal: Set candidate position.
1121 * slot prototype: void set_candidate_position (int left, int top);
1123 Connection signal_connect_set_candidate_position (InfoManagerSlotIntInt* slot);
1126 * @brief Signal: Set keyboard ise.
1128 * slot prototype: void set_keyboard_ise (const String &uuid);
1130 Connection signal_connect_set_keyboard_ise (InfoManagerSlotString* slot);
1133 * @brief Signal: Get keyboard ise.
1135 * slot prototype: void get_keyboard_ise (String &ise_name, String &ise_uuid);
1137 Connection signal_connect_get_keyboard_ise (InfoManagerSlotString2* slot);
1140 * @brief Signal: Update ise geometry.
1142 * slot prototype: void update_ise_geometry (int x, int y, int width, int height);
1144 Connection signal_connect_update_ise_geometry (InfoManagerSlotIntIntIntInt* slot);
1147 * @brief Signal: Show help.
1149 * slot prototype: void show_help (const String &help);
1151 Connection signal_connect_show_help (InfoManagerSlotString* slot);
1154 * @brief Signal: Show factory menu.
1156 * slot prototype: void show_factory_menu (const std::vector <PanelFactoryInfo> &menu);
1158 Connection signal_connect_show_factory_menu (InfoManagerSlotFactoryInfoVector* slot);
1161 * @brief Signal: Show preedit string.
1163 * slot prototype: void show_preedit_string (void):
1165 Connection signal_connect_show_preedit_string (InfoManagerSlotVoid* slot);
1168 * @brief Signal: Show aux string.
1170 * slot prototype: void show_aux_string (void):
1172 Connection signal_connect_show_aux_string (InfoManagerSlotVoid* slot);
1175 * @brief Signal: Show lookup table.
1177 * slot prototype: void show_lookup_table (void):
1179 Connection signal_connect_show_lookup_table (InfoManagerSlotVoid* slot);
1182 * @brief Signal: Show associate table.
1184 * slot prototype: void show_associate_table (void):
1186 Connection signal_connect_show_associate_table (InfoManagerSlotVoid* slot);
1189 * @brief Signal: Hide preedit string.
1191 * slot prototype: void hide_preedit_string (void);
1193 Connection signal_connect_hide_preedit_string (InfoManagerSlotVoid* slot);
1196 * @brief Signal: Hide aux string.
1198 * slot prototype: void hide_aux_string (void);
1200 Connection signal_connect_hide_aux_string (InfoManagerSlotVoid* slot);
1203 * @brief Signal: Hide lookup table.
1205 * slot prototype: void hide_lookup_table (void);
1207 Connection signal_connect_hide_lookup_table (InfoManagerSlotVoid* slot);
1210 * @brief Signal: Hide associate table.
1212 * slot prototype: void hide_associate_table (void);
1214 Connection signal_connect_hide_associate_table (InfoManagerSlotVoid* slot);
1217 * @brief Signal: Update preedit string.
1219 * slot prototype: void update_preedit_string (const String &str, const AttributeList &attrs, int caret);
1220 * - str -- The UTF-8 encoded string to be displayed in preedit area.
1221 * - attrs -- The attributes of the string.
1223 Connection signal_connect_update_preedit_string (InfoManagerSlotAttributeStringInt* slot);
1226 * @brief Signal: Update preedit caret.
1228 * slot prototype: void update_preedit_caret (int caret);
1230 Connection signal_connect_update_preedit_caret (InfoManagerSlotInt* slot);
1233 * @brief Signal: Recapture string.
1235 * slot prototype: void recapture_string (int offset, int length, String preedit, String commit, Attribute &attrs);
1237 Connection signal_connect_recapture_string (InfoManagerSlotAttributeInt2String2* slot);
1240 * @brief Signal: Update aux string.
1242 * slot prototype: void update_aux_string (const String &str, const AttributeList &attrs);
1243 * - str -- The UTF-8 encoded string to be displayed in aux area.
1244 * - attrs -- The attributes of the string.
1246 Connection signal_connect_update_aux_string (InfoManagerSlotAttributeString* slot);
1249 * @brief Signal: Update lookup table.
1251 * slot prototype: void update_lookup_table (const LookupTable &table);
1252 * - table -- The new LookupTable object.
1254 Connection signal_connect_update_lookup_table (InfoManagerSlotLookupTable* slot);
1257 * @brief Signal: Update associate table.
1259 * slot prototype: void update_associate_table (const LookupTable &table);
1260 * - table -- The new LookupTable object.
1262 Connection signal_connect_update_associate_table (InfoManagerSlotLookupTable* slot);
1265 * @brief Signal: Register properties.
1267 * Register properties of the focused instance.
1269 * slot prototype: void register_properties (const PropertyList &props);
1270 * - props -- The properties to be registered.
1272 Connection signal_connect_register_properties (InfoManagerSlotPropertyList* slot);
1275 * @brief Signal: Update property.
1277 * Update a property of the focused instance.
1279 * slot prototype: void update_property (const Property &prop);
1280 * - prop -- The property to be updated.
1282 Connection signal_connect_update_property (InfoManagerSlotProperty* slot);
1285 * @brief Signal: Register properties of a helper.
1287 * slot prototype: void register_helper_properties (int id, const PropertyList &props);
1288 * - id -- The client id of the helper object.
1289 * - props -- The properties to be registered.
1291 Connection signal_connect_register_helper_properties (InfoManagerSlotIntPropertyList* slot);
1294 * @brief Signal: Update helper property.
1296 * slot prototype: void update_helper_property (int id, const Property &prop);
1297 * - id -- The client id of the helper object.
1298 * - prop -- The property to be updated.
1300 Connection signal_connect_update_helper_property (InfoManagerSlotIntProperty* slot);
1303 * @brief Signal: Register a helper object.
1305 * A newly started helper object will send this event to Panel.
1307 * slot prototype: register_helper (int id, const HelperInfo &helper);
1308 * - id -- The client id of the helper object.
1309 * - helper -- The information of the helper object.
1311 Connection signal_connect_register_helper (InfoManagerSlotIntHelperInfo* slot);
1314 * @brief Signal: Remove a helper object.
1316 * If a running helper close its connection to Panel, then this signal will be triggered to
1317 * tell Panel to remove all data associated to this helper.
1319 * slot prototype: void remove_helper (int id);
1320 * - id -- The client id of the helper object to be removed.
1322 Connection signal_connect_remove_helper (InfoManagerSlotInt* slot);
1325 * @brief Signal: Start an ise with the speficied uuid
1327 * slot prototype: void set_active_ise_by_uuid (const String& uuid);
1328 * - uuid -- the uuid of the ise object
1330 Connection signal_connect_set_active_ise_by_uuid (InfoManagerSlotStringBool* slot);
1333 * @brief Signal: Focus in panel.
1335 * slot prototype: void focus_in (void);
1337 Connection signal_connect_focus_in (InfoManagerSlotVoid* slot);
1340 * @brief Signal: Focus out panel.
1342 * slot prototype: void focus_out (void);
1344 Connection signal_connect_focus_out (InfoManagerSlotVoid* slot);
1347 * @brief Signal: Expand candidate panel.
1349 * slot prototype: void expand_candidate (void);
1351 Connection signal_connect_expand_candidate (InfoManagerSlotVoid* slot);
1354 * @brief Signal: Contract candidate panel.
1356 * slot prototype: void contract_candidate (void);
1358 Connection signal_connect_contract_candidate (InfoManagerSlotVoid* slot);
1361 * @brief Signal: Select candidate string index.
1363 * slot prototype: void select_candidate (int index);
1365 Connection signal_connect_select_candidate (InfoManagerSlotInt* slot);
1368 * @brief Signal: Get the list of ise name.
1370 * slot prototype: bool get_ise_list (std::vector<String> &);
1372 Connection signal_connect_get_ise_list (InfoManagerSlotBoolStringVector* slot);
1375 * @brief Signal: Get the info of all helper ise.
1377 * slot prototype: bool get_all_helper_ise_info (HELPER_ISE_INFO &);
1379 Connection signal_connect_get_all_helper_ise_info (InfoManagerSlotBoolHelperInfo* slot);
1382 * @brief Signal: Update "has_option" column of ime_info DB by Application ID
1384 * slot prototype: void set_enable_helper_ise_info (const String &, bool );
1386 Connection signal_connect_set_has_option_helper_ise_info (InfoManagerSlotStringBool* slot);
1389 * @brief Signal: Update "is_enable" column of ime_info DB by Application ID
1391 * slot prototype: void set_enable_helper_ise_info (const String &, bool );
1393 Connection signal_connect_set_enable_helper_ise_info (InfoManagerSlotStringBool* slot);
1396 * @brief Signal: Launch inputmethod-setting-list application
1398 * slot prototype: void show_helper_ise_list (void);
1400 Connection signal_connect_show_helper_ise_list (InfoManagerSlotVoid* slot);
1403 * @brief Signal: Launch inputmethod-setting-selector application
1405 * slot prototype: void show_helper_ise_selector (void);
1407 Connection signal_connect_show_helper_ise_selector (InfoManagerSlotVoid* slot);
1410 * @brief Signal: Checks if the specific IME is enabled or disabled in the system keyboard setting
1412 * slot prototype: bool is_helper_ise_enabled (const String, int &);
1414 Connection signal_connect_is_helper_ise_enabled (InfoManagerSlotStringInt* slot);
1417 * @brief Signal: Get the ISE information according to UUID.
1419 * slot prototype: bool get_ise_information (String, String &, String &, int &, int &);
1421 Connection signal_connect_get_ise_information (InfoManagerSlotBoolString4int2* slot);
1424 * @brief Signal: Get the list of selected language name.
1426 * slot prototype: void get_language_list (std::vector<String> &);
1428 Connection signal_connect_get_language_list (InfoManagerSlotStringVector* slot);
1431 * @brief Signal: Get the all languages name.
1433 * slot prototype: void get_all_language (std::vector<String> &);
1435 Connection signal_connect_get_all_language (InfoManagerSlotStringVector* slot);
1437 * @brief Signal: Get the language list of a specified ise.
1439 * slot prototype: void get_ise_language (char *, std::vector<String> &);
1441 Connection signal_connect_get_ise_language (InfoManagerSlotStrStringVector* slot);
1444 * @brief Signal: Get the ise information by uuid.
1446 * slot prototype: bool get_ise_info_by_uuid (const String &, ISE_INFO &);
1448 Connection signal_connect_get_ise_info_by_uuid (InfoManagerSlotStringISEINFO* slot);
1451 * @brief Signal: send key event in panel.
1453 * slot prototype: void send_key_event (const KeyEvent &);
1455 Connection signal_connect_send_key_event (InfoManagerSlotKeyEvent* slot);
1458 * @brief Signal: A transaction is started.
1460 * This signal infers that the Panel should disable update before this transaction finishes.
1462 * slot prototype: void signal_connect_transaction_start (void);
1464 Connection signal_connect_transaction_start (InfoManagerSlotVoid* slot);
1467 * @brief Signal: Accept connection for this InfoManager.
1469 * slot prototype: void accept_connection (int fd);
1470 * - fd -- the file description for connection
1472 Connection signal_connect_accept_connection (InfoManagerSlotInt* slot);
1475 * @brief Signal: Close connection for this InfoManager.
1477 * slot prototype: void close_connection (int fd);
1478 * - fd -- the file description for connection
1480 Connection signal_connect_close_connection (InfoManagerSlotInt* slot);
1483 * @brief Signal: Exit application for this InfoManager.
1485 * slot prototype: void app_exit (void);
1487 Connection signal_connect_exit (InfoManagerSlotVoid* slot);
1490 * @brief Signal: A transaction is finished.
1492 * This signal will get emitted when a transaction is finished. This implys to re-enable
1495 * slot prototype: void signal_connect_transaction_end (void);
1497 Connection signal_connect_transaction_end (InfoManagerSlotVoid* slot);
1500 * @brief Signal: Lock the exclusive lock for this InfoManager.
1502 * The panel program should provide a thread lock and hook a slot into this signal to lock it.
1503 * InfoManager will use this lock to ensure the data integrity.
1505 * slot prototype: void lock (void);
1507 Connection signal_connect_lock (InfoManagerSlotVoid* slot);
1510 * @brief Signal: Unlock the exclusive lock for this InfoManager.
1512 * slot prototype: void unlock (void);
1514 Connection signal_connect_unlock (InfoManagerSlotVoid* slot);
1517 * @brief Signal: The input context of ISE is changed.
1519 * slot prototype: void update_input_context (int type, int value);
1521 Connection signal_connect_update_input_context (InfoManagerSlotIntInt* slot);
1524 * @brief Signal: Show ISE.
1526 * slot prototype: void show_ise (void);
1528 Connection signal_connect_show_ise (InfoManagerSlotVoid* slot);
1531 * @brief Signal: Hide ISE.
1533 * slot prototype: void hide_ise (void);
1535 Connection signal_connect_hide_ise (InfoManagerSlotVoid* slot);
1538 * @brief Signal: Notifies the client finished handling WILL_SHOW event
1540 * slot prototype: void will_show_ack (void);
1542 Connection signal_connect_will_show_ack (InfoManagerSlotVoid* slot);
1545 * @brief Signal: Notifies the client finished handling WILL_HIDE event
1547 * slot prototype: void will_hide_ack (void);
1549 Connection signal_connect_will_hide_ack (InfoManagerSlotVoid* slot);
1552 * @brief Signal: Set hardware mode
1554 * slot prototype: void set_keyboard_mode (void);
1556 Connection signal_connect_set_keyboard_mode (InfoManagerSlotInt* slot);
1559 * @brief Signal: Notifies the client finished handling WILL_HIDE event for candidate
1561 * slot prototype: void candidate_will_hide_ack (void);
1563 Connection signal_connect_candidate_will_hide_ack (InfoManagerSlotVoid* slot);
1566 * @brief Signal: Get ISE state.
1568 * slot prototype: void get_ise_state (int &state);
1570 Connection signal_connect_get_ise_state (InfoManagerSlotInt2* slot);
1573 * @brief Signal: run helper.
1575 * slot prototype: bool run_helper (const String &uuid, const String &config, const String &display);
1577 Connection signal_connect_run_helper (InfoManagerSlotString3* slot);
1579 Connection signal_connect_launch_option_application (InfoManagerSlotBoolString* slot);
1581 Connection signal_connect_get_ise_setting_appid (InfoManagerSlotBoolString2* slot);
1584 * @brief Signal: Get the recent input panel geometry information.
1586 * slot prototype: void get_recent_ise_geometry (int angle, rectinfo &info);
1588 Connection signal_connect_get_recent_ise_geometry (InfoManagerSlotIntRect* slot);
1590 Connection signal_connect_check_privilege_by_sockfd (InfoManagerSlotIntString2* slot);
1592 Connection signal_connect_remoteinput_send_input_message (InfoManagerSlotStringBool* slot);
1594 Connection signal_connect_remoteinput_send_surrounding_text (InfoManagerSlotIntString* slot);
1596 Connection signal_connect_set_preloading_ise (InfoManagerSlotBool* slot);
1601 } /* namespace scim */
1603 #endif /* __ISF_INFO_MANAGER_H */
1606 vi:ts=4:nowrap:ai:expandtab