Add PING message for flushing event queue 29/219529/3
authorJi-hoon Lee <dalton.lee@samsung.com>
Thu, 5 Dec 2019 12:48:04 +0000 (21:48 +0900)
committerInHong Han <inhong1.han@samsung.com>
Fri, 6 Dec 2019 05:11:43 +0000 (14:11 +0900)
Change-Id: I83fb805482376164da9b4853d960ee14e50688c4

ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp
ism/src/scim_helper.cpp
ism/src/scim_trans_commands.h

index 3d115a9..95ec262 100644 (file)
@@ -2812,6 +2812,14 @@ private:
                         m_info_manager->socket_helper_select_candidate(index);
                     else
                         LOGW ("wrong format of transaction");
+                } else if (cmd == SCIM_TRANS_CMD_PING) {
+                    Transaction trans;
+                    Socket client_socket(client_id);
+
+                    trans.clear();
+                    trans.put_command(SCIM_TRANS_CMD_REPLY);
+                    trans.put_command(SCIM_TRANS_CMD_OK);
+                    trans.write_to_socket(client_socket);
                 } else if (cmd == SCIM_TRANS_CMD_GET_SURROUNDING_TEXT) {
                     String uuid;
                     uint32 maxlen_before;
index 0f63b24..73f5faa 100644 (file)
@@ -2149,6 +2149,12 @@ HelperAgent::get_surrounding_text (int maxlen_before, int maxlen_after, String &
             free(m_impl->surrounding_text);
             m_impl->surrounding_text = NULL;
         }
+
+        m_impl->send.clear ();
+        m_impl->send.put_command(SCIM_TRANS_CMD_REQUEST);
+        m_impl->send.put_data(m_impl->magic_active);
+        m_impl->send.put_command(SCIM_TRANS_CMD_PING);
+        m_impl->send.write_to_socket(m_impl->socket_active, m_impl->magic_active);
     }
 }
 
index 7dbb3b9..22e4e55 100644 (file)
@@ -533,6 +533,8 @@ const int SCIM_TRANS_CMD_GET_SELECTION                    = 174;
 const int SCIM_TRANS_CMD_SET_SELECTION                    = 175;
 const int SCIM_TRANS_CMD_SEND_PRIVATE_COMMAND             = 176;
 const int SCIM_TRANS_CMD_COMMIT_CONTENT                   = 177;
+const int SCIM_TRANS_CMD_PING                             = 178;
+
 
 // Socket IMEngine to Socket FrontEnd
 const int SCIM_TRANS_CMD_NEW_INSTANCE                     = 200;