added dir check for the installed UG
authorMyoungJune Park <mj2004.park@samsung.com>
Mon, 12 Nov 2012 10:27:55 +0000 (19:27 +0900)
committerMyoungJune Park <mj2004.park@samsung.com>
Mon, 12 Nov 2012 10:28:00 +0000 (19:28 +0900)
setting-common/include/setting-common-data-type.h
setting-common/src/setting-cfg.c

index e0dca13..8e70307 100755 (executable)
@@ -54,6 +54,9 @@
 #define SETTING_UG_PATH                        "/usr/ug/lib"
 #define SETTING_UG_PATH_USR            "/usr/ug/lib"
 
+#define SETTING_UG_PATH_OPT                    "/opt/ug/lib"
+#define SETTING_UG_PATH_USR_OPT                "/opt/ug/lib"
+
 #define SETTING_EDJ_PATH               EDJDIR
 #define SETTING_MEMORY_EDJ_NAME                SETTING_EDJ_PATH"/setting-memory.edj"
 #define SETTING_THEME_EDJ_NAME         SETTING_EDJ_PATH"/setting-theme.edj"
index 60bee4a..fa2cf55 100755 (executable)
@@ -661,27 +661,51 @@ void setting_cfg_remove_downloaded_app( char * keyname )
 
 bool is_ug_installed_by_ug_args(void *data)
 {
-       retv_if(!data, TRUE);//if passing NULL,drawing it
-       char* ug_args = data;
-       char *ug_name = get_ug_path_from_ug_args(ug_args);
-
-       //1.first do exist-checking in /opt/ug/lib
-       char ug_file[PATH_MAX + 1];
-       snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH, ug_name);
-       struct stat st;
-       if(stat(ug_file, &st) != 0) { 
-
-               //2.if it does not exit in /opt/ug/lib, then do exist-checking in /usr/ug/lib
-               memset(ug_file, 0x00, PATH_MAX + 1);
-               snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_USR, ug_name);
-               if(stat(ug_file, &st) != 0) {
-                       //both not exist,skip it
-                       SETTING_TRACE_ERROR(" libug-%s.so is *NOT* present, so skip it..\n", ug_name);
-                       return FALSE;
-               }
-       }
+   retv_if(!data, TRUE);//if passing NULL,drawing it
+    char* ug_args = data;
+    char *ug_name = get_ug_path_from_ug_args(ug_args);
+
+    bool is_installed_in_usr = false;
+    bool is_installed_in_opt = false;
+
+    //1.first do exist-checking in /usr/ug/lib
+    char ug_file[PATH_MAX + 1];
+    snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH, ug_name);
+    struct stat st;
+    if(stat(ug_file, &st) != 0) {
+
+        //2.if it does not exit in /usr/ug/lib, then do exist-checking in /usr/ug/lib
+        memset(ug_file, 0x00, PATH_MAX + 1);
+        snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_USR, ug_name);
+        if(stat(ug_file, &st) != 0) {
+            //both not exist,skip it
+            SETTING_TRACE_ERROR(" libug-%s.so is *NOT* present, so skip it..\n", ug_name);
+            //return FALSE;
+            is_installed_in_usr = false;
+        }
+    }
+    is_installed_in_usr = true;
+
+    //2.first do exist-checking in /opt/ug/lib
+    //char ug_file[PATH_MAX + 1];
+    memset(ug_file, 0x00, PATH_MAX + 1);
+    snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_OPT, ug_name);
+    //struct stat st;
+    if(stat(ug_file, &st) != 0) {
+
+        //2.if it does not exit in /usr/ug/lib, then do exist-checking in /usr/ug/lib
+        memset(ug_file, 0x00, PATH_MAX + 1);
+        snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_USR_OPT, ug_name);
+        if(stat(ug_file, &st) != 0) {
+            //both not exist,skip it
+            SETTING_TRACE_ERROR(" libug-%s.so is *NOT* present, so skip it..\n", ug_name);
+            //return FALSE;
+            is_installed_in_opt = false;
+        }
+    }
+    is_installed_in_opt = true;
 
-       return TRUE;
+    return (is_installed_in_opt || is_installed_in_opt);
 }
 
 /*other relative function*/