return false;
}
- bool set_helper_im_embedded_editor_im_button_set_label (const String &uuid, char *data, size_t &len)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client = -1;
- uint32 context = 0;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_IM_BUTTON_SET_LABEL);
- m_send_trans.put_data (data, len);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
- return false;
- }
-
- bool set_helper_im_embedded_editor_set_preset_text (const String &uuid, char *data, size_t &len)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client = -1;
- uint32 context = 0;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_SET_PRESET_TEXT);
- m_send_trans.put_data (data, len);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
- return false;
- }
-
- bool set_helper_im_embedded_editor_set_text (const String &uuid, char *data, size_t &len)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client = -1;
- uint32 context = 0;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_SET_TEXT);
- m_send_trans.put_data (data, len);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
- return false;
- }
-
- bool set_helper_im_embedded_editor_set_max_length (const String &uuid, uint32 &length)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client;
- uint32 context;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_SET_MAX_LENGTH);
- m_send_trans.put_data (length);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
-
- return false;
- }
-
- bool set_helper_im_embedded_editor_set_button_senstivity(const String &uuid, uint32 &senstivity)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client;
- uint32 context;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_BUTTON_SENSTIVITY);
- m_send_trans.put_data (senstivity);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
-
- return false;
- }
-
- bool set_helper_im_embedded_editor_set_progress_bar(const String &uuid, uint32 &timeout,uint32 &is_showing)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client;
- uint32 context;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_PROGRESS_BAR);
- m_send_trans.put_data (timeout);
- m_send_trans.put_data (is_showing);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
-
- return false;
- }
-
- bool set_helper_im_indicator_count_label (const String &uuid, char *data, size_t &len)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client = -1;
- uint32 context = 0;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_IM_INDICATOR_SET_COUNT_LABEL);
- m_send_trans.put_data (data, len);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
- return false;
- }
-
void show_isf_panel (int client_id)
{
SCIM_DEBUG_MAIN(4) << "PanelAgent::show_isf_panel ()\n";
return false;
}
- bool get_helper_im_embedded_editor_text (String &uuid, char **buf, size_t &len)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ()) {
-
- int client;
- uint32 context;
- Socket client_socket (it->second.id);
- uint32 ctx;
- Transaction trans;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- trans.clear ();
- trans.put_command (SCIM_TRANS_CMD_REPLY);
- trans.put_data (ctx);
- trans.put_data (uuid);
- trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_GET_TEXT);
-
- int cmd;
- if (trans.write_to_socket (client_socket)
- && trans.read_from_socket (client_socket)
- && trans.get_command(cmd) && cmd == SCIM_TRANS_CMD_REPLY
- && trans.get_data (buf, len))
- {
- SCIM_DEBUG_MAIN (1) << "get_helper_im_embedded_editor_text success\n";
- return true;
- }
- else
- {
- std::cerr << "get_helper_im_embedded_editor_text failed\n";
- }
- }
- return false;
- }
-
bool get_helper_layout (String &uuid, uint32 &layout)
{
HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
delete [] imdata;
}
- void set_ise_im_embedded_editor_im_button_set_label (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_embedded_editor_im_button_set_label ()\n";
- char *data = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&data, len))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_embedded_editor_im_button_set_label (m_current_helper_uuid, data, len);
- }
-
- if (NULL != data)
- delete [] data;
- }
-
- void set_ise_im_embedded_editor_set_preset_text (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_embedded_editor_set_preset_text ()\n";
- char *data = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&data, len))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_embedded_editor_set_preset_text (m_current_helper_uuid, data, len);
- }
-
- if (NULL != data)
- delete [] data;
- }
-
- void set_ise_im_embedded_editor_set_text (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_embedded_editor_set_text ()\n";
- char *data = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&data, len))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_embedded_editor_set_text (m_current_helper_uuid, data, len);
- }
-
- if (NULL != data)
- delete [] data;
- }
-
- void set_ise_im_embedded_editor_set_max_length (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_embedded_editor_set_max_length ()\n";
- uint32 length;
-
- if (m_recv_trans.get_data (length))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_embedded_editor_set_max_length (m_current_helper_uuid, length);
- }
- }
-
- void set_ise_im_embedded_editor_set_button_senstivity (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_embedded_editor_set_button_senstivity ()\n";
- uint32 senstivity;
- if (m_recv_trans.get_data (senstivity))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_embedded_editor_set_button_senstivity (m_current_helper_uuid, senstivity);
- }
- }
-
- void set_ise_im_embedded_editor_set_progress_bar (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_embedded_editor_set_progress_bar ()\n";
- uint32 timeout,is_showing;
- if (m_recv_trans.get_data (timeout) && m_recv_trans.get_data (is_showing))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_embedded_editor_set_progress_bar (m_current_helper_uuid, timeout,is_showing);
- }
- }
-
- void get_ise_im_embedded_editor_text (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::get_ise_im_embedded_editor_text ()\n";
- char *buf = NULL;
- size_t len;
- bool ret = false;
-
- TOOLBAR_MODE_T mode;
-
- mode = m_current_toolbar_mode;
-
- if (TOOLBAR_HELPER_MODE == mode)
- {
- ret = get_helper_im_embedded_editor_text (m_current_helper_uuid, &buf, len);
- }
-
- Transaction trans;
- Socket client_socket (client_id);
-
- trans.clear ();
- trans.put_command (SCIM_TRANS_CMD_REPLY);
- if (ret)
- {
- trans.put_command (SCIM_TRANS_CMD_OK);
- trans.put_data (buf, len);
- }
- else
- trans.put_command (SCIM_TRANS_CMD_FAIL);
-
- trans.write_to_socket (client_socket);
-
- if (NULL != buf)
- delete [] buf;
- }
-
- void set_ise_im_indicator_count_label (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_im_indicator_count_label ()\n";
- char *data = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&data, len))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_im_indicator_count_label (m_current_helper_uuid, data, len);
- }
-
- if (NULL != data)
- delete [] data;
- }
-
void get_ise_imdata (int client_id)
{
SCIM_DEBUG_MAIN(4) << "PanelAgent::get_ise_imdata ()\n";
return client >= 0;
}
- bool set_helper_char_count (const String &uuid, char *buf, size_t &len)
- {
- HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
-
- if (it != m_helper_client_index.end ())
- {
- int client = -1;
- uint32 context = 0;
- Socket client_socket (it->second.id);
- uint32 ctx;
-
- get_focused_context (client, context);
- ctx = get_helper_ic (client, context);
-
- m_send_trans.clear ();
- m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
- m_send_trans.put_data (ctx);
- m_send_trans.put_data (uuid);
- m_send_trans.put_command (ISM_TRANS_CMD_SET_INDICATOR_CHAR_COUNT);
- m_send_trans.put_data (buf, len);
- m_send_trans.write_to_socket (client_socket);
- return true;
- }
- return false;
- }
-
- void set_ise_char_count (int client_id)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::set_ise_char_count ()\n";
- char *buf = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&buf, len))
- {
- if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode)
- set_helper_char_count (m_current_helper_uuid, buf, len);
- }
-
- if (NULL != buf)
- delete [] buf;
- }
-
bool find_active_ise_by_uuid (String uuid)
{
HelperInfoRepository::iterator iter = m_helper_info_repository.begin ();
socket_set_keyboard_ise (ISM_TRANS_CMD_SET_KEYBOARD_ISE_BY_UUID);
} else if (cmd == ISM_TRANS_CMD_GET_KEYBOARD_ISE) {
socket_get_keyboard_ise ();
- } else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_STRING) {
- socket_helper_commit_im_embedded_editor_string (client_id);
- } else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_CHANGED) {
- socket_helper_im_embedded_editor_changed (client_id);
- } else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_PREEDIT_CHANGED) {
- socket_helper_im_embedded_editor_preedit_changed (client_id);
- } else if(cmd == ISM_TRANS_CMD_LAUNCH_HELPER_ISE_LIST_SELECTION){
- socket_helper_launch_helper_ise_list_selection();
+ } else if (cmd == ISM_TRANS_CMD_LAUNCH_HELPER_ISE_LIST_SELECTION) {
+ socket_helper_launch_helper_ise_list_selection ();
} else if (cmd == SCIM_TRANS_CMD_GET_SURROUNDING_TEXT) {
socket_helper_get_surrounding_text (client_id);
} else if (cmd == SCIM_TRANS_CMD_DELETE_SURROUNDING_TEXT) {
reset_ise_context (client_id);
else if (cmd == ISM_TRANS_CMD_SET_ISE_SCREEN_DIRECTION)
set_ise_screen_direction (client_id);
- else if (cmd == ISM_TRANS_CMD_SET_INDICATOR_CHAR_COUNT)
- set_ise_char_count (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_IM_BUTTON_SET_LABEL)
- set_ise_im_embedded_editor_im_button_set_label (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_SET_PRESET_TEXT)
- set_ise_im_embedded_editor_set_preset_text (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_SET_TEXT)
- set_ise_im_embedded_editor_set_text (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_SET_MAX_LENGTH)
- set_ise_im_embedded_editor_set_max_length (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_BUTTON_SENSTIVITY)
- set_ise_im_embedded_editor_set_button_senstivity (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_PROGRESS_BAR)
- set_ise_im_embedded_editor_set_progress_bar (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_GET_TEXT)
- get_ise_im_embedded_editor_text (client_id);
- else if (cmd == ISM_TRANS_CMD_IM_INDICATOR_SET_COUNT_LABEL)
- set_ise_im_indicator_count_label (client_id);
}
socket_transaction_end ();
socket_reset_helper_input_context (m_current_helper_uuid, client, context);
}
- void socket_helper_commit_im_embedded_editor_string (int client)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::socket_helper_commit_ise_result_to_imcontrol (" << client << ")\n";
-
- char * buf = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&buf, len))
- {
- ClientRepository::iterator iter = m_client_repository.begin ();
-
- for (; iter != m_client_repository.end (); iter++)
- {
- if (IMCONTROL_CLIENT == iter->second.type
- && iter->first == m_imcontrol_map[m_current_active_imcontrol_id])
- {
- Socket client_socket (iter->first);
- Transaction trans;
-
- trans.clear ();
- trans.put_command (SCIM_TRANS_CMD_REQUEST);
- trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_STRING);
- trans.put_data (buf, len);
- trans.write_to_socket (client_socket);
- break;
- }
- }
-
- if (buf)
- delete [] buf;
- }
- }
-
- void socket_helper_im_embedded_editor_changed (int client)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::socket_helper_im_embedded_editor_changed (" << client << ")\n";
-
- ClientRepository::iterator iter = m_client_repository.begin ();
-
- for (; iter != m_client_repository.end (); iter++)
- {
- if (IMCONTROL_CLIENT == iter->second.type
- && iter->first == m_imcontrol_map[m_current_active_imcontrol_id])
- {
- Socket client_socket (iter->first);
- Transaction trans;
-
- trans.clear ();
- trans.put_command (SCIM_TRANS_CMD_REQUEST);
- trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_CHANGED);
-
- trans.write_to_socket (client_socket);
- break;
- }
- }
- }
-
- void socket_helper_im_embedded_editor_preedit_changed (int client)
- {
- SCIM_DEBUG_MAIN(4) << "PanelAgent::socket_helper_im_embedded_editor_preedit_changed (" << client << ")\n";
-
- char * buf = NULL;
- size_t len;
-
- if (m_recv_trans.get_data (&buf, len))
- {
- ClientRepository::iterator iter = m_client_repository.begin ();
-
- for (; iter != m_client_repository.end (); iter++)
- {
- if (IMCONTROL_CLIENT == iter->second.type &&
- iter->first == m_imcontrol_map[m_current_active_imcontrol_id])
- {
- Socket client_socket (iter->first);
- Transaction trans;
-
- trans.clear ();
- trans.put_command (SCIM_TRANS_CMD_REQUEST);
- trans.put_command (ISM_TRANS_CMD_IM_EMBEDDED_EDITOR_PREEDIT_CHANGED);
- trans.put_data (buf, len);
- trans.write_to_socket (client_socket);
- break;
- }
- }
-
- if (buf)
- delete [] buf;
- }
- }
-
bool helper_select_aux (uint32 item)
{
SCIM_DEBUG_MAIN(4) << "PanelAgent::helper_select_aux \n";