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)
101 PanelAgentManager::PanelAgentManager ()
102 :m_impl (new PanelAgentManagerImpl ())
106 PanelAgentManager::~PanelAgentManager ()
111 bool PanelAgentManager::initialize (InfoManager* info_manager, const ConfigPointer& config, const String& display, bool resident)
113 std::vector <String> mod_list;
114 scim_get_panel_agent_module_list (mod_list);
116 for (std::vector<String>::iterator it = mod_list.begin (); it != mod_list.end (); ++it) {
117 LOGD ("Trying to load panelagent module %s", it->c_str ());
118 PanelAgentModule* _panel_agent_module = new PanelAgentModule;
120 if (!_panel_agent_module) {
125 _panel_agent_module->load (*it, config);
127 if (!_panel_agent_module->valid ()) {
129 delete _panel_agent_module;
133 PanelAgentPointer _panelagent = _panel_agent_module->get_instance ();
135 if (_panelagent.null ()) {
137 delete _panel_agent_module;
141 _panelagent->initialize (info_manager, display, resident);
142 LOGD ("PanelAgent Module %s loaded", _panel_agent_module->get_module_name ().c_str ());
143 m_impl->m_panel_agent_modules.push_back (_panel_agent_module);
145 if (_panel_agent_module->get_module_name () == "wayland")
146 m_impl->m_wayland = _panelagent;
147 else if (_panel_agent_module->get_module_name () == "ecoresocket")
148 m_impl->m_socket = _panelagent;
154 bool PanelAgentManager::valid (void) const
159 void PanelAgentManager::stop (void)
161 SCIM_DEBUG_MAIN (1) << "PanelAgent::stop ()\n";
164 void PanelAgentManager::update_panel_event (int id, uint32 context_id, int cmd, uint32 nType, uint32 nValue)
166 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
169 _p->update_panel_event (id, context_id, cmd, nType, nValue);
172 void PanelAgentManager::reset_keyboard_ise (int id, uint32 context_id)
174 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
177 _p->reset_keyboard_ise (id, context_id);
180 void PanelAgentManager::update_keyboard_ise_list (int id, uint32 context_id)
182 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
185 _p->update_keyboard_ise_list (id, context_id);
188 void PanelAgentManager::change_factory (int id, uint32 context_id, const String& uuid)
190 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
193 _p->change_factory (id, context_id, uuid);
196 void PanelAgentManager::helper_candidate_show (int id, uint32 context_id, const String& uuid)
198 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
201 _p->helper_candidate_show (id, context_id, uuid);
204 void PanelAgentManager::helper_candidate_hide (int id, uint32 context_id, const String& uuid)
206 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
209 _p->helper_candidate_hide (id, context_id, uuid);
212 void PanelAgentManager::candidate_more_window_show (int id, uint32 context_id)
214 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
217 _p->candidate_more_window_show (id, context_id);
220 void PanelAgentManager::candidate_more_window_hide (int id, uint32 context_id)
222 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
225 _p->candidate_more_window_hide (id, context_id);
228 void PanelAgentManager::update_helper_lookup_table (int id, uint32 context_id, const String& uuid, const LookupTable& table)
230 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
233 _p->update_helper_lookup_table (id, context_id, uuid, table);
236 void PanelAgentManager::select_aux (int id, uint32 context_id, uint32 item)
238 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
241 _p->select_aux (id, context_id, item);
244 void PanelAgentManager::select_candidate (int id, uint32 context_id, uint32 item)
246 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
249 _p->select_candidate (id, context_id, item);
252 void PanelAgentManager::lookup_table_page_up (int id, uint32 context_id)
254 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
257 _p->lookup_table_page_up (id, context_id);
260 void PanelAgentManager::lookup_table_page_down (int id, uint32 context_id)
262 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
265 _p->lookup_table_page_down (id, context_id);
268 void PanelAgentManager::update_lookup_table_page_size (int id, uint32 context_id, uint32 size)
270 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
273 _p->update_lookup_table_page_size (id, context_id, size);
276 void PanelAgentManager::update_candidate_item_layout (int id, uint32 context_id, const std::vector<uint32>& row_items)
278 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
281 _p->update_candidate_item_layout (id, context_id, row_items);
284 void PanelAgentManager::select_associate (int id, uint32 context_id, uint32 item)
286 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
289 _p->select_associate (id, context_id, item);
292 void PanelAgentManager::associate_table_page_up (int id, uint32 context_id)
294 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
297 _p->associate_table_page_up (id, context_id);
300 void PanelAgentManager::associate_table_page_down (int id, uint32 context_id)
302 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
305 _p->associate_table_page_down (id, context_id);
308 void PanelAgentManager::update_associate_table_page_size (int id, uint32 context_id, uint32 size)
310 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
313 _p->update_associate_table_page_size (id, context_id, size);
316 void PanelAgentManager::update_displayed_candidate_number (int id, uint32 context_id, uint32 size)
318 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
321 _p->update_displayed_candidate_number (id, context_id, size);
324 void PanelAgentManager::send_longpress_event (int id, uint32 context_id, uint32 index)
326 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
329 _p->send_longpress_event (id, context_id, index);
332 void PanelAgentManager::trigger_property (int id, uint32 context_id, const String& property)
334 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
337 _p->trigger_property (id, context_id, property);
340 void PanelAgentManager::socket_start_helper (int id, uint32 context_id, const String& ic_uuid)
342 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
345 _p->socket_start_helper (id, context_id, ic_uuid);
349 void PanelAgentManager::exit (int id, uint32 context_id)
351 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
354 _p->exit (id, context_id);
357 void PanelAgentManager::focus_out_helper (int id, uint32 context_id, const String& uuid)
359 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
362 _p->focus_out_helper (id, context_id, uuid);
365 void PanelAgentManager::focus_in_helper (int id, uint32 context_id, const String& uuid)
367 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
370 _p->focus_in_helper (id, context_id, uuid);
373 void PanelAgentManager::show_helper (int id, uint32 context_id, const String& uuid, char* data, size_t& len)
375 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
378 _p->show_helper (id, context_id, uuid, data, len);
381 void PanelAgentManager::hide_helper (int id, uint32 context_id, const String& uuid)
383 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
386 _p->hide_helper (id, context_id, uuid);
389 void PanelAgentManager::set_helper_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
391 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
394 _p->set_helper_mode (id, context_id, uuid, mode);
397 void PanelAgentManager::set_helper_language (int id, uint32 context_id, const String& uuid, uint32& language)
399 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
402 _p->set_helper_language (id, context_id, uuid, language);
405 void PanelAgentManager::set_helper_imdata (int id, uint32 context_id, const String& uuid, const char* imdata, size_t& len)
407 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
410 _p->set_helper_imdata (id, context_id, uuid, imdata, len);
413 void PanelAgentManager::set_helper_return_key_type (int id, uint32 context_id, const String& uuid, uint32 type)
415 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
418 _p->set_helper_return_key_type (id, context_id, uuid, type);
421 void PanelAgentManager::get_helper_return_key_type (int id, uint32 context_id, const String& uuid, _OUT_ uint32& type)
423 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
426 _p->get_helper_return_key_type (id, context_id, uuid, type);
429 void PanelAgentManager::set_helper_return_key_disable (int id, uint32 context_id, const String& uuid, uint32 disabled)
431 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
434 _p->set_helper_return_key_disable (id, context_id, uuid, disabled);
437 void PanelAgentManager::get_helper_return_key_disable (int id, uint32 context_id, const String& uuid, _OUT_ uint32& disabled)
439 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
442 _p->get_helper_return_key_disable (id, context_id, uuid, disabled);
445 void PanelAgentManager::set_helper_layout (int id, uint32 context_id, const String& uuid, uint32& layout)
447 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
450 _p->set_helper_layout (id, context_id, uuid, layout);
453 void PanelAgentManager::set_helper_input_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
455 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
458 _p->set_helper_input_mode (id, context_id, uuid, mode);
461 void PanelAgentManager::set_helper_input_hint (int id, uint32 context_id, const String& uuid, uint32& hint)
463 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
466 _p->set_helper_input_hint (id, context_id, uuid, hint);
469 void PanelAgentManager::set_helper_bidi_direction (int id, uint32 context_id, const String& uuid, uint32& direction)
471 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
474 _p->set_helper_bidi_direction (id, context_id, uuid, direction);
477 void PanelAgentManager::set_helper_caps_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
479 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
482 _p->set_helper_caps_mode (id, context_id, uuid, mode);
485 void PanelAgentManager::show_helper_option_window (int id, uint32 context_id, const String& uuid)
487 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
490 _p->show_helper_option_window (id, context_id, uuid);
493 void PanelAgentManager::resume_helper_option_window (int id, uint32 context_id, const String& uuid)
495 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
498 _p->resume_helper_option_window (id, context_id, uuid);
501 void PanelAgentManager::set_helper_keyboard_mode (int id, uint32 context_id, const String& uuid, uint32& mode)
503 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
506 _p->set_helper_keyboard_mode (id, context_id, uuid, mode);
509 void PanelAgentManager::set_helper_prediction_hint (int id, uint32 context_id, const String& uuid, String& prediction_hint)
511 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
514 _p->set_helper_prediction_hint (id, context_id, uuid, prediction_hint);
517 void PanelAgentManager::set_helper_mime_type (int id, uint32 context_id, const String& uuid, String& mime_type)
519 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
522 _p->set_helper_mime_type (id, context_id, uuid, mime_type);
525 void PanelAgentManager::finalize_content_helper (int id, uint32 context_id, const String& uuid, String& text, uint32& cursor_pos)
527 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
530 _p->finalize_content_helper (id, context_id, uuid, text, cursor_pos);
533 void PanelAgentManager::set_helper_prediction_hint_data (int id, uint32 context_id, const String& uuid, String& key, String& value)
535 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
538 _p->set_helper_prediction_hint_data (id, context_id, uuid, key, value);
541 void PanelAgentManager::set_helper_optimization_hint(int id, uint32 context_id, const String& uuid, uint32 hint)
543 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
546 _p->set_helper_optimization_hint(id, context_id, uuid, hint);
549 bool PanelAgentManager::process_key_event (int id, uint32 context_id, const String& uuid, KeyEvent& key, uint32 serial)
551 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
554 return _p->process_key_event (id, context_id, uuid, key, serial);
558 bool PanelAgentManager::get_helper_geometry (int id, uint32 context_id, String& uuid, _OUT_ struct rectinfo& info)
560 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
563 return _p->get_helper_geometry (id, context_id, uuid, info);
567 void PanelAgentManager::get_helper_imdata (int id, uint32 context_id, String& uuid, _OUT_ char** imdata, _OUT_ size_t& len)
569 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
572 _p->get_helper_imdata (id, context_id, uuid, imdata, len);
575 void PanelAgentManager::get_helper_layout (int id, uint32 context_id, String& uuid, uint32& layout)
577 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
580 _p->get_helper_layout (id, context_id, uuid, layout);
583 void PanelAgentManager::get_ise_language_locale (int id, uint32 context_id, String& uuid, _OUT_ char** data, _OUT_ size_t& len)
585 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
588 _p->get_ise_language_locale (id, context_id, uuid, data, len);
591 void PanelAgentManager::check_option_window (int id, uint32 context_id, String& uuid, _OUT_ uint32& avail)
593 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
596 _p->check_option_window (id, context_id, uuid, avail);
599 void PanelAgentManager::reset_ise_option (int id, uint32 context_id)
601 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
604 _p->reset_ise_option (id, context_id);
607 void PanelAgentManager::reset_helper_context (int id, uint32 context_id, const String& uuid)
609 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
612 _p->reset_helper_context (id, context_id, uuid);
615 void PanelAgentManager::reload_config (int id)
617 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
620 _p->reload_config (id);
623 void PanelAgentManager::socket_update_surrounding_text (int id, uint32 context_id, const String& uuid, String& text, uint32 cursor)
625 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
628 _p->socket_update_surrounding_text (id, context_id, uuid, text, cursor);
631 void PanelAgentManager::socket_remoteinput_focus_in (int id)
633 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
636 _p->socket_remoteinput_focus_in (id);
639 void PanelAgentManager::socket_remoteinput_focus_out (int id)
641 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
644 _p->socket_remoteinput_focus_out (id);
647 void PanelAgentManager::socket_remoteinput_entry_metadata (int id, uint32 hint, uint32 layout, int variation, uint32 autocapital_type, int return_key_disabled)
649 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
652 _p->socket_remoteinput_entry_metadata (id, hint, layout, variation, autocapital_type, return_key_disabled);
655 void PanelAgentManager::socket_remoteinput_surrounding_text (int id, String& text, uint32 cursor)
657 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
660 _p->socket_remoteinput_surrounding_text (id, text, cursor);
663 void PanelAgentManager::socket_remoteinput_input_resource (int id, uint32 input_resource)
665 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
668 _p->socket_remoteinput_input_resource (id, input_resource);
671 void PanelAgentManager::socket_update_selection (int id, uint32 context_id, String& uuid, String text)
673 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
676 _p->socket_update_selection (id, context_id, uuid, text);
679 void PanelAgentManager::socket_get_keyboard_ise_list (int id, uint32 context_id, const String& uuid, std::vector<String>& list)
681 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
684 _p->socket_get_keyboard_ise_list (id, context_id, uuid, list);
687 void PanelAgentManager::socket_get_candidate_ui (int id, uint32 context_id, const String& uuid, int style, int mode)
689 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
692 _p->socket_get_candidate_ui (id, context_id, uuid, style, mode);
695 void PanelAgentManager::socket_get_candidate_geometry (int id, uint32 context_id, const String& uuid, struct rectinfo& info)
697 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
700 _p->socket_get_candidate_geometry (id, context_id, uuid, info);
703 void PanelAgentManager::socket_get_keyboard_ise (int id, uint32 context_id, const String& uuid, String& ise_name, String& ise_uuid)
705 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
708 _p->socket_get_keyboard_ise (id, context_id, uuid, ise_name, ise_uuid);
711 void PanelAgentManager::helper_detach_input_context (int id, uint32 context_id, const String& uuid)
713 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
716 _p->helper_detach_input_context (id, context_id, uuid);
719 void PanelAgentManager::helper_process_imengine_event (int id, uint32 context_id, const String& uuid, const Transaction& nest_transaction)
721 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
724 _p->helper_process_imengine_event (id, context_id, uuid, nest_transaction);
727 void PanelAgentManager::process_helper_event (int id, uint32 context_id, String target_uuid, String active_uuid, Transaction& nest_trans)
729 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
732 _p->process_helper_event (id, context_id, target_uuid, active_uuid, nest_trans);
735 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)
737 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
740 return _p->process_input_device_event(id, context_id, uuid, type, data, len, result);
744 void PanelAgentManager::socket_helper_key_event (int id, uint32 context_id, int cmd , KeyEvent& key)
746 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
749 _p->socket_helper_key_event (id, context_id, cmd, key);
752 void PanelAgentManager::socket_helper_get_surrounding_text (int id, uint32 context_id, uint32 maxlen_before, uint32 maxlen_after)
754 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
757 _p->socket_helper_get_surrounding_text (id, context_id, maxlen_before, maxlen_after);
760 void PanelAgentManager::socket_helper_delete_surrounding_text (int id, uint32 context_id, uint32 offset, uint32 len)
762 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
765 _p->socket_helper_delete_surrounding_text (id, context_id, offset, len);
768 void PanelAgentManager::socket_helper_get_selection (int id, uint32 context_id)
770 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
773 _p->socket_helper_get_selection (id, context_id);
776 void PanelAgentManager::socket_helper_set_selection (int id, uint32 context_id, uint32 start, uint32 end)
778 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
781 _p->socket_helper_set_selection (id, context_id, start, end);
784 void PanelAgentManager::update_ise_input_context (int id, uint32 context_id, uint32 type, uint32 value)
786 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
789 _p->update_ise_input_context (id, context_id, type, value);
792 void PanelAgentManager::update_ise_language_locale(int id, uint32 context_id, String locale)
794 PanelAgentPointer _p = m_impl->get_panel_agent_by_id(id);
797 _p->update_ise_language_locale(id, context_id, locale);
800 void PanelAgentManager::send_private_command (int id, uint32 context_id, String command)
802 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
805 _p->send_private_command (id, context_id, command);
808 void PanelAgentManager::commit_content (int id, uint32 context_id, String content, String description, String mime_types)
810 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
813 _p->commit_content (id, context_id, content, description, mime_types);
816 void PanelAgentManager::helper_all_update_spot_location (int id, uint32 context_id, String uuid, int x, int y)
818 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
821 _p->helper_all_update_spot_location (id, context_id, uuid, x, y);
824 void PanelAgentManager::helper_all_update_cursor_position (int id, uint32 context_id, String uuid, int cursor_pos)
826 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
829 _p->helper_all_update_cursor_position (id, context_id, uuid, cursor_pos);
832 void PanelAgentManager::helper_all_update_screen (int id, uint32 context_id, String uuid, int screen)
834 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
837 _p->helper_all_update_screen (id, context_id, uuid, screen);
840 void PanelAgentManager::commit_string (int id, uint32 context_id, const WideString& wstr)
842 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
845 _p->commit_string (id, context_id, wstr);
848 void PanelAgentManager::show_preedit_string (int id, uint32 context_id)
850 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
853 _p->show_preedit_string (id, context_id);
856 void PanelAgentManager::hide_preedit_string (int id, uint32 context_id)
858 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
861 _p->hide_preedit_string (id, context_id);
864 void PanelAgentManager::update_preedit_string (int id, uint32 context_id, WideString preedit, WideString commit, AttributeList& attrs, uint32 caret)
866 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
869 _p->update_preedit_string (id, context_id, preedit, commit, attrs, caret);
872 void PanelAgentManager::update_preedit_caret (int id, uint32 context_id, uint32 caret)
874 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
877 _p->update_preedit_caret (id, context_id, caret);
880 void PanelAgentManager::recapture_string (int id, uint32 context_id, int offset, int len, WideString preedit, WideString commit, AttributeList& attrs)
882 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
885 _p->recapture_string (id, context_id, offset, len, preedit, commit, attrs);
888 void PanelAgentManager::helper_attach_input_context_and_update_screen (int id, std::vector < std::pair <uint32, String> >& helper_ic_index,
889 uint32 current_screen)
891 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
894 _p->helper_attach_input_context_and_update_screen (id, helper_ic_index, current_screen);
897 void PanelAgentManager::hide_helper_ise (int id, uint32 context)
899 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
902 _p->hide_helper_ise (id, context);
905 void PanelAgentManager::process_key_event_done (int id, uint32 context_id, KeyEvent &key, uint32 ret, uint32 serial)
907 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
910 _p->process_key_event_done (id, context_id, key, ret, serial);
913 void PanelAgentManager::request_ise_hide (int id, uint32 context_id)
915 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
918 _p->request_ise_hide (id, context_id);
921 void PanelAgentManager::set_autocapital_type(int id, uint32 context_id, String uuid, int mode)
923 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
926 _p->set_autocapital_type (id, context_id, uuid, mode);
929 void PanelAgentManager::update_ise_geometry(int id, uint32 context_id, uint32 x, uint32 y, uint32 width, uint32 height)
931 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
934 _p->update_ise_geometry (id, context_id, x, y, width, height);
937 void PanelAgentManager::remote_update_preedit_string (int id, uint32 context_id, const WideString str, const WideString commit, const AttributeList &attrs, uint32 caret)
939 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
942 _p->remote_update_preedit_string (id, context_id, str, commit, attrs, caret);
945 void PanelAgentManager::remote_send_key_event (int id, uint32 context_id, const KeyEvent &key)
947 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
950 _p->remote_send_key_event (id, context_id, key);
953 void PanelAgentManager::remote_forward_key_event (int id, uint32 context_id, const KeyEvent &key)
955 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
958 _p->remote_forward_key_event (id, context_id, key);
961 void PanelAgentManager::remote_commit_string (int id, uint32 context_id, const WideString& wstr)
963 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
966 _p->remote_commit_string (id, context_id, wstr);
969 void PanelAgentManager::remote_delete_surrounding_text (int id, uint32 context_id, uint32 offset, uint32 len)
971 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
974 _p->remote_delete_surrounding_text (id, context_id, offset, len);
977 void PanelAgentManager::set_prediction_allow (int id, uint32 context_id, String uuid, int mode)
979 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
982 _p->set_prediction_allow (id, context_id, uuid, mode);
985 void PanelAgentManager::send_fail_reply (int id)
987 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
990 _p->send_fail_reply (id);
993 void PanelAgentManager::update_entry_metadata (int id, uint32 context_id)
995 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
998 _p->update_entry_metadata (id, context_id);
1001 void PanelAgentManager::request_ise_reshow (int id, uint32 context_id)
1003 PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
1006 _p->request_ise_reshow (id, context_id);
1009 } /* namespace scim */
1012 vi:ts=4:nowrap:ai:expandtab