3 * @brief Defines scim::HelperAgent and it's related types.
5 * scim::HelperAgent is a class used to write Client Helper modules.
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-2015 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.
34 * 1. Add new interface APIs for keyboard ISE
35 * a. expand_candidate (), contract_candidate () and set_candidate_style ()
36 * b. set_keyboard_ise_by_uuid () and reset_keyboard_ise ()
37 * c. get_surrounding_text () and delete_surrounding_text ()
38 * d. show_preedit_string (), hide_preedit_string (), update_preedit_string () and update_preedit_caret ()
39 * e. show_candidate_string (), hide_candidate_string () and update_candidate_string ()
41 * $Id: scim_helper.h,v 1.16 2005/05/24 12:22:51 suzhe Exp $
44 #ifndef __SCIM_HELPER_H
45 #define __SCIM_HELPER_H
47 #include "scim_utility.h"
49 #ifndef SCIM_HELPER_LAUNCHER_PROGRAM
50 #define SCIM_HELPER_LAUNCHER_PROGRAM (SCIM_LIBEXECDIR "/scim-helper-launcher")
57 * @ingroup InputServiceFramework
58 * The accessory classes to help develop and manage Client Helper objects.
61 class EXAPI HelperError: public Exception
64 HelperError (const String& what_arg)
65 : Exception (String("scim::Helper: ") + what_arg) { }
69 * @brief Helper option indicates that it's a stand alone Helper.
71 * Stand alone Helper has no corresponding IMEngine Factory,
72 * Such Helper can not be started by IMEngine Factory.
73 * So Panel must provide a menu, or something else, which contains
74 * all stand alone Helper items, so that user can start them by
77 const uint32 SCIM_HELPER_STAND_ALONE = 1;
80 * @brief Helper option indicates that it must be started
81 * automatically when Panel starts.
83 * If Helper objects want to start itself as soon as
84 * the Panel starts, set this option.
86 const uint32 SCIM_HELPER_AUTO_START = (1<<1);
89 * @brief Helper option indicates that it should be restarted
90 * when it exits abnormally.
92 * This option should not be used with #SCIM_HELPER_STAND_ALONE.
94 const uint32 SCIM_HELPER_AUTO_RESTART = (1<<2);
97 * @brief Helper option indicates that it needs the screen update
100 * Helper object with this option will receive the UPDATE_SCREEN event
101 * when the screen of focused ic is changed.
103 const uint32 SCIM_HELPER_NEED_SCREEN_INFO = (1<<3);
106 * @brief Helper option indicates that it needs the spot location
109 * Helper object with this option will receive the SPOT_LOCATION_INFO event
110 * when the spot location of focused ic is changed.
112 const uint32 SCIM_HELPER_NEED_SPOT_LOCATION_INFO = (1<<4);
115 * @brief ISE option indicates whether helper ISE handles the keyboard keyevent
117 const uint32 ISM_HELPER_PROCESS_KEYBOARD_KEYEVENT = (1<<16);
120 * @brief ISE option indicates whether it should be hidden in control panel.
122 const uint32 ISM_ISE_HIDE_IN_CONTROL_PANEL = (1<<17);
125 * @brief ISE option for 3rd party; IMEngine is not available.
127 const uint32 ISM_HELPER_WITHOUT_IMENGINE = (1<<18);
130 * @brief Structure to hold the information of a Helper object.
134 String uuid; /**< The UUID of this Helper object, replaced with Application ID since tizen 2.4 */
135 String name; /**< The Name of this Helper object, UTF-8 encoding. Deprecated since tizen 2.4 */
136 String icon; /**< The Icon file path of this Helper object. Deprecated since tizen 2.4 */
137 String description; /**< The short description of this Helper object. Deprecated since tizen 2.4 */
138 uint32 option; /**< The options of this Helper object. @sa #SCIM_HELPER_STAND_ALONE etc. Deprecated since tizen 2.4 */
140 HelperInfo (const String &puuid = String (),
141 const String &pname = String (),
142 const String &picon = String (),
143 const String &pdesc = String (),
162 typedef Slot3<void, const HelperAgent *, int, const String &>
165 typedef Slot4<void, const HelperAgent *, int, const String &, const String &>
166 HelperAgentSlotString;
168 typedef Slot4<void, const HelperAgent *, int, const String &, const std::vector<String> &>
169 HelperAgentSlotStringVector;
171 typedef Slot5<void, const HelperAgent *, int, const String &, const String &, const String &>
172 HelperAgentSlotString2;
174 typedef Slot4<void, const HelperAgent *, int, const String &, int>
177 typedef Slot5<void, const HelperAgent *, int, const String &, int, int>
178 HelperAgentSlotIntInt;
180 typedef Slot4<void, const HelperAgent *, int, const String &, const Transaction &>
181 HelperAgentSlotTransaction;
183 typedef Slot4<void, const HelperAgent *, int, const String &, const rectinfo &>
186 typedef Slot2<void, const HelperAgent *, struct rectinfo &>
189 typedef Slot2<void, const HelperAgent *, uint32 &>
190 HelperAgentSlotUintVoid;
192 typedef Slot3<void, const HelperAgent *, int, uint32 &>
193 HelperAgentSlotIntUint;
195 typedef Slot3<void, const HelperAgent *, char *, size_t &>
196 HelperAgentSlotRawVoid;
198 typedef Slot3<void, const HelperAgent *, char **, size_t &>
199 HelperAgentSlotGetRawVoid;
201 typedef Slot4<void, const HelperAgent *, int, char *, size_t &>
202 HelperAgentSlotIntRawVoid;
204 typedef Slot3<void, const HelperAgent *, int, char **>
205 HelperAgentSlotIntGetStringVoid;
207 typedef Slot2<void, const HelperAgent *, const std::vector<uint32> &>
208 HelperAgentSlotUintVector;
210 typedef Slot2<void, const HelperAgent *, LookupTable &>
211 HelperAgentSlotLookupTable;
212 typedef Slot3<void, const HelperAgent *, KeyEvent &, uint32 &>
213 HelperAgentSlotKeyEventUint;
216 * @brief The accessory class to write a Helper object.
218 * This class implements all Socket Transaction protocol between
219 * Helper object and Panel.
221 class EXAPI HelperAgent
223 class HelperAgentImpl;
224 HelperAgentImpl *m_impl;
226 HelperAgent (const HelperAgent &);
227 const HelperAgent & operator = (const HelperAgent &);
234 * @brief Open socket connection to the Panel.
236 * Helper objects and Panel communicate with each other via the Socket
237 * created by Panel, just same as the Socket between FrontEnds and Panel.
239 * Helper object can select/poll on the connection id returned by this function
240 * to see if there are any data available to be read. If any data are available,
241 * Helper object should call HelperAgent::filter_event() to process the data.
243 * This method should be called after the necessary signal-slots are connected.
244 * If this Helper is started by an IMEngine Instance, then signal attach_input_context
245 * will be emitted during this call.
247 * Signal update_screen will be emitted during this call as well to set the startup
248 * screen of this Helper. The ic and ic_uuid parameters are invalid here.
250 * @param info The information of this Helper object.
251 * @param display The display which this Helper object should run on.
253 * @return The connection socket id. -1 means failed to create
256 int open_connection (const HelperInfo &info,
257 const String &display);
260 * @brief Close the socket connection to Panel.
262 void close_connection ();
265 * @brief Get the connection id previously returned by open_connection().
267 * @return the connection id
269 int get_connection_number () const;
272 * @brief Check whether this HelperAgent has been connected to a Panel.
274 * Return true when it is connected to panel, otherwise return false.
276 bool is_connected () const;
279 * @brief Check if there are any events available to be processed.
281 * If it returns true then Helper object should call
282 * HelperAgent::filter_event() to process them.
284 * @return true if there are any events available.
286 bool has_pending_event () const;
289 * @brief Process the pending events.
291 * This function will emit the corresponding signals according
294 * @return false if the connection is broken, otherwise return true.
296 bool filter_event ();
299 * @brief Request SCIM to reload all configuration.
301 * This function should only by used by Setup Helper to request
302 * scim's reloading the configuration.
304 void reload_config () const;
307 * @brief Register some properties into Panel.
309 * This function send the request to Panel to register a list
312 * @param properties The list of Properties to be registered into Panel.
314 * @sa scim::Property.
316 void register_properties (const PropertyList &properties) const;
319 * @brief Update a registered property.
321 * @param property The property to be updated.
323 void update_property (const Property &property) const;
326 * @brief Send a set of events to an IMEngineInstance.
328 * All events should be put into a Transaction.
329 * And the events can only be received by one IMEngineInstance object.
331 * @param ic The handle of the Input Context to receive the events.
332 * @param ic_uuid The UUID of the Input Context.
333 * @param trans The Transaction object holds the events.
335 void send_imengine_event (int ic,
336 const String &ic_uuid,
337 const Transaction &trans) const;
340 * @brief Send a KeyEvent to an IMEngineInstance.
342 * @param ic The handle of the IMEngineInstance to receive the event.
343 * -1 means the currently focused IMEngineInstance.
344 * @param ic_uuid The UUID of the IMEngineInstance. Empty means don't match.
345 * @param key The KeyEvent to be sent.
347 void send_key_event (int ic,
348 const String &ic_uuid,
349 const KeyEvent &key) const;
352 * @brief Forward a KeyEvent to client application directly.
354 * @param ic The handle of the client Input Context to receive the event.
355 * -1 means the currently focused Input Context.
356 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
357 * Empty means don't match.
358 * @param key The KeyEvent to be forwarded.
360 void forward_key_event (int ic,
361 const String &ic_uuid,
362 const KeyEvent &key) const;
365 * @brief Commit a WideString to client application directly.
367 * @param ic The handle of the client Input Context to receive the WideString.
368 * -1 means the currently focused Input Context.
369 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
370 * Empty means don't match.
371 * @param wstr The WideString to be committed.
373 void commit_string (int ic,
374 const String &ic_uuid,
375 const WideString &wstr) const;
378 * @brief Commit a UTF-8 String to client application directly.
380 * @param ic The handle of the client Input Context to receive the commit string.
381 * -1 means the currently focused Input Context.
382 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
383 * Empty means don't match.
384 * @param buf The byte array of UTF-8 string to be committed.
385 * @param buflen The buf size in bytes.
387 void commit_string (int ic,
388 const String &ic_uuid,
393 * @brief Request to show preedit string.
395 * @param ic The handle of the client Input Context to receive the request.
396 * -1 means the currently focused Input Context.
397 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
398 * Empty means don't match.
400 void show_preedit_string (int ic,
401 const String &ic_uuid) const;
404 * @brief Request to show aux string.
406 void show_aux_string (void) const;
409 * @brief Request to show candidate string.
411 void show_candidate_string (void) const;
414 * @brief Request to show associate string.
416 void show_associate_string (void) const;
419 * @brief Request to hide preedit string.
421 * @param ic The handle of the client Input Context to receive the request.
422 * -1 means the currently focused Input Context.
423 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
424 * Empty means don't match.
426 void hide_preedit_string (int ic,
427 const String &ic_uuid) const;
430 * @brief Request to hide aux string.
432 void hide_aux_string (void) const;
435 * @brief Request to hide candidate string.
437 void hide_candidate_string (void) const;
440 * @brief Request to hide associate string.
442 void hide_associate_string (void) const;
445 * @brief Update a new WideString for preedit.
447 * @param ic The handle of the client Input Context to receive the WideString.
448 * -1 means the currently focused Input Context.
449 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
450 * Empty means don't match.
451 * @param wstr The WideString to be updated.
452 * @param attrs The attribute list for preedit string.
454 void update_preedit_string (int ic,
455 const String &ic_uuid,
456 const WideString &wstr,
457 const AttributeList &attrs) const;
460 * @brief Update a new UTF-8 string for preedit.
462 * @param ic The handle of the client Input Context to receive the UTF-8 String.
463 * -1 means the currently focused Input Context.
464 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
465 * Empty means don't match.
466 * @param buf The byte array of UTF-8 string to be updated.
467 * @param buflen The buf size in bytes.
468 * @param attrs The attribute list for preedit string.
470 void update_preedit_string (int ic,
471 const String &ic_uuid,
474 const AttributeList &attrs) const;
477 * @brief Update a new WideString and caret for preedit.
479 * @param ic The handle of the client Input Context to receive the WideString.
480 * -1 means the currently focused Input Context.
481 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
482 * Empty means don't match.
483 * @param wstr The WideString to be updated.
484 * @param attrs The attribute list for preedit string.
485 * @param caret The caret position in preedit string.
487 void update_preedit_string (int ic,
488 const String &ic_uuid,
489 const WideString &wstr,
490 const AttributeList &attrs,
494 * @brief Update a new UTF-8 string and caret for preedit.
496 * @param ic The handle of the client Input Context to receive the UTF-8 String.
497 * -1 means the currently focused Input Context.
498 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
499 * Empty means don't match.
500 * @param buf The byte array of UTF-8 string to be updated.
501 * @param buflen The buf size in bytes.
502 * @param attrs The attribute list for preedit string.
503 * @param caret The caret position in preedit string.
505 void update_preedit_string (int ic,
506 const String &ic_uuid,
509 const AttributeList &attrs,
513 * @brief Update a new string for aux.
515 * @param str The string to be updated.
516 * @param attrs The attribute list for aux string.
518 void update_aux_string (const String &str,
519 const AttributeList &attrs) const;
522 * @brief Request to update candidate.
524 * @param table The lookup table for candidate.
526 void update_candidate_string (const LookupTable &table) const;
529 * @brief Request to update associate.
531 * @param table The lookup table for associate.
533 void update_associate_string (const LookupTable &table) const;
536 * @brief When the input context of ISE is changed,
537 * ISE can call this function to notify application
539 * @param type type of event.
540 * @param value value of event.
542 void update_input_context (uint32 type,
546 * @brief Request to get surrounding text asynchronously.
548 * @param uuid The helper ISE UUID.
549 * @param maxlen_before The max length of before.
550 * @param maxlen_after The max length of after.
552 void get_surrounding_text (const String &uuid,
554 int maxlen_after) const;
557 * @brief Request to get surrounding text synchronously.
559 * @param maxlen_before The max length of before.
560 * @param maxlen_after The max length of after.
561 * @param text The surounding text.
562 * @param cursor The cursor position.
564 void get_surrounding_text (int maxlen_before, int maxlen_after, String &text, int &cursor);
567 * @brief Request to delete surrounding text.
569 * @param offset The offset for cursor position.
570 * @param len The length for delete text.
572 void delete_surrounding_text (int offset,
576 * @brief Request to get selection.
578 * @param uuid The helper ISE UUID.
580 void get_selection (const String &uuid) const;
583 * @brief Request to selected text.
585 * @param start The start position in text.
586 * @param end The end position in text.
588 void set_selection (int start,
592 * @brief Set candidate position in screen.
594 * @param left The x position in screen.
595 * @param top The y position in screen.
597 void set_candidate_position (int left,
601 * @brief Request to hide candidate window.
603 void candidate_hide (void) const;
606 * @brief Request to get candidate window size and position.
608 * @param uuid The helper ISE UUID.
610 void get_candidate_window_geometry (const String &uuid) const;
613 * @brief Set current keyboard ISE.
615 * @param uuid The keyboard ISE UUID.
617 void set_keyboard_ise_by_uuid (const String &uuid) const;
620 * @brief Request to get current keyboard ISE information.
622 * @param uuid The helper ISE UUID.
624 void get_keyboard_ise (const String &uuid) const;
627 * @brief Request to get uuid list of all keyboard ISEs.
629 * @param uuid The helper ISE UUID.
631 void get_keyboard_ise_list (const String &uuid) const;
634 * @brief Update ISE window geometry.
636 * @param x The x position in screen.
637 * @param y The y position in screen.
638 * @param width The ISE window width.
639 * @param height The ISE window height.
641 void update_geometry (int x,
647 * @brief Request to expand candidate window.
649 void expand_candidate (void) const;
652 * @brief Request to contract candidate window.
654 void contract_candidate (void) const;
657 * @brief Send selected candidate string index number.
659 void select_candidate (int index) const;
662 * @brief Update ise exit status
664 void update_ise_exit (void) const;
667 * @brief Update the preedit caret position in the preedit string.
669 * @param caret - the new position of the preedit caret.
671 void update_preedit_caret (int caret) const;
674 * @brief Set candidate style.
676 * @param portrait_line - the displayed line number for portrait.
677 * @param mode - candidate window mode.
679 void set_candidate_style (ISF_CANDIDATE_PORTRAIT_LINE_T portrait_line = ONE_LINE_CANDIDATE,
680 ISF_CANDIDATE_MODE_T mode = SOFT_CANDIDATE_WINDOW) const;
683 * @brief Request to reset keyboard ISE.
685 void reset_keyboard_ise (void) const;
688 * @brief Send a private command to an application
690 * @param command The private command sent from IME.
692 void send_private_command (const String &command) const;
696 * @brief Connect a slot to Helper exit signal.
698 * This signal is used to let the Helper exit.
700 * The prototype of the slot is:
702 * void exit (const HelperAgent *agent, int ic, const String &ic_uuid);
705 * - agent The pointer to the HelperAgent object which emits this signal.
706 * - ic An opaque handle of the currently focused input context.
707 * - ic_uuid The UUID of the IMEngineInstance associated with the focused input context.
709 Connection signal_connect_exit (HelperAgentSlotVoid *slot);
712 * @brief Connect a slot to Helper attach input context signal.
714 * This signal is used to attach an input context to this helper.
716 * When an input context requst to start this helper, then this
717 * signal will be emitted as soon as the helper is started.
719 * When an input context want to start an already started helper,
720 * this signal will also be emitted.
722 * Helper can send some events back to the IMEngineInstance in this
723 * signal-slot, to inform that it has been started sccessfully.
725 * The prototype of the slot is:
727 * void attach_input_context (const HelperAgent *agent, int ic, const String &ic_uuid);
729 Connection signal_connect_attach_input_context (HelperAgentSlotVoid *slot);
732 * @brief Connect a slot to Helper detach input context signal.
734 * This signal is used to detach an input context from this helper.
736 * When an input context requst to stop this helper, then this
737 * signal will be emitted.
739 * Helper shouldn't send any event back to the IMEngineInstance, because
740 * the IMEngineInstance attached to the ic should have been destroyed.
742 * The prototype of the slot is:
744 * void detach_input_context (const HelperAgent *agent, int ic, const String &ic_uuid);
746 Connection signal_connect_detach_input_context (HelperAgentSlotVoid *slot);
749 * @brief Connect a slot to Helper reload config signal.
751 * This signal is used to let the Helper reload configuration.
753 * The prototype of the slot is:
755 * void reload_config (const HelperAgent *agent, int ic, const String &ic_uuid);
757 Connection signal_connect_reload_config (HelperAgentSlotVoid *slot);
760 * @brief Connect a slot to Helper update screen signal.
762 * This signal is used to let the Helper move its GUI to another screen.
763 * It can only be emitted when SCIM_HELPER_NEED_SCREEN_INFO is set in HelperInfo.option.
765 * The prototype of the slot is:
767 * void update_screen (const HelperAgent *agent, int ic, const String &ic_uuid, int screen_number);
769 Connection signal_connect_update_screen (HelperAgentSlotInt *slot);
772 * @brief Connect a slot to Helper update spot location signal.
774 * This signal is used to let the Helper move its GUI according to the current spot location.
775 * It can only be emitted when SCIM_HELPER_NEED_SPOT_LOCATION_INFO is set in HelperInfo.option.
777 * The prototype of the slot is:
778 * void update_spot_location (const HelperAgent *agent, int ic, const String &ic_uuid, int x, int y);
780 Connection signal_connect_update_spot_location (HelperAgentSlotIntInt *slot);
783 * @brief Connect a slot to Helper update cursor position signal.
785 * This signal is used to let the Helper get the cursor position information.
787 * The prototype of the slot is:
788 * void update_cursor_position (const HelperAgent *agent, int ic, const String &ic_uuid, int cursor_pos);
790 Connection signal_connect_update_cursor_position (HelperAgentSlotInt *slot);
793 * @brief Connect a slot to Helper update surrounding text signal.
795 * This signal is used to let the Helper get the surrounding text.
797 * The prototype of the slot is:
798 * void update_surrounding_text (const HelperAgent *agent, int ic, const String &text, int cursor);
800 Connection signal_connect_update_surrounding_text (HelperAgentSlotInt *slot);
803 * @brief Connect a slot to Helper update selection signal.
805 * This signal is used to let the Helper get the selection.
807 * The prototype of the slot is:
808 * void update_selection (const HelperAgent *agent, int ic, const String &text);
810 Connection signal_connect_update_selection (HelperAgentSlotVoid *slot);
813 * @brief Connect a slot to Helper trigger property signal.
815 * This signal is used to trigger a property registered by this Helper.
816 * A property will be triggered when user clicks on it.
818 * The prototype of the slot is:
819 * void trigger_property (const HelperAgent *agent, int ic, const String &ic_uuid, const String &property);
821 Connection signal_connect_trigger_property (HelperAgentSlotString *slot);
824 * @brief Connect a slot to Helper process imengine event signal.
826 * This signal is used to deliver the events sent from IMEngine to Helper.
828 * The prototype of the slot is:
829 * void process_imengine_event (const HelperAgent *agent, int ic, const String &ic_uuid, const Transaction &transaction);
831 Connection signal_connect_process_imengine_event (HelperAgentSlotTransaction *slot);
834 * @brief Connect a slot to Helper focus out signal.
836 * This signal is used to do something when input context is focus out.
838 * The prototype of the slot is:
839 * void focus_out (const HelperAgent *agent, int ic, const String &ic_uuid);
841 Connection signal_connect_focus_out (HelperAgentSlotVoid *slot);
844 * @brief Connect a slot to Helper focus in signal.
846 * This signal is used to do something when input context is focus in.
848 * The prototype of the slot is:
849 * void focus_in (const HelperAgent *agent, int ic, const String &ic_uuid);
851 Connection signal_connect_focus_in (HelperAgentSlotVoid *slot);
854 * @brief Connect a slot to Helper show signal.
856 * This signal is used to show Helper ISE window.
858 * The prototype of the slot is:
859 * void ise_show (const HelperAgent *agent, int ic, char *buf, size_t &len);
861 Connection signal_connect_ise_show (HelperAgentSlotIntRawVoid *slot);
864 * @brief Connect a slot to Helper hide signal.
866 * This signal is used to hide Helper ISE window.
868 * The prototype of the slot is:
869 * void ise_hide (const HelperAgent *agent, int ic, const String &ic_uuid);
871 Connection signal_connect_ise_hide (HelperAgentSlotVoid *slot);
874 * @brief Connect a slot to Helper get ISE window geometry signal.
876 * This signal is used to get Helper ISE window size and position.
878 * The prototype of the slot is:
879 * void get_geometry (const HelperAgent *agent, struct rectinfo &info);
881 Connection signal_connect_get_geometry (HelperAgentSlotSize *slot);
884 * @brief Connect a slot to Helper set mode signal.
886 * This signal is used to set Helper ISE mode.
888 * The prototype of the slot is:
889 * void set_mode (const HelperAgent *agent, uint32 &mode);
891 Connection signal_connect_set_mode (HelperAgentSlotUintVoid *slot);
894 * @brief Connect a slot to Helper set language signal.
896 * This signal is used to set Helper ISE language.
898 * The prototype of the slot is:
899 * void set_language (const HelperAgent *agent, uint32 &language);
901 Connection signal_connect_set_language (HelperAgentSlotUintVoid *slot);
904 * @brief Connect a slot to Helper set im data signal.
906 * This signal is used to send im data to Helper ISE.
908 * The prototype of the slot is:
909 * void set_imdata (const HelperAgent *agent, char *buf, size_t &len);
911 Connection signal_connect_set_imdata (HelperAgentSlotRawVoid *slot);
914 * @brief Connect a slot to Helper get im data signal.
916 * This signal is used to get im data from Helper ISE.
918 * The prototype of the slot is:
919 * void get_imdata (const HelperAgent *, char **buf, size_t &len);
921 Connection signal_connect_get_imdata (HelperAgentSlotGetRawVoid *slot);
924 * @brief Connect a slot to Helper get language locale.
926 * This signal is used to get language locale from Helper ISE.
928 * The prototype of the slot is:
929 * void get_language_locale (const HelperAgent *, int ic, char **locale);
931 Connection signal_connect_get_language_locale (HelperAgentSlotIntGetStringVoid *slot);
934 * @brief Connect a slot to Helper set return key type signal.
936 * This signal is used to set return key type to Helper ISE.
938 * The prototype of the slot is:
939 * void set_return_key_type (const HelperAgent *agent, uint32 &type);
941 Connection signal_connect_set_return_key_type (HelperAgentSlotUintVoid *slot);
944 * @brief Connect a slot to Helper get return key type signal.
946 * This signal is used to get return key type from Helper ISE.
948 * The prototype of the slot is:
949 * void get_return_key_type (const HelperAgent *agent, uint32 &type);
951 Connection signal_connect_get_return_key_type (HelperAgentSlotUintVoid *slot);
954 * @brief Connect a slot to Helper set return key disable signal.
956 * This signal is used to set return key disable to Helper ISE.
958 * The prototype of the slot is:
959 * void set_return_key_disable (const HelperAgent *agent, uint32 &disabled);
961 Connection signal_connect_set_return_key_disable (HelperAgentSlotUintVoid *slot);
964 * @brief Connect a slot to Helper get return key disable signal.
966 * This signal is used to get return key disable from Helper ISE.
968 * The prototype of the slot is:
969 * void get_return_key_disable (const HelperAgent *agent, uint32 &disabled);
971 Connection signal_connect_get_return_key_disable (HelperAgentSlotUintVoid *slot);
974 * @brief Connect a slot to Helper get layout signal.
976 * This signal is used to get Helper ISE layout.
978 * The prototype of the slot is:
979 * void get_layout (const HelperAgent *agent, uint32 &layout);
981 Connection signal_connect_get_layout (HelperAgentSlotUintVoid *slot);
984 * @brief Connect a slot to Helper set layout signal.
986 * This signal is used to set Helper ISE layout.
988 * The prototype of the slot is:
989 * void set_layout (const HelperAgent *agent, uint32 &layout);
991 Connection signal_connect_set_layout (HelperAgentSlotUintVoid *slot);
994 * @brief Connect a slot to Helper set shift mode signal.
996 * This signal is used to set Helper shift mode.
998 * The prototype of the slot is:
999 * void set_caps_mode (const HelperAgent *agent, uint32 &mode);
1001 Connection signal_connect_set_caps_mode (HelperAgentSlotUintVoid *slot);
1004 * @brief Connect a slot to Helper reset input context signal.
1006 * This signal is used to reset Helper ISE input context.
1008 * The prototype of the slot is:
1009 * void reset_input_context (const HelperAgent *agent, int ic, const String &uuid);
1011 Connection signal_connect_reset_input_context (HelperAgentSlotVoid *slot);
1014 * @brief Connect a slot to Helper update candidate window geometry signal.
1016 * This signal is used to get candidate window size and position.
1018 * The prototype of the slot is:
1019 * void update_candidate_geometry (const HelperAgent *agent, int ic, const String &uuid, const rectinfo &info);
1021 Connection signal_connect_update_candidate_geometry (HelperAgentSlotRect *slot);
1024 * @brief Connect a slot to Helper update keyboard ISE signal.
1026 * This signal is used to get current keyboard ISE name and uuid.
1028 * The prototype of the slot is:
1029 * void update_keyboard_ise (const HelperAgent *agent, int ic, const String &uuid,
1030 * const String &ise_name, const String &ise_uuid);
1032 Connection signal_connect_update_keyboard_ise (HelperAgentSlotString2 *slot);
1035 * @brief Connect a slot to Helper update keyboard ISE list signal.
1037 * This signal is used to get uuid list of all keyboard ISEs.
1039 * The prototype of the slot is:
1040 * void update_keyboard_ise_list (const HelperAgent *agent, int ic, const String &uuid,
1041 * const std::vector<String> &ise_list);
1043 Connection signal_connect_update_keyboard_ise_list (HelperAgentSlotStringVector *slot);
1046 * @brief Connect a slot to Helper candidate more window show signal.
1048 * This signal is used to do someting when candidate more window is showed.
1050 * The prototype of the slot is:
1051 * void candidate_more_window_show (const HelperAgent *agent, int ic, const String &uuid);
1053 Connection signal_connect_candidate_more_window_show (HelperAgentSlotVoid *slot);
1056 * @brief Connect a slot to Helper candidate more window hide signal.
1058 * This signal is used to do someting when candidate more window is hidden.
1060 * The prototype of the slot is:
1061 * void candidate_more_window_hide (const HelperAgent *agent, int ic, const String &uuid);
1063 Connection signal_connect_candidate_more_window_hide (HelperAgentSlotVoid *slot);
1066 * @brief Connect a slot to Helper candidate show signal.
1068 * This signal is used to do candidate show.
1070 * The prototype of the slot is:
1071 * void candidate_show (const HelperAgent *agent, int ic, const String &uuid);
1073 Connection signal_connect_candidate_show (HelperAgentSlotVoid *slot);
1076 * @brief Connect a slot to Helper candidate hide signal.
1078 * This signal is used to do candidate hide.
1080 * The prototype of the slot is:
1081 * void candidate_hide (const HelperAgent *agent,int ic, const String &uuid);
1083 Connection signal_connect_candidate_hide (HelperAgentSlotVoid *slot);
1086 * @brief Connect a slot to Helper update lookup table signal.
1088 * This signal is used to do someting when update lookup table.
1090 * The prototype of the slot is:
1091 * void update_lookup_table (const HelperAgent *agent, int ic, const String &uuid, LookupTable &Table);
1093 Connection signal_connect_update_lookup_table (HelperAgentSlotLookupTable *slot);
1096 * @brief Connect a slot to Helper select aux signal.
1098 * This signal is used to do something when aux is selected.
1100 * The prototype of the slot is:
1101 * void select_aux (const HelperAgent *agent, int ic, const String &uuid, int index);
1103 Connection signal_connect_select_aux (HelperAgentSlotInt *slot);
1106 * @brief Connect a slot to Helper select candidate signal.
1108 * This signal is used to do something when candidate is selected.
1110 * The prototype of the slot is:
1111 * void select_candidate (const HelperAgent *agent, int ic, const String &uuid, int index);
1113 Connection signal_connect_select_candidate (HelperAgentSlotInt *slot);
1116 * @brief Connect a slot to Helper candidate table page up signal.
1118 * This signal is used to do something when candidate table is paged up.
1120 * The prototype of the slot is:
1121 * void candidate_table_page_up (const HelperAgent *agent, int ic, const String &uuid);
1123 Connection signal_connect_candidate_table_page_up (HelperAgentSlotVoid *slot);
1126 * @brief Connect a slot to Helper candidate table page down signal.
1128 * This signal is used to do something when candidate table is paged down.
1130 * The prototype of the slot is:
1131 * void candidate_table_page_down (const HelperAgent *agent, int ic, const String &uuid);
1133 Connection signal_connect_candidate_table_page_down (HelperAgentSlotVoid *slot);
1136 * @brief Connect a slot to Helper update candidate table page size signal.
1138 * This signal is used to do something when candidate table page size is changed.
1140 * The prototype of the slot is:
1141 * void update_candidate_table_page_size (const HelperAgent *, int ic, const String &uuid, int page_size);
1143 Connection signal_connect_update_candidate_table_page_size (HelperAgentSlotInt *slot);
1146 * @brief Connect a slot to Helper select associate signal.
1148 * This signal is used to do something when associate is selected.
1150 * The prototype of the slot is:
1151 * void select_associate (const HelperAgent *agent, int ic, const String &uuid, int index);
1153 Connection signal_connect_select_associate (HelperAgentSlotInt *slot);
1156 * @brief Connect a slot to Helper associate table page up signal.
1158 * This signal is used to do something when associate table is paged up.
1160 * The prototype of the slot is:
1161 * void associate_table_page_up (const HelperAgent *agent, int ic, const String &uuid);
1163 Connection signal_connect_associate_table_page_up (HelperAgentSlotVoid *slot);
1166 * @brief Connect a slot to Helper associate table page down signal.
1168 * This signal is used to do something when associate table is paged down.
1170 * The prototype of the slot is:
1171 * void associate_table_page_down (const HelperAgent *agent, int ic, const String &uuid);
1173 Connection signal_connect_associate_table_page_down (HelperAgentSlotVoid *slot);
1176 * @brief Connect a slot to Helper update associate table page size signal.
1178 * This signal is used to do something when associate table page size is changed.
1180 * The prototype of the slot is:
1181 * void update_associate_table_page_size (const HelperAgent *, int ic, const String &uuid, int page_size);
1183 Connection signal_connect_update_associate_table_page_size (HelperAgentSlotInt *slot);
1186 * @brief Connect a slot to Helper turn on log signal.
1188 * This signal is used to turn on Helper ISE debug information.
1190 * The prototype of the slot is:
1191 * void turn_on_log (const HelperAgent *agent, uint32 &on);
1193 Connection signal_connect_turn_on_log (HelperAgentSlotUintVoid *slot);
1196 * @brief Connect a slot to Helper update displayed candidate number signal.
1198 * This signal is used to inform helper ISE displayed candidate number.
1200 * The prototype of the slot is:
1201 * void update_displayed_candidate_number (const HelperAgent *, int ic, const String &uuid, int number);
1203 Connection signal_connect_update_displayed_candidate_number (HelperAgentSlotInt *slot);
1206 * @brief Connect a slot to Helper longpress candidate signal.
1208 * This signal is used to do something when candidate is longpress.
1210 * The prototype of the slot is:
1211 * void longpress_candidate (const HelperAgent *agent, int ic, const String &uuid, int index);
1213 Connection signal_connect_longpress_candidate (HelperAgentSlotInt *slot);
1216 * @brief Connect a slot to Helper update candidate item layout signal.
1218 * The prototype of the slot is:
1219 * void update_candidate_item_layout (const HelperAgent *, const std::vector<uint32> &row_items);
1221 Connection signal_connect_update_candidate_item_layout (HelperAgentSlotUintVector *slot);
1224 * @brief Connect a slot to Helper process key event signal.
1226 * The prototype of the slot is:
1227 * void process_key_event (const HelperAgent *, KeyEvent &key, uint32 &ret);
1229 Connection signal_connect_process_key_event (HelperAgentSlotKeyEventUint *slot);
1232 * @brief Connect a slot to Helper set input mode signal.
1234 * This signal is used to set Helper ISE input mode.
1236 * The prototype of the slot is:
1237 * void set_input_mode (const HelperAgent *agent, uint32 &input_mode);
1239 Connection signal_connect_set_input_mode (HelperAgentSlotUintVoid *slot);
1242 * @brief Connect a slot to Helper set input hint signal.
1244 * This signal is used to set Helper ISE input hint.
1246 * The prototype of the slot is:
1247 * void set_input_hint (const HelperAgent *agent, uint32 &input_hint);
1249 Connection signal_connect_set_input_hint (HelperAgentSlotUintVoid *slot);
1252 * @brief Connect a slot to Helper update bidi direction signal.
1254 * This signal is used to update Helper ISE bidi direction.
1256 * The prototype of the slot is:
1257 * void update_bidi_direction (const HelperAgent *agent, uint32 &bidi_direction);
1259 Connection signal_connect_update_bidi_direction (HelperAgentSlotUintVoid *slot);
1262 * @brief Connect a slot to Helper show option window.
1264 * This signal is used to do request the ISE to show option window.
1266 * The prototype of the slot is:
1267 * void show_option_window (const HelperAgent *agent, int ic, const String &uuid);
1269 Connection signal_connect_show_option_window (HelperAgentSlotVoid *slot);
1272 * @brief Connect a slot to Helper check if the option is available.
1274 * This signal is used to request ISE to reply if the option (setting) is available.
1276 * The prototype of the slot is:
1277 * void check_option_window (const HelperAgent *agent, uint32 &avail);
1279 Connection signal_connect_check_option_window (HelperAgentSlotUintVoid *slot);
1284 } /* namespace scim */
1292 #endif /* __SCIM_HELPER_H */
1295 vi:ts=4:nowrap:ai:expandtab