Fix build error related to new panel architecture 35/77935/9
authorInHong Han <inhong1.han@samsung.com>
Wed, 16 Mar 2016 11:02:27 +0000 (20:02 +0900)
committerInHong Han <inhong1.han@samsung.com>
Thu, 11 Aug 2016 05:06:51 +0000 (22:06 -0700)
Change-Id: Ic8578170fb22884235532cb6e636d53b51d25629

ism/extras/efl_panel/remote_input.cpp
ism/modules/panelagent/ecoresocket/ecore_socket_panel_agent_module.cpp
ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp
ism/src/isf_info_manager.cpp
ism/src/isf_info_manager.h
ism/src/isf_panel_agent_base.cpp
ism/src/isf_panel_agent_base.h
ism/src/isf_panel_agent_manager.cpp
ism/src/isf_panel_agent_manager.h

index dc1c251..dfc0ccf 100644 (file)
@@ -482,6 +482,7 @@ void Remote_Input::handle_websocket_message(ISE_MESSAGE &message)
                 case 124://TV_KEY_POWER
                     LOGD ("TV_KEY_POWER");
                     panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_POWER);
+                    g_web_socket_server->on_init();
                     break;
 
                 case 235://TV_KEY_SWITCHMODE
index 9794537..7579f70 100755 (executable)
@@ -1435,6 +1435,50 @@ private:
         Socket client_socket(client);
         m_send_trans.write_to_socket(client_socket);
     }
+
+    void update_preedit_string (int client, uint32 target_context, const WideString &str, const AttributeList &attrs) {
+        LOGD("client id:%d\n", client);
+
+        Socket client_socket(client);
+        lock();
+        m_send_trans.clear();
+        m_send_trans.put_command(SCIM_TRANS_CMD_REPLY);
+        m_send_trans.put_data(target_context);
+        m_send_trans.put_command(SCIM_TRANS_CMD_UPDATE_PREEDIT_STRING);
+        m_send_trans.put_data(str);
+        m_send_trans.put_data(attrs);
+        m_send_trans.put_data(-1);
+        m_send_trans.write_to_socket(client_socket);
+        unlock();
+    }
+
+    void send_key_event (int client, uint32 target_context, const KeyEvent &key) {
+        LOGD("client id:%d\n", client);
+
+        Socket client_socket(client);
+        lock();
+        m_send_trans.clear ();
+        m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
+        m_send_trans.put_data (target_context);
+        m_send_trans.put_command (SCIM_TRANS_CMD_PROCESS_KEY_EVENT);
+        m_send_trans.put_data (key);
+        m_send_trans.write_to_socket (client_socket);
+        unlock();
+    }
+
+    void forward_key_event (int client, uint32 target_context, const KeyEvent &key) {
+        LOGD("client id:%d\n", client);
+
+        Socket client_socket(client);
+        lock();
+        m_send_trans.clear ();
+        m_send_trans.put_command (SCIM_TRANS_CMD_REPLY);
+        m_send_trans.put_data (target_context);
+        m_send_trans.put_command (SCIM_TRANS_CMD_FORWARD_KEY_EVENT);
+        m_send_trans.put_data (key);
+        m_send_trans.write_to_socket (client_socket);
+        unlock();
+    }
 private:
 
     static void send_fail_reply (int client_id)
@@ -2878,9 +2922,9 @@ private:
                     trans.write_to_socket(client_socket);
                     m_info_manager->hide_helper_ise ();
                 } else if (cmd == ISM_TRANS_CMD_ENABLE_REMOTE_INPUT) {
-                    m_info_manager->enable_remote_input ();
+                    m_info_manager->enable_remote_input (client_id);
                 } else if (cmd == ISM_TRANS_CMD_DISABLE_REMOTE_INPUT) {
-                    m_info_manager->disable_remote_input ();
+                    m_info_manager->disable_remote_input (client_id);
                 } else {
                     LOGW ("unknow cmd: %d\n", cmd);
                 }
index 9b514d4..960c664 100644 (file)
@@ -2774,6 +2774,13 @@ public:
         LOGD ("client id:%d", id);
         panel_slot_commit_string (context_id, wstr);
     }
+
+    void
+    forward_key_event (int id, uint32 context_id, const KeyEvent &key) {
+        LOGD ("client id:%d", id);
+        panel_slot_forward_key_event (context_id, key);
+    }
+
 #if 0
     void
     request_help (int id, uint32 context_id) {
index 546a32d..632f4f4 100644 (file)
@@ -1259,13 +1259,13 @@ public:
         m_signal_show_panel ();
     }
 
-    void enable_remote_input (void)
+    void enable_remote_input (int client_id)
     {
         SCIM_DEBUG_MAIN(4) << "PanelAgent::enable_remote_input ()\n";
         m_signal_enable_remote_input ();
     }
 
-    void disable_remote_input (void)
+    void disable_remote_input (int client_id)
     {
         SCIM_DEBUG_MAIN(4) << "PanelAgent::disable_remote_input ()\n";
         m_signal_disable_remote_input ();
@@ -1933,6 +1933,7 @@ public:
 
         get_focused_context (client, context);
         if (client >= 0) {
+            m_panel_agent_manager.update_preedit_string (client, context, str, attrs);
         }
 
         unlock ();
@@ -1950,6 +1951,7 @@ public:
 
         get_focused_context (client, context);
         if (client >= 0) {
+            m_panel_agent_manager.commit_string (client, context, str);
         }
 
         unlock ();
@@ -1963,14 +1965,11 @@ public:
         int    client = -1;
         uint32 context = 0;
 
-        lock ();
-
         get_focused_context (client, context);
         if (client >= 0) {
+            m_panel_agent_manager.send_key_event (client, context, key);
         }
 
-        unlock ();
-
         return client >= 0;
     }
 
