1 /** @file isf_panel_agent_manager.cpp
2 * @brief Implementation of class PanelAgentManager.
5 /* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
8 * Smart Common Input Method
10 * Copyright (c) 2005 James Su <suzhe@tsinghua.org.cn>
11 * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
14 * This library is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU Lesser General Public
16 * License as published by the Free Software Foundation; either
17 * version 2 of the License, or (at your option) any later version.
19 * This library is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License for more details.
24 * You should have received a copy of the GNU Lesser General Public
25 * License along with this program; if not, write to the
26 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
27 * Boston, MA 02111-1307 USA
31 #define Uses_SCIM_TRANSACTION
32 #define Uses_SCIM_TRANS_COMMANDS
33 #define Uses_SCIM_PANEL_AGENT
34 #define Uses_SCIM_HELPER
35 #define Uses_SCIM_SOCKET
36 #define Uses_SCIM_EVENT
37 #define Uses_SCIM_CONFIG
38 #define Uses_SCIM_CONFIG_MODULE
39 #define Uses_SCIM_CONFIG_PATH
40 #define Uses_SCIM_UTILITY
41 #define Uses_SCIM_PANEL_AGENT_MODULE
44 #include <sys/types.h>
45 #include <sys/times.h>
48 #include "scim_private.h"
50 #include "scim_stl_map.h"
51 #include "isf_debug.h"
56 #define LOG_TAG "ISF_PANEL_AGENT_MANAGER"
60 #define WAYLAND_MODULE_CLIENT_ID (0)
67 //==================================== PanelAgent ===========================
68 class PanelAgentManager::PanelAgentManagerImpl
71 std::vector<PanelAgentModule*> m_panel_agent_modules;
72 std::map <int, PanelAgentPointer> m_client_repository;
74 PanelAgentPointer m_socket;
75 PanelAgentPointer m_wayland;
77 PanelAgentManagerImpl () {
80 ~PanelAgentManagerImpl () {
83 std::vector<PanelAgentModule*>::iterator iter = m_panel_agent_modules.begin ();
85 for (; iter != m_panel_agent_modules.end (); iter++) {
90 m_panel_agent_modules.clear ();
93 PanelAgentPointer get_panel_agent_by_id (int id) {
94 if (id == WAYLAND_MODULE_CLIENT_ID)
100 PanelAgentPointer get_panel_wl_agent () {
105 PanelAgentManager::PanelAgentManager ()
106 :m_impl (new PanelAgentManagerImpl ())
110 PanelAgentManager::~PanelAgentManager ()
115 bool PanelAgentManager::initialize (InfoManager* info_manager, const ConfigPointer& config, const String& display, bool resident)
117 std::vector <String> mod_list;
118 scim_get_panel_agent_module_list (mod_list);
120 for (std::vector<String>::iterator it = mod_list.begin (); it != mod_list.end (); ++it) {
121 LOGD ("Trying to load panelagent module %s", it->c_str ());
122 PanelAgentModule* _panel_agent_module = new PanelAgentModule;
124 if (!_panel_agent_module) {
129 _panel_agent_module->load (*it, config);
131 if (!_panel_agent_module->valid ()) {
133 delete _panel_agent_module;
137 PanelAgentPointer _panelagent = _panel_agent_module->get_instance ();
139 if (_panelagent.null ()) {
141 delete _panel_agent_module;
145 _panelagent->initialize (info_manager, display, resident);
146 LOGD ("PanelAgent Module %s loaded", _panel_agent_module->get_module_name ().c_str ());
147 m_impl->m_panel_agent_modules.push_back (_panel_agent_module);
149 if (_panel_agent_module->get_module_name () == "wayland")
150 m_impl->m_wayland = _panelagent;
151 else if (_panel_agent_module->get_module_name () == "ecoresocket")
152 m_impl->m_socket = _panelagent;
158 bool PanelAgentManager::valid (void) const
163 void PanelAgentManager::stop (void)
165 SCIM_DEBUG_MAIN (1) << "PanelAgent::stop ()\n";
168 void PanelAgentManager::update_panel_event (int id, uint32 context_id, int cmd, uint32 nType, uint32 nValue)
170 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
173 _p->update_panel_event (id, context_id, cmd, nType, nValue);
176 void PanelAgentManager::reset_keyboard_ise (int id, uint32 context_id)
178 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
181 _p->reset_keyboard_ise (id, context_id);
184 void PanelAgentManager::update_keyboard_ise_list (int id, uint32 context_id)
186 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
189 _p->update_keyboard_ise_list (id, context_id);
192 void PanelAgentManager::change_factory (int id, uint32 context_id, const String& uuid)
194 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
197 _p->change_factory (id, context_id, uuid);
200 void PanelAgentManager::helper_candidate_show (int id, uint32 context_id, const String& uuid)
202 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
205 _p->helper_candidate_show (id, context_id, uuid);
208 void PanelAgentManager::helper_candidate_hide (int id, uint32 context_id, const String& uuid)
210 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
213 _p->helper_candidate_hide (id, context_id, uuid);
216 void PanelAgentManager::candidate_more_window_show (int id, uint32 context_id)
218 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
221 _p->candidate_more_window_show (id, context_id);
224 void PanelAgentManager::candidate_more_window_hide (int id, uint32 context_id)
226 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
229 _p->candidate_more_window_hide (id, context_id);
232 void PanelAgentManager::update_helper_lookup_table (int id, uint32 context_id, const String& uuid, const LookupTable& table)
234 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
237 _p->update_helper_lookup_table (id, context_id, uuid, table);
240 void PanelAgentManager::select_aux (int id, uint32 context_id, uint32 item)
242 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
245 _p->select_aux (id, context_id, item);
248 void PanelAgentManager::select_candidate (int id, uint32 context_id, uint32 item)
250 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
253 _p->select_candidate (id, context_id, item);
256 void PanelAgentManager::lookup_table_page_up (int id, uint32 context_id)
258 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
261 _p->lookup_table_page_up (id, context_id);
264 void PanelAgentManager::lookup_table_page_down (int id, uint32 context_id)
266 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
269 _p->lookup_table_page_down (id, context_id);
272 void PanelAgentManager::update_lookup_table_page_size (int id, uint32 context_id, uint32 size)
274 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
277 _p->update_lookup_table_page_size (id, context_id, size);
280 void PanelAgentManager::update_candidate_item_layout (int id, uint32 context_id, const std::vector<uint32>& row_items)
282 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
285 _p->update_candidate_item_layout (id, context_id, row_items);
288 void PanelAgentManager::select_associate (int id, uint32 context_id, uint32 item)
290 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
293 _p->select_associate (id, context_id, item);
296 void PanelAgentManager::associate_table_page_up (int id, uint32 context_id)
298 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
301 _p->associate_table_page_up (id, context_id);
304 void PanelAgentManager::associate_table_page_down (int id, uint32 context_id)
306 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
309 _p->associate_table_page_down (id, context_id);
312 void PanelAgentManager::update_associate_table_page_size (int id, uint32 context_id, uint32 size)
314 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
317 _p->update_associate_table_page_size (id, context_id, size);
320 void PanelAgentManager::update_displayed_candidate_number (int id, uint32 context_id, uint32 size)
322 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
325 _p->update_displayed_candidate_number (id, context_id, size);
328 void PanelAgentManager::send_longpress_event (int id, uint32 context_id, uint32 index)
330 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
333 _p->send_longpress_event (id, context_id, index);
336 void PanelAgentManager::trigger_property (int id, uint32 context_id, const String& property)
338 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
341 _p->trigger_property (id, context_id, property);
344 void PanelAgentManager::socket_start_helper (int id, uint32 context_id, const String& ic_uuid)
346 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
349 _p->socket_start_helper (id, context_id, ic_uuid);
353 void PanelAgentManager::exit (int id, uint32 context_id)
355 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
358 _p->exit (id, context_id);
361 void PanelAgentManager::focus_out_helper (int id, uint32 context_id, const String& uuid)
363 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
366 _p->focus_out_helper (id, context_id, uuid);
369 void PanelAgentManager::focus_in_helper (int id, uint32 context_id, const String& uuid)
371 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
374 _p->focus_in_helper (id, context_id, uuid);
377 void PanelAgentManager::show_helper (int id, uint32 context_id, const String& uuid, char* data, size_t& len)
379 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
382 _p->show_helper (id, context_id, uuid, data, len);
385 void PanelAgentManager::hide_helper (int id, uint32 context_id, const String& uuid)
387 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
390 _p->hide_helper (id, context_id, uuid);
393 void PanelAgentManager::set_helper_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
395 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
398 _p->set_helper_mode (id, context_id, uuid, mode);
401 void PanelAgentManager::set_helper_language (int id, uint32 context_id, const String& uuid, uint32& language)
403 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
406 _p->set_helper_language (id, context_id, uuid, language);
409 void PanelAgentManager::set_helper_imdata (int id, uint32 context_id, const String& uuid, const char* imdata, size_t& len)
411 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
414 _p->set_helper_imdata (id, context_id, uuid, imdata, len);
417 void PanelAgentManager::set_helper_return_key_type (int id, uint32 context_id, const String& uuid, uint32 type)
419 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
422 _p->set_helper_return_key_type (id, context_id, uuid, type);
425 void PanelAgentManager::get_helper_return_key_type (int id, uint32 context_id, const String& uuid, _OUT_ uint32& type)
427 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
430 _p->get_helper_return_key_type (id, context_id, uuid, type);
433 void PanelAgentManager::set_helper_return_key_disable (int id, uint32 context_id, const String& uuid, uint32 disabled)
435 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
438 _p->set_helper_return_key_disable (id, context_id, uuid, disabled);
441 void PanelAgentManager::get_helper_return_key_disable (int id, uint32 context_id, const String& uuid, _OUT_ uint32& disabled)
443 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
446 _p->get_helper_return_key_disable (id, context_id, uuid, disabled);
449 void PanelAgentManager::set_helper_layout (int id, uint32 context_id, const String& uuid, uint32& layout)
451 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
454 _p->set_helper_layout (id, context_id, uuid, layout);
457 void PanelAgentManager::set_helper_input_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
459 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
462 _p->set_helper_input_mode (id, context_id, uuid, mode);
465 void PanelAgentManager::set_helper_input_hint (int id, uint32 context_id, const String& uuid, uint32& hint)
467 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
470 _p->set_helper_input_hint (id, context_id, uuid, hint);
473 void PanelAgentManager::set_helper_bidi_direction (int id, uint32 context_id, const String& uuid, uint32& direction)
475 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
478 _p->set_helper_bidi_direction (id, context_id, uuid, direction);
481 void PanelAgentManager::set_helper_caps_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
483 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
486 _p->set_helper_caps_mode (id, context_id, uuid, mode);
489 void PanelAgentManager::show_helper_option_window (int id, uint32 context_id, const String& uuid, uint32 caller_pid, uint32 ime_pid)
491 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
494 _p->show_helper_option_window (id, context_id, uuid, caller_pid, ime_pid);
497 void PanelAgentManager::resume_helper_option_window (int id, uint32 context_id, const String& uuid)
499 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
502 _p->resume_helper_option_window (id, context_id, uuid);
505 void PanelAgentManager::set_transient_for (uint32 caller_pid, uint32 ime_pid)
507 PanelAgentPointer _p = m_impl->get_panel_wl_agent ();
510 _p->set_transient_for (caller_pid, ime_pid);
513 void PanelAgentManager::set_helper_keyboard_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
515 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
518 _p->set_helper_keyboard_mode (id, context_id, uuid, mode);
521 void PanelAgentManager::set_helper_prediction_hint (int id, uint32 context_id, const String& uuid, String& prediction_hint)
523 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
526 _p->set_helper_prediction_hint (id, context_id, uuid, prediction_hint);
529 void PanelAgentManager::set_helper_mime_type (int id, uint32 context_id, const String& uuid, String& mime_type)
531 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
534 _p->set_helper_mime_type (id, context_id, uuid, mime_type);
537 void PanelAgentManager::finalize_content_helper (int id, uint32 context_id, const String& uuid, String& text, uint32& cursor_pos)
539 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
542 _p->finalize_content_helper (id, context_id, uuid, text, cursor_pos);
545 void PanelAgentManager::set_helper_prediction_hint_data (int id, uint32 context_id, const String& uuid, String& key, String& value)
547 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
550 _p->set_helper_prediction_hint_data (id, context_id, uuid, key, value);
553 void PanelAgentManager::set_helper_optimization_hint(int id, uint32 context_id, const String& uuid, uint32 hint)
555 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
558 _p->set_helper_optimization_hint(id, context_id, uuid, hint);
561 bool PanelAgentManager::process_key_event (int id, uint32 context_id, const String& uuid, KeyEvent& key, uint32 serial, uint32 keycode)
563 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
566 return _p->process_key_event (id, context_id, uuid, key, serial, keycode);
570 bool PanelAgentManager::get_helper_geometry (int id, uint32 context_id, String& uuid, _OUT_ struct rectinfo& info)
572 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
575 return _p->get_helper_geometry (id, context_id, uuid, info);
579 void PanelAgentManager::get_helper_imdata (int id, uint32 context_id, String& uuid, _OUT_ char** imdata, _OUT_ size_t& len)
581 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
584 _p->get_helper_imdata (id, context_id, uuid, imdata, len);
587 void PanelAgentManager::get_helper_layout (int id, uint32 context_id, String& uuid, uint32& layout)
589 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
592 _p->get_helper_layout (id, context_id, uuid, layout);
595 void PanelAgentManager::get_ise_language_locale (int id, uint32 context_id, String& uuid, _OUT_ char** data, _OUT_ size_t& len)
597 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
600 _p->get_ise_language_locale (id, context_id, uuid, data, len);
603 void PanelAgentManager::check_option_window (int id, uint32 context_id, String& uuid, _OUT_ uint32& avail)
605 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
608 _p->check_option_window (id, context_id, uuid, avail);
611 void PanelAgentManager::reset_ise_option (int id, uint32 context_id)
613 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
616 _p->reset_ise_option (id, context_id);
619 void PanelAgentManager::reset_helper_context (int id, uint32 context_id, const String& uuid)
621 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
624 _p->reset_helper_context (id, context_id, uuid);
627 void PanelAgentManager::reload_config (int id)
629 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
632 _p->reload_config (id);
635 void PanelAgentManager::socket_update_surrounding_text (int id, uint32 context_id, const String& uuid, String& text, uint32 cursor)
637 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
640 _p->socket_update_surrounding_text (id, context_id, uuid, text, cursor);
643 void PanelAgentManager::socket_remoteinput_focus_in (int id)
645 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
648 _p->socket_remoteinput_focus_in (id);
651 void PanelAgentManager::socket_remoteinput_focus_out (int id)
653 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
656 _p->socket_remoteinput_focus_out (id);
659 void PanelAgentManager::socket_remoteinput_entry_metadata (int id, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled, uint32 return_key_type)
661 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
664 _p->socket_remoteinput_entry_metadata (id, hint, layout, variation, autocapital_type, return_key_disabled, return_key_type);
667 void PanelAgentManager::socket_remoteinput_surrounding_text (int id, String& text, uint32 cursor)
669 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
672 _p->socket_remoteinput_surrounding_text (id, text, cursor);
675 void PanelAgentManager::socket_remoteinput_input_resource (int id, uint32 input_resource)
677 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
680 _p->socket_remoteinput_input_resource (id, input_resource);
683 void PanelAgentManager::socket_update_selection (int id, uint32 context_id, String& uuid, String text)
685 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
688 _p->socket_update_selection (id, context_id, uuid, text);
691 void PanelAgentManager::socket_get_keyboard_ise_list (int id, uint32 context_id, const String& uuid, std::vector<String>& list)
693 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
696 _p->socket_get_keyboard_ise_list (id, context_id, uuid, list);
699 void PanelAgentManager::socket_get_candidate_ui (int id, uint32 context_id, const String& uuid, int style, int mode)
701 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
704 _p->socket_get_candidate_ui (id, context_id, uuid, style, mode);
707 void PanelAgentManager::socket_get_candidate_geometry (int id, uint32 context_id, const String& uuid, struct rectinfo& info)
709 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
712 _p->socket_get_candidate_geometry (id, context_id, uuid, info);
715 void PanelAgentManager::socket_get_keyboard_ise (int id, uint32 context_id, const String& uuid, String& ise_name, String& ise_uuid)
717 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
720 _p->socket_get_keyboard_ise (id, context_id, uuid, ise_name, ise_uuid);
723 void PanelAgentManager::helper_detach_input_context (int id, uint32 context_id, const String& uuid)
725 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
728 _p->helper_detach_input_context (id, context_id, uuid);
731 void PanelAgentManager::helper_process_imengine_event (int id, uint32 context_id, const String& uuid, const Transaction& nest_transaction)
733 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
736 _p->helper_process_imengine_event (id, context_id, uuid, nest_transaction);
739 void PanelAgentManager::process_helper_event (int id, uint32 context_id, String target_uuid, String active_uuid, Transaction& nest_trans)
741 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
744 _p->process_helper_event (id, context_id, target_uuid, active_uuid, nest_trans);
747 bool PanelAgentManager::process_input_device_event(int id, uint32 context_id, const String& uuid, uint32 type, const char *data, size_t len, _OUT_ uint32& result)
749 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
752 return _p->process_input_device_event(id, context_id, uuid, type, data, len, result);
756 void PanelAgentManager::socket_helper_key_event (int id, uint32 context_id, int cmd , KeyEvent& key)
758 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
761 _p->socket_helper_key_event (id, context_id, cmd, key);
764 void PanelAgentManager::socket_helper_get_surrounding_text (int id, uint32 context_id, uint32 maxlen_before, uint32 maxlen_after)
766 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
769 _p->socket_helper_get_surrounding_text (id, context_id, maxlen_before, maxlen_after);
772 void PanelAgentManager::socket_helper_delete_surrounding_text (int id, uint32 context_id, uint32 offset, uint32 len)
774 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
777 _p->socket_helper_delete_surrounding_text (id, context_id, offset, len);
780 void PanelAgentManager::socket_helper_get_selection (int id, uint32 context_id)
782 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
785 _p->socket_helper_get_selection (id, context_id);
788 void PanelAgentManager::socket_helper_set_selection (int id, uint32 context_id, uint32 start, uint32 end)
790 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
793 _p->socket_helper_set_selection (id, context_id, start, end);
796 void PanelAgentManager::update_ise_input_context (int id, uint32 context_id, uint32 type, uint32 value)
798 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
801 _p->update_ise_input_context (id, context_id, type, value);
804 void PanelAgentManager::update_ise_language_locale(int id, uint32 context_id, String locale)
806 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
809 _p->update_ise_language_locale(id, context_id, locale);
812 void PanelAgentManager::send_private_command (int id, uint32 context_id, String command)
814 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
817 _p->send_private_command (id, context_id, command);
820 void PanelAgentManager::commit_content (int id, uint32 context_id, String content, String description, String mime_types)
822 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
825 _p->commit_content (id, context_id, content, description, mime_types);
828 void PanelAgentManager::helper_all_update_spot_location (int id, uint32 context_id, String uuid, int x, int y)
830 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
833 _p->helper_all_update_spot_location (id, context_id, uuid, x, y);
836 void PanelAgentManager::helper_all_update_cursor_position (int id, uint32 context_id, String uuid, int cursor_pos)
838 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
841 _p->helper_all_update_cursor_position (id, context_id, uuid, cursor_pos);
844 void PanelAgentManager::helper_all_update_screen (int id, uint32 context_id, String uuid, int screen)
846 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
849 _p->helper_all_update_screen (id, context_id, uuid, screen);
852 void PanelAgentManager::commit_string (int id, uint32 context_id, const WideString& wstr)
854 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
857 _p->commit_string (id, context_id, wstr);
860 void PanelAgentManager::show_preedit_string (int id, uint32 context_id)
862 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
865 _p->show_preedit_string (id, context_id);
868 void PanelAgentManager::hide_preedit_string (int id, uint32 context_id)
870 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
873 _p->hide_preedit_string (id, context_id);
876 void PanelAgentManager::update_preedit_string (int id, uint32 context_id, WideString preedit, WideString commit, AttributeList& attrs, uint32 caret)
878 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
881 _p->update_preedit_string (id, context_id, preedit, commit, attrs, caret);
884 void PanelAgentManager::update_preedit_caret (int id, uint32 context_id, uint32 caret)
886 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
889 _p->update_preedit_caret (id, context_id, caret);
892 void PanelAgentManager::recapture_string (int id, uint32 context_id, int offset, int len, WideString preedit, WideString commit, AttributeList& attrs)
894 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
897 _p->recapture_string (id, context_id, offset, len, preedit, commit, attrs);
900 void PanelAgentManager::helper_attach_input_context_and_update_screen (int id, std::vector < std::pair <uint32, String> >& helper_ic_index,
901 uint32 current_screen)
903 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
906 _p->helper_attach_input_context_and_update_screen (id, helper_ic_index, current_screen);
909 void PanelAgentManager::hide_helper_ise (int id, uint32 context)
911 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
914 _p->hide_helper_ise (id, context);
917 void PanelAgentManager::process_key_event_done (int id, uint32 context_id, KeyEvent &key, uint32 ret, uint32 serial)
919 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
922 _p->process_key_event_done (id, context_id, key, ret, serial);
925 void PanelAgentManager::request_ise_hide (int id, uint32 context_id)
927 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
930 _p->request_ise_hide (id, context_id);
933 void PanelAgentManager::set_autocapital_type(int id, uint32 context_id, String uuid, int mode)
935 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
938 _p->set_autocapital_type (id, context_id, uuid, mode);
941 void PanelAgentManager::update_ise_geometry(int id, uint32 context_id, uint32 x, uint32 y, uint32 width, uint32 height)
943 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
946 _p->update_ise_geometry (id, context_id, x, y, width, height);
949 void PanelAgentManager::remote_update_preedit_string (int id, uint32 context_id, const WideString str, const WideString commit, const AttributeList &attrs, uint32 caret)
951 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
954 _p->remote_update_preedit_string (id, context_id, str, commit, attrs, caret);
957 void PanelAgentManager::remote_send_key_event (int id, uint32 context_id, const KeyEvent &key)
959 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
962 _p->remote_send_key_event (id, context_id, key);
965 void PanelAgentManager::remote_forward_key_event (int id, uint32 context_id, const KeyEvent &key)
967 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
970 _p->remote_forward_key_event (id, context_id, key);
973 void PanelAgentManager::remote_commit_string (int id, uint32 context_id, const WideString& wstr)
975 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
978 _p->remote_commit_string (id, context_id, wstr);
981 void PanelAgentManager::remote_delete_surrounding_text (int id, uint32 context_id, uint32 offset, uint32 len)
983 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
986 _p->remote_delete_surrounding_text (id, context_id, offset, len);
989 void PanelAgentManager::set_prediction_allow (int id, uint32 context_id, String uuid, int mode)
991 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
994 _p->set_prediction_allow (id, context_id, uuid, mode);
997 void PanelAgentManager::send_fail_reply (int id)
999 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
1002 _p->send_fail_reply (id);
1005 void PanelAgentManager::update_entry_metadata (int id, uint32 context_id)
1007 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
1010 _p->update_entry_metadata (id, context_id);
1013 void PanelAgentManager::request_ise_reshow (int id, uint32 context_id)
1015 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
1018 _p->request_ise_reshow (id, context_id);
1021 } /* namespace scim */
1024 vi:ts=4:nowrap:ai:expandtab