Changes for launching Native IME 24/42624/1
authorSungmin Kwak <sungmin.kwak@samsung.com>
Thu, 25 Jun 2015 06:28:19 +0000 (15:28 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 1 Jul 2015 00:54:03 +0000 (09:54 +0900)
Change-Id: I6453164fbbaaa136e02b3f21356284772c9e3bde

ism/src/ise_preexec.cpp
ism/src/isf_query_utility.cpp

index af2a179..8f932a0 100644 (file)
 #define DEFAULT_PACKAGE_NAME "libisf-bin"
 #define DEFAULT_APPLICATION_PATH "/usr/lib/scim-1.0/scim-helper-launcher"
 
-#define NATIVE_APPLICATION_TYPE "c++app"
 #define NATIVE_PACKAGE_TYPE "tpk"
 
-#define WEB_APPLICATION_TYPE "webapp"
 #define WEB_PACKAGE_TYPE "wgt"
 
 #ifdef LOG_TAG
@@ -360,19 +358,20 @@ static void get_pkginfo (const char *appid, PKGINFO *info)
                        return;
                }
 
-               if (imeInfo.pkgtype.compare("rpm") == 0) {
+               if (imeInfo.pkgtype.compare(DEFAULT_PACKAGE_TYPE) == 0) {
                        info->package_type = DEFAULT_PACKAGE_TYPE;
                        info->app_path = std::string(imeInfo.exec.c_str());     //DEFAULT_APPLICATION_PATH;
                        info->package_name = DEFAULT_PACKAGE_NAME;
                }
-               else if (imeInfo.pkgtype.compare("wgt") == 0) {
+               else if (imeInfo.pkgtype.compare(WEB_PACKAGE_TYPE) == 0) {
                        info->package_type = WEB_PACKAGE_TYPE;
                        info->app_path = std::string(imeInfo.exec.c_str());
                        info->package_name = std::string(imeInfo.pkgid.c_str());
                }
-               else if (imeInfo.pkgtype.compare("coretpk") == 0) {
+               else if (imeInfo.pkgtype.compare(NATIVE_PACKAGE_TYPE) == 0) {
                        info->package_type = NATIVE_PACKAGE_TYPE;
-                       info->app_path = std::string(imeInfo.exec.c_str());
+                       info->app_path = std::string(imeInfo.module_path.c_str()) + std::string(SCIM_PATH_DELIM_STRING) +
+                               std::string(imeInfo.module_name.c_str()) + std::string(".so");
                        info->package_name = std::string(imeInfo.pkgid.c_str());
                }
                else {
index a13369a..aaae7c5 100644 (file)
@@ -1176,15 +1176,15 @@ static int _filtered_app_list_cb (const pkgmgrinfo_appinfo_h handle, void *user_
             }
             ime_db.has_option = -1; // At this point, we can't know IME has an option (setting) or not; -1 means unknown.
         }
-        else if (ime_db.pkgtype.compare("coretpk") == 0)    //1 Download Native IME
+        else if (ime_db.pkgtype.compare("tpk") == 0)    //1 Download Native IME
         {
             ime_db.options = SCIM_HELPER_STAND_ALONE | SCIM_HELPER_NEED_SCREEN_INFO | SCIM_HELPER_AUTO_RESTART
                 | ISM_HELPER_PROCESS_KEYBOARD_KEYEVENT | ISM_HELPER_WITHOUT_IMENGINE;
             if (path)
-                ime_db.module_path = String(path);
+                ime_db.module_path = String(path) + String("/lib");
             else
                 ime_db.module_path = String("/opt/usr/apps/") + ime_db.pkgid + String("/lib");
-            ime_db.module_name = ime_db.appid;
+            ime_db.module_name = String("lib") + ime_db.exec.substr(ime_db.exec.find_last_of(SCIM_PATH_DELIM) + 1);
             if (ime_db.exec.compare(0, 5, "/usr/") == 0) {
                 ime_db.is_enabled = 1;
                 ime_db.is_preinstalled = 1;