list once global package with pkgcmd -l 39/31039/1
authorSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Fri, 21 Nov 2014 13:04:36 +0000 (14:04 +0100)
committerSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Fri, 28 Nov 2014 18:20:02 +0000 (19:20 +0100)
Change-Id: I1ac3d2a8f58acdd5fb0acada05642f5100eeeb15
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
client/src/pkgmgr.c
tool/pkg_cmd.c
tool/pkg_info.c

index ec56c5b..a67336f 100755 (executable)
@@ -2842,6 +2842,13 @@ API int pkgmgr_pkginfo_is_readonly(pkgmgr_pkginfo_h handle, bool *readonly)
        return ret;
 }
 
+API int pkgmgr_pkginfo_is_for_all_users(pkgmgr_pkginfo_h handle, bool *for_all_users)
+{
+       int ret = 0;
+       ret = pkgmgrinfo_pkginfo_is_for_all_users(handle, for_all_users);
+       return ret;
+}
+
 API int pkgmgr_pkginfo_is_accessible(pkgmgr_pkginfo_h handle, bool *accessible)
 {
        int ret = 0;
index 52e5ee3..2455128 100755 (executable)
@@ -26,6 +26,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
+#include <sqlite3.h>
 #include <unistd.h>
 #include <ctype.h>
 #include <getopt.h>
@@ -46,6 +47,7 @@
 
 #define PKG_TOOL_VERSION       "0.1"
 #define APP_INSTALLATION_PATH_RW       tzplatform_getenv(TZ_USER_APP)
+#define MAX_QUERY_LEN  4096
 
 static int __process_request(uid_t uid);
 static void __print_usage();
@@ -448,6 +450,10 @@ static int __pkgmgr_list_cb (const pkgmgr_pkginfo_h handle, void *user_data)
        char *pkg_type = NULL;
        char *pkg_version = NULL;
        char *pkg_label = NULL;
+       char *icon_path = NULL;
+       bool for_all_users = 0;
+
+       pkgmgrinfo_uidinfo_t *uid_info = (pkgmgrinfo_uidinfo_t *) handle;
 
        ret = pkgmgr_pkginfo_get_pkgid(handle, &pkgid);
        if (ret == -1) {
@@ -470,8 +476,13 @@ static int __pkgmgr_list_cb (const pkgmgr_pkginfo_h handle, void *user_data)
                return ret;
        }
 
-       printf("pkg_type [%s]\tpkgid [%s]\tname [%s]\tversion [%s]\n", pkg_type, pkgid, pkg_label, pkg_version);
+       ret = pkgmgr_pkginfo_is_for_all_users(handle, &for_all_users);
+       if (ret == -1) {
+               printf("Failed to get pkgmgr_pkginfo_is_for_all_users\n");
+               return ret;
+       }
 
+       printf("%s\tpkg_type [%s]\tpkgid [%s]\tname [%s]\tversion [%s]\n", for_all_users ? "system apps" : "user apps ", pkg_type, pkgid, pkg_label, pkg_version);
        return ret;
 }
 
@@ -831,17 +842,13 @@ static int __process_request(uid_t uid)
                if (data.pkg_type[0] == '\0') {
                        ret = 0;
                        if (uid != GLOBAL_USER) {
-                               printf(" = USER APPS =\n");
                                ret = pkgmgr_pkginfo_get_usr_list(__pkgmgr_list_cb, NULL, uid);
-                               if (ret == -1) {
-                                       printf("No User application Found\n");
+                       } else {
+                               ret = pkgmgr_pkginfo_get_list(__pkgmgr_list_cb, NULL);
                                }
-                       }
-                       printf(" = SYSTEM APPS =\n");
-                       ret = pkgmgr_pkginfo_get_list(__pkgmgr_list_cb, NULL);
-                       if (ret == -1)
-                               printf("Failed to get package list\n");
-                       break;
+                               if (ret == -1)
+                                       printf("no packages found\n");
+                               break;
                } else {
                        pkgmgrinfo_pkginfo_filter_h handle;
                        ret = pkgmgrinfo_pkginfo_filter_create(&handle);
@@ -856,18 +863,13 @@ static int __process_request(uid_t uid)
                                break;
                        }
                        if (uid != GLOBAL_USER) {
-                               printf(" = USER APPS =\n");
-                               if (pkgmgrinfo_pkginfo_usr_filter_foreach_pkginfo(handle, __pkgmgr_list_cb, NULL,uid) != PMINFO_R_OK) {
-                                       printf("No User application Found\n");
-                                       pkgmgrinfo_pkginfo_filter_destroy(handle);
-                               }
+                               ret = pkgmgrinfo_pkginfo_usr_filter_foreach_pkginfo(handle, __pkgmgr_list_cb, NULL, uid);
+                       } else {
+                               ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkgmgr_list_cb, NULL);
                        }
-                       printf(" = SYSTEM APPS =\n");
-                       ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkgmgr_list_cb, NULL);
-                       if (ret != PMINFO_R_OK)
-                               printf("Failed to get package filter list\n");
-
-                       pkgmgrinfo_pkginfo_filter_destroy(handle);
+                               if (ret != PMINFO_R_OK)
+                                       printf("no package filter list\n");
+                                       pkgmgrinfo_pkginfo_filter_destroy(handle);
                        break;
                }
 
index e4f92d9..55d2d40 100755 (executable)
@@ -644,6 +644,7 @@ static int __add_pkg_filter(uid_t uid)
        int val = -1;
        int count = 0;
        pkgmgrinfo_pkginfo_filter_h handle;
+
        ret = pkgmgrinfo_pkginfo_filter_create(&handle);
        if (ret > 0) {
                printf("pkginfo filter handle create failed\n");