Support to launch 3rd party shared object type IME 45/63845/3
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 28 Mar 2016 05:44:36 +0000 (14:44 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 1 Apr 2016 00:54:17 +0000 (09:54 +0900)
Change-Id: I1eb1d8ef19071127c80571d771322433b5bdbba6

ism/extras/efl_panel/isf_panel_efl.cpp
ism/modules/frontend/scim_socket_frontend.cpp
ism/src/scim.cpp
ism/src/scim_helper.h
ism/src/scim_helper_launcher.cpp

index e61ee4f4b7bb5e6fd0b3551a135ec70812cee6e3..06ce4a082c994d347d9cd53ede00a02472d20e46 100644 (file)
@@ -121,8 +121,6 @@ using namespace scim;
 
 #define E_PROP_DEVICEMGR_INPUTWIN                       "DeviceMgr Input Window"
 
-#define SCIM_HELPER_LAUNCHER_PROGRAM (SCIM_LIBEXECDIR "/scim-helper-launcher")
-
 /////////////////////////////////////////////////////////////////////////////
 // Declaration of external variables.
 /////////////////////////////////////////////////////////////////////////////
index 5ad98177c50bcf1cdc9c6b7454470b0c456f8c31..540511d09f30dcd0a0d2a94a4568baafa9260b25 100644 (file)
@@ -207,9 +207,6 @@ void SocketFrontEnd::get_helper_list (const Socket &client)
     }
 }
 
-#ifndef SCIM_HELPER_LAUNCHER_PROGRAM
-  #define SCIM_HELPER_LAUNCHER_PROGRAM  (SCIM_LIBEXECDIR "/scim-helper-launcher")
-#endif
 static std::vector<String>  __active_helpers;
 static String scim_helper_path;
 
index 40a63c500c0928bacc9140a44b830a6d276c7dca..6171ad79a6bc9c383e8ed0b25adda21dcc32e609 100644 (file)
@@ -129,10 +129,6 @@ static bool check_panel (const String &display)
 #include <Ecore.h>
 #include <Ecore_Ipc.h>
 
-#ifndef SCIM_HELPER_LAUNCHER_PROGRAM
-#define SCIM_HELPER_LAUNCHER_PROGRAM  (SCIM_LIBEXECDIR "/scim-helper-launcher")
-#endif
-
 static Ecore_Ipc_Server *server = NULL;
 static Ecore_Event_Handler *exit_handler = NULL;
 static Ecore_Event_Handler *data_handler = NULL;
index c203cbcc6fa870ea8ee8b3319735e869adc55a8d..35274883659b04f2495415a17340e9a02a6ebbfa 100644 (file)
 
 #include "scim_utility.h"
 
+#ifndef SCIM_HELPER_LAUNCHER_PROGRAM
+#define SCIM_HELPER_LAUNCHER_PROGRAM  (SCIM_LIBEXECDIR "/scim-helper-launcher")
+#endif
+
 namespace scim {
 
 /**
index 5ad76e6dac0a91d1370821ff7e909c1c92479a1f..f749bb2552ca58978060815ca0199dc59e507f9c 100644 (file)
@@ -140,11 +140,13 @@ int main (int argc, char *argv [])
             uuid = String (argv [i]);
             continue;
         }
+    }
 
-        ISF_SAVE_LOG ("Invalid command line option: %d %s...\n", i, argv [i]);
+    String exec = String (argv[0]);
 
-        std::cerr << "Invalid command line option: " << argv [i] << "\n";
-        return -1;
+    if (exec != String (SCIM_HELPER_LAUNCHER_PROGRAM)) {
+        /* 3rd party shared object type IME */
+        uuid = helper = String ("lib") + exec.substr (exec.find_last_of (SCIM_PATH_DELIM) + 1);
     }
 
     SCIM_DEBUG_MAIN(1) << "scim-helper-launcher: " << config << " " << display << " " << helper << " " << uuid << "\n";