@@ -1980,14 +1979,11 @@ public:
         int    client = -1;
         uint32 context = 0;
 
-        lock ();
-
         get_focused_context (client, context);
         if (client >= 0) {
+            m_panel_agent_manager.forward_key_event (client, context, key);
         }
 
-        unlock ();
-
         return client >= 0;
     }
 
@@ -4440,15 +4436,15 @@ void InfoManager::get_recent_ise_geometry (int client_id, uint32 angle, _OUT_ st
 }
 
 //ISM_TRANS_CMD_ENABLE_REMOTE_INPUT
-void InfoManager::enable_remote_input ()
+void InfoManager::enable_remote_input (int client_id)
 {
-    m_impl->enable_remote_input ();
+    m_impl->enable_remote_input (client_id);
 }
 
 //ISM_TRANS_CMD_DISABLE_REMOTE_INPUT
-void InfoManager::disable_remote_input ()
+void InfoManager::disable_remote_input (int client_id)
 {
-    m_impl->disable_remote_input ();
+    m_impl->disable_remote_input (client_id);
 }
 
 //ISM_TRANS_CMD_REGISTER_PANEL_CLIENT
index 137307b..d93d633 100644 (file)
@@ -572,14 +572,14 @@ public:
      *
      * @return none.
      */
-    void enable_remote_input (void);
+    void enable_remote_input (int client_id);
 
     /**
      * @brief Disable remote input.
      *
      * @return none.
      */
-    void disable_remote_input (void);
+    void disable_remote_input (int client_id);
 
 /////////////////////////////////Message function begin/////////////////////////////////////////
 
index e08a46a..81fbeb2 100644 (file)
@@ -510,6 +510,20 @@ void PanelAgentBase::set_autocapital_type(int client, uint32 context, String uui
     LOGW("not implemented for %s", m_name.c_str());
 }
 
+void PanelAgentBase::update_preedit_string (int client, uint32 context,const WideString &str, const AttributeList &attrs)
+{
+    LOGW ("not implemented for %s", m_name.c_str ());
+}
+
+void PanelAgentBase::send_key_event (int client, uint32 context,const KeyEvent &key)
+{
+    LOGW ("not implemented for %s", m_name.c_str ());
+}
+
+void PanelAgentBase::forward_key_event (int client, uint32 context,const KeyEvent &key)
+{
+    LOGW ("not implemented for %s", m_name.c_str ());
+}
 
 } /* namespace scim */
 
index fd8223f..debaaa7 100644 (file)
@@ -807,6 +807,33 @@ public:
     * @return none.
     */
     virtual void set_autocapital_type(int client, uint32 context, String uuid, int mode);
+
+    /**
+    * @brief update_preedit_string.
+    *
+    * @param
+    *
+    * @return none.
+    */
+    virtual void update_preedit_string (int client, uint32 context,const WideString &str, const AttributeList &attrs);
+
+    /**
+    * @brief send_key_event.
+    *
+    * @param
+    *
+    * @return none.
+    */
+    virtual void send_key_event (int client, uint32 context,const KeyEvent &key);
+
+    /**
+    * @brief forward_key_event.
+    *
+    * @param
+    *
+    * @return none.
+    */
+    virtual void forward_key_event (int client, uint32 context,const KeyEvent &key);
 };
 
 /**  @} */
index a68076d..dc152ac 100644 (file)
@@ -798,6 +798,30 @@ void PanelAgentManager::set_autocapital_type(int id, uint32 context_id, String u
         _p->set_autocapital_type (id, context_id, uuid, mode);
 }
 
+void PanelAgentManager::update_preedit_string (int id, uint32 context_id, const WideString &str, const AttributeList &attrs)
+{
+    PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
+
+    if (!_p.null ())
+        _p->update_preedit_string (id, context_id, str, attrs);
+}
+
+void PanelAgentManager::send_key_event (int id, uint32 context_id, const KeyEvent &key)
+{
+    PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
+
+    if (!_p.null ())
+        _p->send_key_event (id, context_id, key);
+}
+
+void PanelAgentManager::forward_key_event (int id, uint32 context_id, const KeyEvent &key)
+{
+    PanelAgentPointer _p = m_impl->get_panel_agent_by_id (id);
+
+    if (!_p.null ())
+        _p->forward_key_event (id, context_id, key);
+}
+
 
 } /* namespace scim */
 
index e34eda6..6bb4431 100644 (file)
@@ -344,6 +344,9 @@ public:
     bool process_input_device_event(int client, uint32 context, const String& uuid, uint32 type, const char *data, size_t len, _OUT_ uint32& result);
     void process_key_event_done(int client, uint32 context, KeyEvent &key, uint32 ret, uint32 serial);
     void set_autocapital_type(int id, uint32 context_id, String uuid, int mode);
+    void update_preedit_string (int target_client, uint32  target_context, const WideString &str, const AttributeList &attrs);
+    void send_key_event (int target_client, uint32  target_context, const KeyEvent &key);
+    void forward_key_event (int target_client, uint32  target_context, const KeyEvent &key);
 };
 
 /**  @} */