-/** @file scim_panel.cpp
- * @brief Implementation of class PanelAgent.
- */
-
-/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
-
/*
- * Smart Common Input Method
- *
- * Copyright (c) 2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
- *
+ * ISF(Input Service Framework)
*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
+ * Contact: Li Zhang <li2012.zhang@samsung.com>
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307 USA
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
*
- * Modifications by Samsung Electronics Co., Ltd.
- * 1. Add new signals
- * a. m_signal_set_keyboard_ise and m_signal_get_keyboard_ise
- * b. m_signal_focus_in and m_signal_focus_out
- * c. m_signal_expand_candidate, m_signal_contract_candidate and m_signal_set_candidate_ui
- * d. m_signal_get_ise_list, m_signal_get_keyboard_ise_list, m_signal_update_ise_geometry and m_signal_get_ise_information
- * e. m_signal_set_active_ise_by_uuid and m_signal_get_ise_info_by_uuid
- * f. m_signal_accept_connection, m_signal_close_connection and m_signal_exit
- * 2. Add new interface APIs in PanelClient class
- * a. get_helper_manager_id (), has_helper_manager_pending_event () and filter_helper_manager_event ()
- * b. update_candidate_panel_event (), update_input_panel_event () and select_aux ()
- * c. candidate_more_window_show () and candidate_more_window_hide ()
- * d. update_displayed_candidate_number () and update_candidate_item_layout ()
- * e. stop_helper (), send_longpress_event () and update_ise_list ()
- * f. filter_event (), filter_exception_event () and get_server_id ()
- * 3. Donot use thread to receive message
- * 4. Monitor socket frontend for self-recovery function
+ * This library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
*
- * $Id: scim_panel_agent.cpp,v 1.8.2.1 2006/01/09 14:32:18 suzhe Exp $
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
-/** @file scim_panel.cpp
+/** @file isf_info_manager.cpp
* @brief Implementation of class InfoManager.
*/
* Smart Common Input Method
*
* Copyright (c) 2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
*
*
* This library is free software; you can redistribute it and/or
/**
- * @file scim_panel_agent.h
+ * @file isf_info_manager.h
* @brief Defines scim::InfoManager and their related types.
*
* scim::InfoManager is a class used to write Panel daemons.
- * It acts like a Socket Server and handles all socket clients
* issues.
*/
* Smart Common Input Method
*
* Copyright (c) 2004-2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
*
*
* This library is free software; you can redistribute it and/or
} /* namespace scim */
-#endif /* __SCIM_PANEL_AGENT_H */
+#endif /* __ISF_INFO_MANAGER_H */
/*
vi:ts=4:nowrap:ai:expandtab
-/** @file scim_panel.cpp
- * @brief Implementation of class PanelAgent.
+/** @file isf_panel_agent_base.cpp
+ * @brief Implementation of class PanelAgentBase.
*/
/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
* Smart Common Input Method
*
* Copyright (c) 2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
*
*
* This library is free software; you can redistribute it and/or
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
- * Modifications by Samsung Electronics Co., Ltd.
- * 1. Add new signals
- * a. m_signal_set_keyboard_ise and m_signal_get_keyboard_ise
- * b. m_signal_focus_in and m_signal_focus_out
- * c. m_signal_expand_candidate, m_signal_contract_candidate and m_signal_set_candidate_ui
- * d. m_signal_get_ise_list, m_signal_get_keyboard_ise_list, m_signal_update_ise_geometry and m_signal_get_ise_information
- * e. m_signal_set_active_ise_by_uuid and m_signal_get_ise_info_by_uuid
- * f. m_signal_accept_connection, m_signal_close_connection and m_signal_exit
- * 2. Add new interface APIs in PanelClient class
- * a. get_helper_manager_id (), has_helper_manager_pending_event () and filter_helper_manager_event ()
- * b. update_candidate_panel_event (), update_input_panel_event () and select_aux ()
- * c. candidate_more_window_show () and candidate_more_window_hide ()
- * d. update_displayed_candidate_number () and update_candidate_item_layout ()
- * e. stop_helper (), send_longpress_event () and update_ise_list ()
- * f. filter_event (), filter_exception_event () and get_server_id ()
- * 3. Donot use thread to receive message
- * 4. Monitor socket frontend for self-recovery function
- *
- * $Id: scim_panel_agent.cpp,v 1.8.2.1 2006/01/09 14:32:18 suzhe Exp $
- *
*/
#define Uses_SCIM_TRANSACTION
/**
- * @file scim_panel_agent.h
- * @brief Defines scim::PanelAgent and their related types.
+ * @file scim_panel_agent_base.h
+ * @brief Defines scim::PanelAgentBase and their related types.
*
- * scim::PanelAgent is a class used to write Panel daemons.
- * It acts like a Socket Server and handles all socket clients
- * issues.
+ * scim::PanelAgentBase is a class used to write Panel daemons.
*/
/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
* Smart Common Input Method
*
* Copyright (c) 2004-2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
*
*
* This library is free software; you can redistribute it and/or
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
- * Modifications by Samsung Electronics Co., Ltd.
- * 1. Add new signals
- * a. m_signal_set_keyboard_ise and m_signal_get_keyboard_ise
- * b. m_signal_focus_in and m_signal_focus_out
- * c. m_signal_expand_candidate, m_signal_contract_candidate and m_signal_set_candidate_ui
- * d. m_signal_get_ise_list, m_signal_get_keyboard_ise_list, m_signal_update_ise_geometry and m_signal_get_ise_information
- * e. m_signal_set_active_ise_by_uuid and m_signal_get_ise_info_by_uuid
- * f. m_signal_accept_connection, m_signal_close_connection and m_signal_exit
- * 2. Add new interface APIs in PanelClient class
- * a. get_helper_manager_id (), has_helper_manager_pending_event () and filter_helper_manager_event ()
- * b. update_candidate_panel_event (), update_input_panel_event () and select_aux ()
- * c. candidate_more_window_show () and candidate_more_window_hide ()
- * d. update_displayed_candidate_number () and update_candidate_item_layout ()
- * e. stop_helper (), send_longpress_event () and update_ise_list ()
- * f. filter_event (), filter_exception_event () and get_server_id ()
- * 3. Donot use thread to receive message
- * 4. Monitor socket frontend for self-recovery function
- *
- * $Id: scim_panel_agent.h,v 1.2 2005/06/11 14:50:31 suzhe Exp $
*/
#ifndef __ISF_PANEL_AGENT_BASE_H
} /* namespace scim */
-#endif /* __SCIM_PANEL_AGENT_H */
+#endif /* __ISF_PANEL_AGENT_BASE_H */
/*
vi:ts=4:nowrap:ai:expandtab
-/** @file scim_panel.cpp
- * @brief Implementation of class PanelAgent.
+/** @file isf_panel_agent_manager.cpp
+ * @brief Implementation of class PanelAgentManager.
*/
/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
* Smart Common Input Method
*
* Copyright (c) 2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
*
*
* This library is free software; you can redistribute it and/or
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
- * Modifications by Samsung Electronics Co., Ltd.
- * 1. Add new signals
- * a. m_signal_set_keyboard_ise and m_signal_get_keyboard_ise
- * b. m_signal_focus_in and m_signal_focus_out
- * c. m_signal_expand_candidate, m_signal_contract_candidate and m_signal_set_candidate_ui
- * d. m_signal_get_ise_list, m_signal_get_keyboard_ise_list, m_signal_update_ise_geometry and m_signal_get_ise_information
- * e. m_signal_set_active_ise_by_uuid and m_signal_get_ise_info_by_uuid
- * f. m_signal_accept_connection, m_signal_close_connection and m_signal_exit
- * 2. Add new interface APIs in PanelClient class
- * a. get_helper_manager_id (), has_helper_manager_pending_event () and filter_helper_manager_event ()
- * b. update_candidate_panel_event (), update_input_panel_event () and select_aux ()
- * c. candidate_more_window_show () and candidate_more_window_hide ()
- * d. update_displayed_candidate_number () and update_candidate_item_layout ()
- * e. stop_helper (), send_longpress_event () and update_ise_list ()
- * f. filter_event (), filter_exception_event () and get_server_id ()
- * 3. Donot use thread to receive message
- * 4. Monitor socket frontend for self-recovery function
- *
- * $Id: scim_panel_agent.cpp,v 1.8.2.1 2006/01/09 14:32:18 suzhe Exp $
- *
*/
#define Uses_SCIM_TRANSACTION
/**
- * @file scim_panel_agent.h
- * @brief Defines scim::PanelAgent and their related types.
+ * @file isf_panel_agent_manager.h
+ * @brief Defines scim::PanelAgentManager and their related types.
*
- * scim::PanelAgent is a class used to write Panel daemons.
- * It acts like a Socket Server and handles all socket clients
- * issues.
+ * scim::PanelAgentManager is a class used to manage PanelAgent object.
*/
/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
* Smart Common Input Method
*
* Copyright (c) 2004-2005 James Su <suzhe@tsinghua.org.cn>
- * Copyright (c) 2012-2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2012-2016 Samsung Electronics Co., Ltd.
*
*
* This library is free software; you can redistribute it and/or
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
- * Modifications by Samsung Electronics Co., Ltd.
- * 1. Add new signals
- * a. m_signal_set_keyboard_ise and m_signal_get_keyboard_ise
- * b. m_signal_focus_in and m_signal_focus_out
- * c. m_signal_expand_candidate, m_signal_contract_candidate and m_signal_set_candidate_ui
- * d. m_signal_get_ise_list, m_signal_get_keyboard_ise_list, m_signal_update_ise_geometry and m_signal_get_ise_information
- * e. m_signal_set_active_ise_by_uuid and m_signal_get_ise_info_by_uuid
- * f. m_signal_accept_connection, m_signal_close_connection and m_signal_exit
- * 2. Add new interface APIs in PanelClient class
- * a. get_helper_manager_id (), has_helper_manager_pending_event () and filter_helper_manager_event ()
- * b. update_candidate_panel_event (), update_input_panel_event () and select_aux ()
- * c. candidate_more_window_show () and candidate_more_window_hide ()
- * d. update_displayed_candidate_number () and update_candidate_item_layout ()
- * e. stop_helper (), send_longpress_event () and update_ise_list ()
- * f. filter_event (), filter_exception_event () and get_server_id ()
- * 3. Donot use thread to receive message
- * 4. Monitor socket frontend for self-recovery function
- *
- * $Id: scim_panel_agent.h,v 1.2 2005/06/11 14:50:31 suzhe Exp $
*/
#ifndef __ISF_PANEL_AGENT_MANAGER_H
+/** @file isf_panel_agent_module.cpp
+ * @brief Implementation of class PanelAgentModule.
+ */
+
+/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
+
/*
* Smart Common Input Method
*
- * Copyright (c) 2002-2005 James Su <suzhe@tsinghua.org.cn>
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
+ * Contact: Li Zhang <li2012.zhang@samsung.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
- * $Id: scim_panel_client_module.h,v 0.01 2016/01/26 15:38:00 lizhang $
- *
+ * $Id: isf_panel_agent_module.cpp,v 1.00 2016/03/03 15:38:00 lizhang $
*/
#define Uses_SCIM_PANEL_AGENT_MODULE
-/** @file scim_config_module.h
- * @brief Define scim::ConfigModule class for manipulating the config modules.
+/** @file isf_panel_agent_module.h
+ * @brief Define scim::PanelAgentModule class for manipulating the PanelAgent modules.
*
- * Class scim::ConfigModule is a wrapper of class scim::Module,
- * which is for manipulating the configuration modules.
+ * Class scim::PanelAgentModule is a wrapper of class scim::Module,
+ * which is for manipulating the PanelAgent modules.
*/
/* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
/*
* Smart Common Input Method
*
- * Copyright (c) 2002-2005 Li Zhang <li2012.zhang@samsung.com>
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
+ * Contact: Li Zhang <li2012.zhang@samsung.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
- * $Id: scim_panel_client_module.h,v 0.01 2016/01/26 15:38:00 lizhang $
+ * $Id: isf_panel_agent_module.h,v 1.00 2016/03/03 15:38:00 lizhang $
*/
#ifndef __ISF_PANEL_AGENT_MODULE_H
namespace scim
{
/**
- * @addtogroup Config
+ * @addtogroup PanelAgent
* @ingroup InputServiceFramework
* @{
*/
/**
- * @brief The prototype of initialization function in config modules.
+ * @brief The prototype of initialization function in PanelAgent modules.
*
- * There must be a function called "scim_config_module_init"
+ * There must be a function called "scim_panel_agent_module_init"
* which complies with this prototype.
- * This function name can have a prefix like simple_LTX_,
- * in which "simple" is the module's name.
+ * This function name can have a prefix like wayland_LTX_,
+ * in which "wayland" is the module's name.
+ *
+ * @param config The Config object should be used to read/write configurations.
*/
typedef void (*PanelAgentModuleInitFunc) (const ConfigPointer& config);
/**
- * @brief Create a factory instance for an engine,
+ * @brief Get a PanelAgentModule instance,
*
- * There must be a function called "scim_imengine_module_create_factory"
+ * There must be a function called "scim_panel_agent_module_get_instance"
* which complies with this prototype.
- * This function name can have a prefix like table_LTX_,
- * in which "table" is the module's name.
+ * This function name can have a prefix like wayland_LTX_,
+ * in which "wayland" is the module's name.
*
- * @param engine - the index of the engine for which a factory object will be created.
- * @return the pointer of the factory object.
+ * @return the pointer of the PanelAgent object.
*/
typedef PanelAgentPointer (*PanelAgentModuleGetInstanceFunc) ();
/**
- * @brief The class to manipulate the PanelClient modules.
+ * @brief The class to manipulate the PanelAgent modules.
*
* This is a wrapper of scim::Module class, which is specially
- * for manipulating the PanelClient modules.
+ * for manipulating the PanelAgent modules.
*/
class EXAPI PanelAgentModule
{
- Module m_module;
+ Module m_module;
String m_module_name;
PanelAgentModuleInitFunc m_panel_agent_init;
/**
* @brief Constructor.
- * @param name - the module's name, eg. "simple".
+ *
+ * @param name The module name to be loaded.
+ * @param config The Config object should be used to read/write configurations.
*/
PanelAgentModule (const String& name, const ConfigPointer& config);
* If the old module is resident, false will be returned,
* and the old module will be untouched.
*
- * @param name - the module's name, eg. "simple".
+ * @param name - the module's name, eg. "wayland".
+ * @param config The Config object should be used to read/write configurations.
* @return true if success.
*/
bool load (const String& name, const ConfigPointer& config);
/**
* @brief Check if a module is loaded and initialized successfully.
+ *
* @return true if a module is already loaded and initialized successfully.
*/
bool valid () const;
+
/**
- * @brief Get a name of currently IMEngine modules.
+ * @brief Get a name of currently PanelAgent modules.
+ *
+ * @return the module name.
*/
String get_module_name () const;
-
/**
- * @brief Create an object for an IMEngine factory.
+ * @brief Get the pointer of the PanelAgent object.
*
- * @param engine - the index of this IMEngine factory,
- * must be less than the result of number_of_factories method
- * and greater than or equal to zero.
- * @return A smart pointer to the factory object, NULL if failed.
+ * @return A smart pointer to the PanelAgent object, NULL if failed.
*/
PanelAgentPointer get_instance () const;
};
/**
- * @brief Get a name list of currently available configuration modules.
+ * @brief Get a name list of currently available PanelAgent modules.
* @param mod_list - the result list will be stored here.
* @return the number of the modules, equal to mod_list.size ().
*/
} // namespace scim
-#endif //__SCIM_CONFIG_MODULE_H
+#endif //__ISF_PANEL_AGENT_MODULE_H
/*
vi:ts=4:ai:nowrap:expandtab