[Release] wrt_0.8.166 for tizen_2.1 branch
[platform/framework/web/wrt.git] / src / wrt-launchpad-daemon / include / menu_db_util.h
index 7f8c8c5..c4d5d07 100644 (file)
@@ -14,6 +14,9 @@
  *    limitations under the License.
  */
 
+#ifndef __MENU_DB_UTIL_H_
+#define __MENU_DB_UTIL_H_
+
 #include <ail.h>
 #include <string.h>
 #include "simple_util.h"
@@ -75,7 +78,7 @@ static inline char *_get_app_path(app_info_from_db *menu_info)
         free(menu_info->app_path);
         menu_info->app_path = NULL;
     } else if (path_len > 0) {
-        char *tmp_app_path = malloc(sizeof(char) * (path_len + 1));
+        char *tmp_app_path = (char *)malloc(sizeof(char) * (path_len + 1));
         if (tmp_app_path == NULL) {
             return NULL;
         }
@@ -122,7 +125,7 @@ static inline app_info_from_db *_get_app_info_from_db_by_pkgname(
     ail_error_e ret;
     char *str = NULL;
 
-    menu_info = calloc(1, sizeof(app_info_from_db));
+    menu_info = (app_info_from_db *)calloc(1, sizeof(app_info_from_db));
     if (menu_info == NULL) {
         return NULL;
     }
@@ -193,7 +196,7 @@ static inline app_info_from_db *_get_app_info_from_db_by_apppath(
         return NULL;
     }
 
-    menu_info = calloc(1, sizeof(app_info_from_db));
+    menu_info = (app_info_from_db *)calloc(1, sizeof(app_info_from_db));
     if (menu_info == NULL) {
         return NULL;
     }
@@ -233,3 +236,30 @@ static inline app_info_from_db *_get_app_info_from_db_by_apppath(
     return menu_info;
 }
 
+
+static inline app_info_from_db *_get_app_info_from_bundle_by_pkgname(
+    const char *pkgname, bundle *kb)
+{
+    app_info_from_db *menu_info;
+
+    menu_info = (app_info_from_db*)calloc(1, sizeof(app_info_from_db));
+    if (menu_info == NULL) {
+        return NULL;
+    }
+
+    menu_info->pkg_name = strdup(pkgname);
+    menu_info->app_path = strdup(bundle_get_val(kb, AUL_K_EXEC));
+    if (menu_info->app_path != NULL) {
+        menu_info->original_app_path = strdup(menu_info->app_path);
+    }
+    menu_info->pkg_type = strdup(bundle_get_val(kb, AUL_K_PACKAGETYPE));
+    menu_info->hwacc = strdup(bundle_get_val(kb, AUL_K_HWACC));
+
+    if (!_get_app_path(menu_info)) {
+        _free_app_info_from_db(menu_info);
+        return NULL;
+    }
+
+    return menu_info;
+}
+#endif //__MENU_DB_UTIL_H_
\ No newline at end of file