4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
7 * Jaeho Lee <jaeho81.lee@samsung.com>, Shobhit Srivastava <shobhit.s@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
29 #include <sys/types.h>
31 #include <pkgmgr_parser.h>
32 #include <pkgmgr-info.h>
33 #include "package-manager.h"
34 #include "package-manager-types.h"
35 #include "pkgmgr-dbinfo.h"
36 #include "pkgmgr_installer.h"
39 static void __print_usage();
40 static int __get_pkg_info(char *pkgid);
41 static int __get_app_info(char *appid);
42 static int __get_app_list(char *pkgid);
43 static int __get_app_category_list(char *appid);
44 static int __get_app_metadata_list(char *appid);
45 static int __get_app_control_list(char *appid);
46 static int __get_app_visibility(char *appid);
47 static int __set_app_visibility(char *appid);
48 static int __get_pkg_list(void);
49 static int __get_installed_app_list();
50 static int __add_app_filter(void);
51 static int __add_pkg_filter(void);
52 static int __insert_manifest_in_db(char *manifest);
53 static int __remove_manifest_from_db(char *manifest);
54 static int __set_pkginfo_in_db(char *pkgid);
55 static int __set_certinfo_in_db(char *pkgid);
56 static int __get_certinfo_from_db(char *pkgid);
57 static int __del_certinfo_from_db(char *pkgid);
58 static int __get_integer_input_data(void);
59 char *__get_string_input_data(void);
60 static int __pkg_list_cb (const pkgmgr_pkginfo_h handle, void *user_data);
61 static int __app_category_list_cb(const char *category_name, void *user_data);
62 static int __app_control_list_cb(pkgmgrinfo_appcontrol_h handle, void *user_data);
63 static int __app_metadata_list_cb(const char *metadata_name, const char *metadata_value, void *user_data);
64 int app_func(const pkgmgr_appinfo_h handle, void *user_data);
66 int __get_app_id(const pkgmgrinfo_appinfo_h handle, void *user_data)
72 ret = pkgmgrinfo_appinfo_get_appid(handle, &appid);
74 printf("Failed to get appid\n");
77 ret = pkgmgrinfo_appinfo_get_apptype(handle, &apptype);
79 printf("Failed to get package\n");
81 printf("apptype [%s]\t appid [%s]\n", apptype, appid);
86 static int __get_integer_input_data(void)
88 char input_str[32] = { 0, };
91 if (fgets(input_str, sizeof(input_str), stdin) == NULL) {
92 printf("fgets() failed....\n");
96 if (sscanf(input_str, "%4d", &data) != 1) {
97 printf("Input only integer option....\n");
105 char *__get_string_input_data(void)
107 char *data = (char *)malloc(1024);
109 printf("Malloc Failed\n");
112 if (fgets(data,1024,stdin) == NULL){
113 printf("Buffer overflow!!! try again\n");
116 data[strlen(data) - 1] = '\0';
120 static void __print_usage()
122 printf("For Getting package|App Info\n");
123 printf("\tpkginfo --[pkg|app] <pkgid|appid>\n\n");
124 printf("For Getting list of installed packages\n");
125 printf("\tpkginfo --listpkg \n\n");
126 printf("For Getting list of installed applications\n");
127 printf("\tpkginfo --listapp \n\n");
128 printf("For Getting app list for a particular package\n");
129 printf("\tpkginfo --list <pkgid>\n\n");
130 printf("For Getting app category list for a particular application\n");
131 printf("\tpkginfo --category <appid>\n\n");
132 printf("For Getting app metadata list for a particular application\n");
133 printf("\tpkginfo --metadata <appid>\n\n");
134 printf("For Getting app control list for a particular application\n");
135 printf("\tpkginfo --appcontrol <appid>\n\n");
136 printf("To insert|remove manifest info in DB\n");
137 printf("\tpkginfo --[imd|rmd] <manifest file name>\n\n");
138 printf("To set pkginfo in DB\n");
139 printf("\tpkginfo --setdb <pkgid>\n\n");
140 printf("To set manifest validation\n");
141 printf("\tpkginfo --check <manifest file name>\n\n");
142 printf("To set cert info in DB\n");
143 printf("\tpkginfo --setcert <pkgid>\n\n");
144 printf("To get cert info from DB\n");
145 printf("\tpkginfo --getcert <pkgid>\n\n");
146 printf("To compare pkg cert info from DB\n");
147 printf("\tpkginfo --cmp-pkgcert <lhs_pkgid> <rhs_pkgid>\n\n");
148 printf("To compare app cert info from DB\n");
149 printf("\tpkginfo --cmp-appcert <lhs_appid> <rhs_appid>\n\n");
150 printf("To delete all cert info from DB\n");
151 printf("\tpkginfo --delcert <pkgid>\n\n");
152 printf("To add application filter values [Multiple values can be added]\n");
153 printf("\tpkginfo --app-flt\n\n");
154 printf("To add package filter values [Multiple values can be added]\n");
155 printf("\tpkginfo --pkg-flt\n\n");
156 printf("To add metadata filter values\n");
157 printf("\tpkginfo --metadata-flt\n\n");
158 printf("To get guest mode visibility of a particular application\n");
159 printf("\tpkginfo --getvisibility <appid>\n\n");
160 printf("To set guest mode visibility of a particular application\n");
161 printf("\tpkginfo --setvisibility <appid>\n\n");
164 static void __print_arg_filter_usage()
166 printf("=========================================\n");
167 printf("pkginfo --arg-flt key value\n");
168 printf("ex : pkginfo --arg-flt 6 webapp\n");
169 printf("key list is bellowed\n");
170 printf("2 --> filter by app ID\n");
171 printf("3 --> filter by app component\n");
172 printf("4 --> filter by app exec\n");
173 printf("5 --> filter by app icon\n");
174 printf("6 --> filter by app type\n");
175 printf("7 --> filter by app operation\n");
176 printf("8 --> filter by app uri\n");
177 printf("9 --> filter by app mime\n");
178 printf("10 --> filter by app category\n");
179 printf("11 --> filter by app nodisplay [0|1]\n");
180 printf("12 --> filter by app multiple [0|1]\n");
181 printf("13 --> filter by app onboot [0|1]\n");
182 printf("14 --> filter by app autorestart [0|1]\n");
183 printf("15 --> filter by app taskmanage [0|1]\n");
184 printf("16 --> filter by app hwacceleration\n");
185 printf("=========================================\n");
188 static int __app_list_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
191 pkgmgrinfo_appinfo_get_appid(handle, &appid);
192 printf("appid : %s\n", appid);
196 static int __add_metadata_filter()
199 pkgmgrinfo_appinfo_metadata_filter_h handle;
203 ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
204 if (ret != PMINFO_R_OK){
205 printf("pkgmgrinfo_appinfo_metadata_filter_create() failed\n");
209 printf("enter metadata - key\n");
210 key = __get_string_input_data();
211 printf("enter metadata - value\n");
212 value = __get_string_input_data();
213 if(strlen(value) == 0)
216 printf("filter condition : key=[%s], value=[%s]\n", key, value);
218 ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, key, value);
219 if (ret != PMINFO_R_OK){
220 printf("pkgmgrinfo_appinfo_metadata_filter_add() failed\n");
224 ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, __app_list_cb, NULL);
225 if (ret != PMINFO_R_OK){
226 printf("pkgmgrinfo_appinfo_metadata_filter_add() failed\n");
231 pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
243 static int __add_app_filter()
250 pkgmgrinfo_appinfo_filter_h handle;
251 ret = pkgmgrinfo_appinfo_filter_create(&handle);
253 printf("appinfo filter handle create failed\n");
256 while (choice != 0 && choice != 1)
258 printf("Enter Choice\n");
259 printf("0 --> Finalize filter and get count of apps\n");
260 printf("1 --> Finalize filter and get list of apps\n");
261 printf("2 --> filter by app ID\n");
262 printf("3 --> filter by app component\n");
263 printf("4 --> filter by app exec\n");
264 printf("5 --> filter by app icon\n");
265 printf("6 --> filter by app type\n");
266 printf("7 --> filter by app operation\n");
267 printf("8 --> filter by app uri\n");
268 printf("9 --> filter by app mime\n");
269 printf("10 --> filter by app category\n");
270 printf("11 --> filter by app nodisplay [0|1]\n");
271 printf("12 --> filter by app multiple [0|1]\n");
272 printf("13 --> filter by app onboot [0|1]\n");
273 printf("14 --> filter by app autorestart [0|1]\n");
274 printf("15 --> filter by app taskmanage [0|1]\n");
275 printf("16 --> filter by app hwacceleration\n");
276 choice = __get_integer_input_data();
279 ret = pkgmgrinfo_appinfo_filter_count(handle, &count);
281 printf("pkgmgrinfo_appinfo_filter_count() failed\n");
285 printf("App count = %d\n", count);
288 ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, app_func, NULL);
290 printf("pkgmgrinfo_appinfo_filter_foreach_appinfo() failed\n");
296 value = __get_string_input_data();
297 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
298 PMINFO_APPINFO_PROP_APP_ID, value);
300 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
308 value = __get_string_input_data();
309 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
310 PMINFO_APPINFO_PROP_APP_COMPONENT, value);
312 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
320 value = __get_string_input_data();
321 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
322 PMINFO_APPINFO_PROP_APP_EXEC, value);
324 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
332 value = __get_string_input_data();
333 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
334 PMINFO_APPINFO_PROP_APP_ICON, value);
336 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
344 value = __get_string_input_data();
345 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
346 PMINFO_APPINFO_PROP_APP_TYPE, value);
348 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
356 value = __get_string_input_data();
357 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
358 PMINFO_APPINFO_PROP_APP_OPERATION, value);
360 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
368 value = __get_string_input_data();
369 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
370 PMINFO_APPINFO_PROP_APP_URI, value);
372 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
380 value = __get_string_input_data();
381 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
382 PMINFO_APPINFO_PROP_APP_MIME, value);
384 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
392 value = __get_string_input_data();
393 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
394 PMINFO_APPINFO_PROP_APP_CATEGORY, value);
396 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
404 val = __get_integer_input_data();
405 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
406 PMINFO_APPINFO_PROP_APP_NODISPLAY, val);
408 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
414 val = __get_integer_input_data();
415 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
416 PMINFO_APPINFO_PROP_APP_MULTIPLE, val);
418 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
424 val = __get_integer_input_data();
425 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
426 PMINFO_APPINFO_PROP_APP_ONBOOT, val);
428 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
434 val = __get_integer_input_data();
435 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
436 PMINFO_APPINFO_PROP_APP_AUTORESTART, val);
438 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
444 val = __get_integer_input_data();
445 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
446 PMINFO_APPINFO_PROP_APP_TASKMANAGE, val);
448 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
454 value = __get_string_input_data();
455 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
456 PMINFO_APPINFO_PROP_APP_HWACCELERATION, value);
458 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
466 printf("Invalid filter property\n");
467 pkgmgrinfo_appinfo_filter_destroy(handle);
474 pkgmgrinfo_appinfo_filter_destroy(handle);
482 static int __add_pkg_filter()
489 pkgmgrinfo_pkginfo_filter_h handle;
490 ret = pkgmgrinfo_pkginfo_filter_create(&handle);
492 printf("pkginfo filter handle create failed\n");
495 while (choice != 0 && choice !=1)
497 printf("Enter Choice\n");
498 printf("0 --> Finalize filter and get count of packages\n");
499 printf("1 --> Finalize filter and get list of packages\n");
500 printf("2 --> filter by package ID\n");
501 printf("3 --> filter by package version\n");
502 printf("4 --> filter by package type\n");
503 printf("5 --> filter by package install location\n");
504 printf("6 --> filter by author name\n");
505 printf("7 --> filter by author email\n");
506 printf("8 --> filter by author href\n");
507 printf("9 --> filter by package removable [0|1]\n");
508 printf("10 --> filter by package readonly [0|1]\n");
509 printf("11 --> filter by package preload [0|1]\n");
510 printf("12 --> filter by package update [0|1]\n");
511 printf("13 --> filter by package appsetting [0|1]\n");
512 printf("14 --> filter by package size\n");
513 printf("15 --> filter by package installed storage[installed_internal | installed_external]\n");
514 choice = __get_integer_input_data();
517 ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
519 printf("pkgmgrinfo_pkginfo_filter_count() failed\n");
523 printf("Package count = %d\n", count);
526 ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkg_list_cb, NULL);
528 printf("pkgmgrinfo_pkginfo_filter_foreach_pkginfo() failed\n");
534 value = __get_string_input_data();
535 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
536 PMINFO_PKGINFO_PROP_PACKAGE_ID, value);
538 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
546 value = __get_string_input_data();
547 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
548 PMINFO_PKGINFO_PROP_PACKAGE_VERSION, value);
550 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
558 value = __get_string_input_data();
559 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
560 PMINFO_PKGINFO_PROP_PACKAGE_TYPE, value);
562 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
570 value = __get_string_input_data();
571 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
572 PMINFO_PKGINFO_PROP_PACKAGE_INSTALL_LOCATION, value);
574 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
582 value = __get_string_input_data();
583 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
584 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_NAME, value);
586 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
594 value = __get_string_input_data();
595 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
596 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_EMAIL, value);
598 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
606 value = __get_string_input_data();
607 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
608 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF, value);
610 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
618 val = __get_integer_input_data();
619 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
620 PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE, val);
622 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
628 val = __get_integer_input_data();
629 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
630 PMINFO_PKGINFO_PROP_PACKAGE_READONLY, val);
632 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
638 val = __get_integer_input_data();
639 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
640 PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD, val);
642 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
648 val = __get_integer_input_data();
649 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
650 PMINFO_PKGINFO_PROP_PACKAGE_UPDATE, val);
652 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
658 val = __get_integer_input_data();
659 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
660 PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING, val);
662 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
668 val = __get_integer_input_data();
669 ret = pkgmgrinfo_pkginfo_filter_add_int(handle,
670 PMINFO_PKGINFO_PROP_PACKAGE_SIZE, val);
672 printf("pkgmgrinfo_pkginfo_filter_add_int() failed\n");
678 value = __get_string_input_data();
679 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
680 PMINFO_PKGINFO_PROP_PACKAGE_INSTALLED_STORAGE, value);
682 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
690 printf("Invalid filter property\n");
691 pkgmgrinfo_pkginfo_filter_destroy(handle);
698 pkgmgrinfo_pkginfo_filter_destroy(handle);
706 static int __add_arg_filter(char *key, char *value)
712 pkgmgrinfo_appinfo_filter_h handle;
713 ret = pkgmgrinfo_appinfo_filter_create(&handle);
715 printf("appinfo filter handle create failed\n");
722 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_ID, value);
724 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
730 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_COMPONENT, value);
732 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
738 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_EXEC, value);
740 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
746 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_ICON, value);
748 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
754 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_TYPE, value);
756 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
762 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_OPERATION, value);
764 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
770 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_URI, value);
772 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
778 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_MIME, value);
780 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
788 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_CATEGORY, value);
790 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
797 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_NODISPLAY, val);
799 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
806 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_MULTIPLE, val);
808 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
815 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_ONBOOT, val);
817 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
824 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_AUTORESTART, val);
826 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
833 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_TASKMANAGE, val);
835 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
841 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_HWACCELERATION, value);
843 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
849 __print_arg_filter_usage();
853 ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, __get_app_id, NULL);
855 printf("pkgmgrinfo_appinfo_filter_foreach_appinfo() failed\n");
861 pkgmgrinfo_appinfo_filter_destroy(handle);
864 static int __del_certinfo_from_db(char *pkgid)
868 printf("pkgid is NULL\n");
871 ret = pkgmgr_installer_delete_certinfo(pkgid);
873 printf("pkgmgr_installer_delete_certinfo failed\n");
879 static int __get_certinfo_from_db(char *pkgid)
882 printf("pkgid is NULL\n");
888 const char *value = NULL;
889 pkgmgr_certinfo_h handle = NULL;
890 ret = pkgmgr_pkginfo_create_certinfo(&handle);
892 printf("pkgmgr_pkginfo_create_certinfo failed\n");
895 ret = pkgmgr_pkginfo_load_certinfo(pkgid, handle);
897 printf("pkgmgr_pkginfo_load_certinfo failed\n");
902 printf("Enter the choice to get\n");
903 printf("0 --> to get all cert values\n");
904 printf("1 --> author root certificate\n");
905 printf("2 --> author intermediate certificate\n");
906 printf("3 --> author signer certificate\n");
907 printf("4 --> distributor root certificate\n");
908 printf("5 --> distributor intermediate certificate\n");
909 printf("6 --> distributor signer certificate\n");
910 printf("7 --> distributor2 root certificate\n");
911 printf("8 --> distributor2 intermediate certificate\n");
912 printf("9 --> distributor2 signer certificate\n");
913 printf("10 --> exit\n");
914 choice = __get_integer_input_data();
917 for (i = 0; i < 9; i++)
919 pkgmgr_pkginfo_get_cert_value(handle, i, &value);
921 printf("cert type[%d] value = %s\n", i, value);
923 ret = pkgmgr_pkginfo_destroy_certinfo(handle);
925 printf("pkgmgr_pkginfo_destroy_certinfo failed\n");
938 ret = pkgmgr_pkginfo_get_cert_value(handle, choice - 1, &value);
940 printf("cert type[%d] value = %s\n", choice - 1, value);
943 ret = pkgmgr_pkginfo_destroy_certinfo(handle);
945 printf("pkgmgr_pkginfo_destroy_certinfo failed\n");
950 printf("Invalid choice entered\n");
956 static int __compare_pkg_certinfo_from_db(char *lhs_pkgid, char *rhs_pkgid)
958 if (lhs_pkgid == NULL || rhs_pkgid == NULL) {
959 printf("pkgid is NULL\n");
964 pkgmgrinfo_cert_compare_result_type_e result;
965 ret = pkgmgrinfo_pkginfo_compare_pkg_cert_info(lhs_pkgid, rhs_pkgid, &result);
966 if (ret != PMINFO_R_OK) {
970 printf("Compare [match=0, mismatch=1, lhs_no=2, rhs_no=3, both_no=4]\n");
971 printf("pkgid =[%s] and [%s] compare result = [%d] \n", lhs_pkgid, rhs_pkgid, result);
975 static int __compare_app_certinfo_from_db(char *lhs_appid, char *rhs_appid)
977 if (lhs_appid == NULL || rhs_appid == NULL) {
978 printf("appid is NULL\n");
983 pkgmgrinfo_cert_compare_result_type_e result;
984 ret = pkgmgrinfo_pkginfo_compare_app_cert_info(lhs_appid, rhs_appid, &result);
985 if (ret != PMINFO_R_OK) {
989 printf("Compare [match=0, mismatch=1, lhs_no=2, rhs_no=3, both_no=4]\n");
990 printf("appid =[%s] and [%s] compare result = [%d] \n", lhs_appid, rhs_appid, result);
994 static int __set_certinfo_in_db(char *pkgid)
997 printf("pkgid is NULL\n");
1003 pkgmgr_instcertinfo_h handle = NULL;
1004 ret = pkgmgr_installer_create_certinfo_set_handle(&handle);
1006 printf("pkgmgr_installer_create_certinfo_set_handle failed\n");
1011 printf("Enter the choice you want to set\n");
1012 printf("0 --> to set data in DB\n");
1013 printf("1 --> author root certificate\n");
1014 printf("2 --> author intermediate certificate\n");
1015 printf("3 --> author signer certificate\n");
1016 printf("4 --> distributor root certificate\n");
1017 printf("5 --> distributor intermediate certificate\n");
1018 printf("6 --> distributor signer certificate\n");
1019 printf("7 --> distributor2 root certificate\n");
1020 printf("8 --> distributor2 intermediate certificate\n");
1021 printf("9 --> distributor2 signer certificate\n");
1022 choice = __get_integer_input_data();
1025 ret = pkgmgr_installer_save_certinfo(pkgid, handle);
1027 printf("pkgmgr_installer_save_certinfo failed\n");
1028 pkgmgr_installer_destroy_certinfo_set_handle(handle);
1031 ret = pkgmgr_installer_destroy_certinfo_set_handle(handle);
1033 printf("pkgmgr_installer_destroy_certinfo_set_handle failed\n");
1038 printf("Enter Author Root Certificate Value: \n");
1039 value = __get_string_input_data();
1040 ret = pkgmgr_installer_set_cert_value(handle, 0, value);
1042 printf("pkgmgr_installer_set_cert_value failed\n");
1050 printf("Enter Author Intermediate Certificate Value: \n");
1051 value = __get_string_input_data();
1052 ret = pkgmgr_installer_set_cert_value(handle, 1, value);
1054 printf("pkgmgr_installer_set_cert_value failed\n");
1062 printf("Enter Author Signer Certificate Value: \n");
1063 value = __get_string_input_data();
1064 ret = pkgmgr_installer_set_cert_value(handle, 2, value);
1066 printf("pkgmgr_installer_set_cert_value failed\n");
1074 printf("Enter Distributor Root Certificate Value: \n");
1075 value = __get_string_input_data();
1076 ret = pkgmgr_installer_set_cert_value(handle, 3, value);
1078 printf("pkgmgr_installer_set_cert_value failed\n");
1086 printf("Enter Distributor Intermediate Certificate Value: \n");
1087 value = __get_string_input_data();
1088 ret = pkgmgr_installer_set_cert_value(handle, 4, value);
1090 printf("pkgmgr_installer_set_cert_value failed\n");
1098 printf("Enter Distributor Signer Certificate Value: \n");
1099 value = __get_string_input_data();
1100 ret = pkgmgr_installer_set_cert_value(handle, 5, value);
1102 printf("pkgmgr_installer_set_cert_value failed\n");
1110 printf("Enter Distributor2 Root Certificate Value: \n");
1111 value = __get_string_input_data();
1112 ret = pkgmgr_installer_set_cert_value(handle, 6, value);
1114 printf("pkgmgr_installer_set_cert_value failed\n");
1122 printf("Enter Distributor2 Intermediate Certificate Value: \n");
1123 value = __get_string_input_data();
1124 ret = pkgmgr_installer_set_cert_value(handle, 7, value);
1126 printf("pkgmgr_installer_set_cert_value failed\n");
1134 printf("Enter Distributor2 Signer Certificate Value: \n");
1135 value = __get_string_input_data();
1136 ret = pkgmgr_installer_set_cert_value(handle, 8, value);
1138 printf("pkgmgr_installer_set_cert_value failed\n");
1146 printf("Invalid Number Entered\n");
1148 ret = pkgmgr_installer_destroy_certinfo_set_handle(handle);
1150 printf("pkgmgr_installer_destroy_certinfo_set_handle failed\n");
1161 pkgmgr_installer_destroy_certinfo_set_handle(handle);
1165 static int __set_pkginfo_in_db(char *pkgid)
1167 if (pkgid == NULL) {
1168 printf("pkgid is NULL\n");
1176 char *locale = NULL;
1177 pkgmgr_pkgdbinfo_h handle = NULL;
1178 INSTALL_LOCATION storage = 0;
1180 ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
1182 printf("pkgmgrinfo_create_pkgdbinfo failed\n");
1187 printf("Enter the choice you want to set\n");
1188 printf("0 --> to set data in DB\n");
1189 printf("1 --> pkg type\n");
1190 printf("2 --> pkg version\n");
1191 printf("3 --> pkg instal location\n");
1192 printf("4 --> pkg label\n");
1193 printf("5 --> pkg icon\n");
1194 printf("6 --> pkg description\n");
1195 printf("7 --> pkg author\n");
1196 printf("8 --> pkg removable\n");
1197 printf("9 --> pkg preload\n");
1198 printf("10 --> pkg size\n");
1199 printf("11 --> pkg installed storage\n");
1200 choice = __get_integer_input_data();
1203 ret = pkgmgrinfo_save_pkgdbinfo(handle);
1205 printf("pkgmgrinfo_save_pkgdbinfo failed\n");
1206 pkgmgrinfo_destroy_pkgdbinfo(handle);
1209 ret = pkgmgrinfo_destroy_pkgdbinfo(handle);
1211 printf("pkgmgrinfo_destroy_pkgdbinfo failed\n");
1216 printf("Enter type: \n");
1217 char *type = __get_string_input_data();
1218 ret = pkgmgrinfo_set_type_to_pkgdbinfo(handle, type);
1220 printf("pkgmgrinfo_set_type_to_pkgdbinfo failed\n");
1221 pkgmgrinfo_destroy_pkgdbinfo(handle);
1228 printf("Enter version: \n");
1229 char *version = __get_string_input_data();
1230 ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, version);
1232 printf("pkgmgrinfo_set_version_to_pkgdbinfo failed\n");
1233 pkgmgrinfo_destroy_pkgdbinfo(handle);
1240 printf("Enter install location [0:internal | 1:external]: \n");
1241 location = __get_integer_input_data();
1242 ret = pkgmgrinfo_set_install_location_to_pkgdbinfo(handle, location);
1244 printf("pkgmgrinfo_set_install_location_to_pkgdbinfo failed\n");
1245 pkgmgrinfo_destroy_pkgdbinfo(handle);
1250 printf("Enter label :\n");
1251 char *label = __get_string_input_data();
1252 printf("Enter locale ['def' for default]: \n");
1253 locale = __get_string_input_data();
1254 if (strcmp(locale, "def") == 0)
1255 ret = pkgmgrinfo_set_label_to_pkgdbinfo(handle, label, NULL);
1257 ret = pkgmgrinfo_set_label_to_pkgdbinfo(handle, label, locale);
1259 printf("pkgmgrinfo_set_label_to_pkgdbinfo failed\n");
1260 pkgmgrinfo_destroy_pkgdbinfo(handle);
1269 printf("Enter icon: \n");
1270 char *icon = __get_string_input_data();
1271 printf("Enter locale ['def' for default]: \n");
1272 locale = __get_string_input_data();
1273 if (strcmp(locale, "def") == 0)
1274 ret = pkgmgrinfo_set_icon_to_pkgdbinfo(handle, icon, NULL);
1276 ret = pkgmgrinfo_set_icon_to_pkgdbinfo(handle, icon, locale);
1278 printf("pkgmgrinfo_set_icon_to_pkgdbinfo failed\n");
1279 pkgmgrinfo_destroy_pkgdbinfo(handle);
1288 printf("Enter description: \n");
1289 char *description = __get_string_input_data();
1290 printf("Enter locale ['def' for default]: \n");
1291 locale = __get_string_input_data();
1292 if (strcmp(locale, "def") == 0)
1293 ret = pkgmgrinfo_set_description_to_pkgdbinfo(handle, description, NULL);
1295 ret = pkgmgrinfo_set_description_to_pkgdbinfo(handle, description, locale);
1297 printf("pkgmgrinfo_set_description_to_pkgdbinfo failed\n");
1298 pkgmgrinfo_destroy_pkgdbinfo(handle);
1307 printf("Enter author name: \n");
1308 char *author_name = __get_string_input_data();
1309 printf("Enter locale ['def' for default]: \n");
1310 locale = __get_string_input_data();
1311 printf("Enter author email: \n");
1312 char *author_email = __get_string_input_data();
1313 printf("Enter author href: \n");
1314 char *author_href = __get_string_input_data();
1315 if (strcmp(locale, "def") == 0)
1316 ret = pkgmgrinfo_set_author_to_pkgdbinfo(handle, author_name, author_email, author_href, NULL);
1318 ret = pkgmgrinfo_set_author_to_pkgdbinfo(handle, author_name, author_email, author_href, locale);
1320 printf("pkgmgrinfo_set_author_to_pkgdbinfo failed\n");
1321 pkgmgrinfo_destroy_pkgdbinfo(handle);
1334 printf("Enter removable [0:false | 1:true]: \n");
1335 removable = __get_integer_input_data();
1336 ret = pkgmgrinfo_set_removable_to_pkgdbinfo(handle, removable);
1338 printf("pkgmgrinfo_set_removable_to_pkgdbinfo failed\n");
1339 pkgmgrinfo_destroy_pkgdbinfo(handle);
1344 printf("Enter preload [0:false | 1:true]: \n");
1345 preload = __get_integer_input_data();
1346 ret = pkgmgrinfo_set_preload_to_pkgdbinfo(handle, preload);
1348 printf("pkgmgrinfo_set_preload_to_pkgdbinfo failed\n");
1349 pkgmgrinfo_destroy_pkgdbinfo(handle);
1354 printf("Enter size in MB \n");
1355 char *size = __get_string_input_data();
1356 ret = pkgmgrinfo_set_size_to_pkgdbinfo(handle, size);
1358 printf("pkgmgrinfo_set_size_to_pkgdbinfo failed\n");
1359 pkgmgrinfo_destroy_pkgdbinfo(handle);
1366 printf("Enter insatlled storage [ 0:INTERNAL | 1:EXTERNAL ] \n");
1367 storage = __get_integer_input_data();
1368 ret = pkgmgrinfo_set_installed_storage_to_pkgdbinfo(handle, storage);
1370 printf("pkgmgrinfo_set_installed_storage_to_pkgdbinfo failed\n");
1371 pkgmgrinfo_destroy_pkgdbinfo(handle);
1376 printf("Invalid number entered\n");
1383 static int __insert_manifest_in_db(char *manifest)
1386 if (manifest == NULL) {
1387 printf("Manifest file is NULL\n");
1390 ret = pkgmgr_parser_parse_manifest_for_installation(manifest, NULL);
1392 printf("insert in db failed\n");
1398 static int __remove_manifest_from_db(char *manifest)
1401 if (manifest == NULL) {
1402 printf("Manifest file is NULL\n");
1405 ret = pkgmgr_parser_parse_manifest_for_uninstallation(manifest, NULL);
1407 printf("remove from db failed\n");
1413 int app_func(const pkgmgr_appinfo_h handle, void *user_data)
1418 data = (char *)user_data;
1424 pkgmgr_app_component component = 0;
1425 char *apptype = NULL;
1428 bool taskmanage = 0;
1429 pkgmgr_hwacceleration_type hwacceleration;
1431 bool autorestart = 0;
1432 char *package = NULL;
1434 ret = pkgmgr_appinfo_get_appid(handle, &appid);
1436 printf("Failed to get appid\n");
1439 printf("Appid: %s\n", appid);
1441 ret = pkgmgr_appinfo_get_pkgid(handle, &package);
1443 printf("Failed to get package\n");
1446 printf("Package: %s\n", package);
1448 ret = pkgmgr_appinfo_get_exec(handle, &exec);
1450 printf("Failed to get exec\n");
1453 printf("Exec: %s\n", exec);
1455 ret = pkgmgr_appinfo_get_icon(handle, &icon);
1457 printf("Failed to get icon\n");
1460 printf("Icon: %s\n", icon);
1462 ret = pkgmgr_appinfo_get_label(handle, &label);
1464 printf("Failed to get label\n");
1467 printf("Label: %s\n", label);
1469 ret = pkgmgr_appinfo_get_component(handle, &component);
1471 printf("Failed to get component\n");
1474 ret = pkgmgr_appinfo_get_apptype(handle, &apptype);
1476 printf("Failed to get apptype\n");
1479 printf("Apptype: %s\n", apptype);
1481 if (component == PM_UI_APP) {
1482 printf("component: uiapp\n");
1483 ret = pkgmgr_appinfo_is_multiple(handle, &multiple);
1485 printf("Failed to get multiple\n");
1487 printf("Multiple: %d\n", multiple);
1490 ret = pkgmgr_appinfo_is_nodisplay(handle, &nodisplay);
1492 printf("Failed to get nodisplay\n");
1494 printf("Nodisplay: %d \n", nodisplay);
1497 ret = pkgmgr_appinfo_is_taskmanage(handle, &taskmanage);
1499 printf("Failed to get taskmanage\n");
1501 printf("Taskmanage: %d\n", taskmanage);
1504 ret = pkgmgr_appinfo_get_hwacceleration(handle, &hwacceleration);
1506 printf("Failed to get hwacceleration\n");
1508 printf("hw-acceleration: %d\n", hwacceleration);
1512 if (component == PM_SVC_APP) {
1513 printf("component: svcapp\n");
1514 ret = pkgmgr_appinfo_is_onboot(handle, &onboot);
1516 printf("Failed to get onboot\n");
1518 printf("Onboot: %d\n", onboot);
1521 ret = pkgmgr_appinfo_is_autorestart(handle, &autorestart);
1523 printf("Failed to get autorestart\n");
1525 printf("Autorestart: %d \n", autorestart);
1529 printf("user_data : %s\n\n", data);
1535 static int __pkg_list_cb (const pkgmgr_pkginfo_h handle, void *user_data)
1537 char *test_data = "test data";
1543 int installed_time = -1;
1545 ret = pkgmgr_pkginfo_get_pkgid(handle, &pkgid);
1547 printf("pkgmgr_pkginfo_get_pkgid() failed\n");
1549 ret = pkgmgr_pkginfo_get_type(handle, &pkg_type);
1551 printf("pkgmgr_pkginfo_get_type() failed\n");
1553 ret = pkgmgr_pkginfo_get_version(handle, &pkg_version);
1555 printf("pkgmgr_pkginfo_get_version() failed\n");
1557 ret = pkgmgr_pkginfo_is_preload(handle, &preload);
1559 printf("pkgmgr_pkginfo_is_preload() failed\n");
1561 ret = pkgmgr_pkginfo_get_installed_time(handle, &installed_time);
1563 printf("pkgmgr_pkginfo_get_installed_time() failed\n");
1567 printf("---------------------------------------\n");
1568 printf("pkg_type [%s]\tpkgid [%s]\tversion [%s]\tpreload [%d]\tinstalled_time [%d]\n", pkg_type,
1569 pkgid, pkg_version, preload, installed_time);
1571 printf("**List of Ui-Apps**\n");
1572 ret = pkgmgr_appinfo_get_list(handle, PM_UI_APP, app_func, (void *)test_data);
1574 printf("pkgmgr_get_info_app() failed\n");
1576 printf("**List of Svc-Apps**\n");
1577 ret = pkgmgr_appinfo_get_list(handle, PM_SVC_APP, app_func, (void *)test_data);
1579 printf("pkgmgr_get_info_app() failed\n");
1582 printf("---------------------------------------\n");
1587 static int __get_pkg_list()
1590 ret = pkgmgr_pkginfo_get_list(__pkg_list_cb, NULL);
1592 printf("pkgmgr_pkginfo_get_list() failed\n");
1598 static int __get_installed_app_list()
1601 ret = pkgmgrinfo_appinfo_get_installed_list(app_func, NULL);
1603 printf("pkgmgrinfo_appinfo_get_installed_list() failed\n");
1610 static int __app_category_list_cb(const char *category_name, void *user_data)
1613 printf("Category: %s\n", category_name);
1617 static int __app_metadata_list_cb(const char *metadata_name, const char *metadata_value, void *user_data)
1619 if (metadata_name && metadata_value) {
1620 printf("Name: %s\n", metadata_name);
1621 printf("Value: %s\n", metadata_value);
1627 static int __app_control_list_cb(pkgmgrinfo_appcontrol_h handle, void *user_data)
1629 printf("-------------------------------------------------------\n");
1635 char **operation = NULL;
1638 ret = pkgmgrinfo_appinfo_get_operation(handle, &oc, &operation);
1640 printf("Get Operation Failed\n");
1643 ret = pkgmgrinfo_appinfo_get_uri(handle, &uc, &uri);
1645 printf("Get Uri Failed\n");
1648 ret = pkgmgrinfo_appinfo_get_mime(handle, &mc, &mime);
1650 printf("Get Mime Failed\n");
1653 for (i = 0; i < oc; i++) {
1654 if (operation && operation[i])
1655 printf("Operation: %s\n", operation[i]);
1657 for (i = 0; i < uc; i++) {
1659 printf("Uri: %s\n", uri[i]);
1661 for (i = 0; i < mc; i++) {
1662 if (mime && mime[i])
1663 printf("Mime: %s\n", mime[i]);
1665 printf("-------------------------------------------------------\n\n");
1670 static int __get_app_category_list(char *appid)
1673 pkgmgr_appinfo_h handle;
1674 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1676 printf("Failed to get handle\n");
1679 ret = pkgmgr_appinfo_foreach_category(handle, __app_category_list_cb, NULL);
1681 printf("pkgmgr_appinfo_foreach_category() failed\n");
1682 pkgmgr_appinfo_destroy_appinfo(handle);
1685 pkgmgr_appinfo_destroy_appinfo(handle);
1689 static int __get_app_metadata_list(char *appid)
1692 pkgmgr_appinfo_h handle;
1693 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1695 printf("Failed to get handle\n");
1698 ret = pkgmgrinfo_appinfo_foreach_metadata(handle, __app_metadata_list_cb, NULL);
1700 printf("pkgmgrinfo_appinfo_foreach_metadata() failed\n");
1701 pkgmgr_appinfo_destroy_appinfo(handle);
1704 pkgmgr_appinfo_destroy_appinfo(handle);
1708 static int __get_app_control_list(char *appid)
1711 pkgmgr_appinfo_h handle;
1712 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1714 printf("Failed to get handle\n");
1717 ret = pkgmgrinfo_appinfo_foreach_appcontrol(handle, __app_control_list_cb, NULL);
1719 printf("pkgmgrinfo_appinfo_foreach_appcontrol() failed\n");
1720 pkgmgr_appinfo_destroy_appinfo(handle);
1723 pkgmgr_appinfo_destroy_appinfo(handle);
1727 static int __get_app_visibility(char *appid)
1731 pkgmgr_appinfo_h handle;
1732 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1734 printf("Failed to get handle\n");
1737 ret = pkgmgrinfo_appinfo_is_guestmode_visibility(handle, &status);
1739 printf("pkgmgrinfo_appinfo_is_guestmode_visibility failed\n");
1740 pkgmgr_appinfo_destroy_appinfo(handle);
1743 pkgmgr_appinfo_destroy_appinfo(handle);
1744 printf("visibility Status is %d\n",status);
1748 static int __set_app_visibility(char *appid)
1752 pkgmgrinfo_appinfo_h handle;
1753 printf("Enter [0/1]: 0--Hide, 1-Show\n");
1754 value = __get_integer_input_data();
1755 ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
1756 if (ret != PMINFO_R_OK)
1758 ret = pkgmgrinfo_appinfo_set_guestmode_visibility(handle, value);
1759 if (ret != PMINFO_R_OK) {
1760 pkgmgrinfo_appinfo_destroy_appinfo(handle);
1763 pkgmgrinfo_appinfo_destroy_appinfo(handle);
1767 static int __set_app_enabled(char *appid, bool enabled)
1770 ret = pkgmgrinfo_appinfo_set_state_enabled(appid, enabled);
1772 printf("Failed to get handle\n");
1778 static int __get_app_list(char *pkgid)
1780 pkgmgr_pkginfo_h handle;
1782 char *test_data = "test data";
1783 ret = pkgmgr_pkginfo_get_pkginfo(pkgid, &handle);
1785 printf("Failed to get handle\n");
1788 printf("List of Ui-Apps\n\n");
1789 ret = pkgmgr_appinfo_get_list(handle, PM_UI_APP, app_func, (void *)test_data);
1791 printf("pkgmgr_appinfo_get_list() failed\n");
1793 printf("List of Svc-Apps\n\n");
1794 ret = pkgmgr_appinfo_get_list(handle, PM_SVC_APP, app_func, (void *)test_data);
1796 printf("pkgmgr_appinfo_get_list() failed\n");
1798 pkgmgr_pkginfo_destroy_pkginfo(handle);
1802 static int __get_pkg_info(char *pkgid)
1804 pkgmgr_pkginfo_h handle;
1807 char *version = NULL;
1808 char *author_name = NULL;
1809 char *author_email = NULL;
1810 char *author_href = NULL;
1811 pkgmgr_install_location location = 0;
1819 int installed_time = -1;
1821 printf("Get Pkg Info Called [%s]\n", pkgid);
1822 ret = pkgmgr_pkginfo_get_pkginfo(pkgid, &handle);
1824 printf("Failed to get handle\n");
1828 ret = pkgmgr_pkginfo_get_type(handle, &type);
1830 printf("Failed to get pkg type\n");
1833 printf("Type: %s\n", type);
1835 ret = pkgmgr_pkginfo_get_version(handle, &version);
1837 printf("Failed to get version\n");
1840 printf("Version: %s\n", version);
1842 ret = pkgmgr_pkginfo_get_install_location(handle, &location);
1844 printf("Failed to get install location\n");
1846 printf("Install Location: %d\n", location);
1848 ret = pkgmgr_pkginfo_get_package_size(handle, &size);
1850 printf("Failed to get package size \n");
1852 printf("Package Size: %d\n", size);
1854 ret = pkgmgr_pkginfo_get_icon(handle, &icon);
1856 printf("Failed to get icon\n");
1859 printf("Icon: %s\n", icon);
1861 ret = pkgmgr_pkginfo_get_label(handle, &label);
1863 printf("Failed to get label\n");
1866 printf("Label: %s\n", label);
1868 ret = pkgmgr_pkginfo_get_description(handle, &desc);
1870 printf("Failed to get description\n");
1873 printf("Description: %s\n", desc);
1875 ret = pkgmgr_pkginfo_get_author_name(handle, &author_name);
1877 printf("Failed to get author name\n");
1880 printf("Author Name: %s\n", author_name);
1882 ret = pkgmgr_pkginfo_get_author_email(handle, &author_email);
1884 printf("Failed to get author email\n");
1887 printf("Author Email: %s\n", author_email);
1889 ret = pkgmgr_pkginfo_get_author_href(handle, &author_href);
1891 printf("Failed to get author href\n");
1894 printf("Author Href: %s\n", author_href);
1896 ret = pkgmgr_pkginfo_is_removable(handle, &removable);
1898 printf("Failed to get removable\n");
1901 printf("Removable: %d\n", removable);
1903 ret = pkgmgr_pkginfo_is_preload(handle, &preload);
1905 printf("Failed to get preload\n");
1908 printf("Preload: %d\n", preload);
1910 ret = pkgmgr_pkginfo_is_readonly(handle, &readonly);
1912 printf("Failed to get readonly\n");
1915 printf("Readonly: %d\n", readonly);
1917 ret = pkgmgr_pkginfo_get_installed_time(handle, &installed_time);
1919 printf("Failed to get install time\n");
1921 printf("Install time: %d\n", installed_time);
1923 pkgmgr_pkginfo_destroy_pkginfo(handle);
1927 static int __get_app_info(char *appid)
1929 printf("Get App Info Called [%s]\n", appid);
1931 char *app_id = NULL;
1932 char *apptype = NULL;
1935 char *package = NULL;
1936 pkgmgr_app_component component = 0;
1939 bool taskmanage = 0;
1940 pkgmgr_hwacceleration_type hwacceleration;
1942 bool autorestart = 0;
1944 pkgmgr_appinfo_h handle;
1947 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1949 printf("Failed to get handle\n");
1953 ret = pkgmgr_appinfo_get_pkgid(handle, &package);
1955 printf("Failed to get package\n");
1958 ret = pkgmgr_appinfo_get_appid(handle, &app_id);
1960 printf("Failed to get exec\n");
1963 ret = pkgmgr_appinfo_get_label(handle, &label);
1965 printf("Failed to get label\n");
1967 ret = pkgmgr_appinfo_get_icon(handle, &icon);
1969 printf("Failed to get icon\n");
1972 ret = pkgmgr_appinfo_get_exec(handle, &exec);
1974 printf("Failed to get exec\n");
1976 ret = pkgmgr_appinfo_get_component(handle, &component);
1978 printf("Failed to get component\n");
1980 ret = pkgmgr_appinfo_get_apptype(handle, &apptype);
1982 printf("Failed to get apptype\n");
1984 ret = pkgmgr_appinfo_is_nodisplay(handle, &nodisplay);
1986 printf("Failed to get nodisplay\n");
1988 ret = pkgmgr_appinfo_is_multiple(handle, &multiple);
1990 printf("Failed to get multiple\n");
1992 ret = pkgmgr_appinfo_is_taskmanage(handle, &taskmanage);
1994 printf("Failed to get taskmanage\n");
1996 ret = pkgmgr_appinfo_get_hwacceleration(handle, &hwacceleration);
1998 printf("Failed to get hwacceleration\n");
2000 ret = pkgmgr_appinfo_is_onboot(handle, &onboot);
2002 printf("Failed to get onboot\n");
2004 ret = pkgmgr_appinfo_is_autorestart(handle, &autorestart);
2006 printf("Failed to get autorestart\n");
2008 ret = pkgmgrinfo_appinfo_is_enabled(handle, &enabled);
2010 printf("Failed to get enabled\n");
2014 printf("Appid: %s\n", app_id);
2017 printf("Package: %s\n", package);
2020 printf("Exec: %s\n", exec);
2022 printf("Apptype: %s\n", apptype);
2024 if (component == PM_UI_APP) {
2025 printf("component: uiapp\n");
2028 printf("Icon: %s\n", icon);
2030 printf("Label: %s\n", label);
2032 printf("Nodisplay: %d\n", nodisplay);
2033 printf("Multiple: %d\n", multiple);
2034 printf("Taskmanage: %d\n", taskmanage);
2035 printf("Hw-Acceleration: %d\n", hwacceleration);
2036 } else if (component == PM_SVC_APP) {
2037 printf("component: svcapp\n");
2040 printf("Icon: %s\n", icon);
2042 printf("Label: %s\n", label);
2044 printf("Autorestart: %d\n", autorestart);
2045 printf("Onboot: %d\n", onboot);
2047 printf("Invalid Component Type\n");
2050 printf("Enabled: %d\n", enabled);
2052 pkgmgr_appinfo_destroy_appinfo(handle);
2057 static int __check_manifest_validation(char *manifest)
2060 if (manifest == NULL) {
2061 printf("Manifest file is NULL\n");
2064 ret = pkgmgr_parser_check_manifest_validation(manifest);
2066 printf("check manifest validation failed\n");
2072 int main(int argc, char *argv[])
2075 char *locale = NULL;
2080 gettimeofday(&tv, NULL);
2081 starttime = tv.tv_sec * 1000l + tv.tv_usec / 1000l;
2083 locale = vconf_get_str(VCONFKEY_LANGSET);
2084 if (locale == NULL) {
2085 printf("locale is NULL\n");
2090 printf("Locale is %s\n", locale);
2096 if (strcmp(argv[1], "--listpkg") == 0) {
2097 ret = __get_pkg_list();
2099 printf("get pkg list failed\n");
2104 } else if (strcmp(argv[1], "--app-flt") == 0) {
2105 ret = __add_app_filter();
2107 printf("Adding app filter failed\n");
2112 } else if (strcmp(argv[1], "--pkg-flt") == 0) {
2113 ret = __add_pkg_filter();
2115 printf("Adding pkg filter failed\n");
2120 } else if (strcmp(argv[1], "--metadata-flt") == 0) {
2121 ret = __add_metadata_filter();
2123 printf("Adding pkg filter failed\n");
2128 } else if (strcmp(argv[1], "--listapp") == 0) {
2129 ret = __get_installed_app_list();
2131 printf("get installed app list failed\n");
2141 }else if (argc == 4) {
2142 if (strcmp(argv[1], "--setappenabled") == 0) {
2143 ret = __set_app_enabled(argv[2], (strcmp(argv[3], "0")==0)?false:true);
2145 printf("set app enabled failed\n");
2149 } else if(strcmp(argv[1], "--setpkgenabled") == 0) {
2150 ret = __set_app_enabled(argv[2], (strcmp(argv[3], "0")==0)?false:true);
2152 printf("set pkg enabled failed\n");
2156 } else if (strcmp(argv[1], "--cmp-pkgcert") == 0) {
2157 ret = __compare_pkg_certinfo_from_db(argv[2], argv[3]);
2159 printf("compare certinfo from db failed\n");
2163 } else if (strcmp(argv[1], "--cmp-appcert") == 0) {
2164 ret = __compare_app_certinfo_from_db(argv[2], argv[3]);
2166 printf("compare certinfo from db failed\n");
2170 } else if (strcmp(argv[1], "--arg-flt") == 0) {
2171 ret = __add_arg_filter(argv[2], argv[3]);
2173 printf("compare certinfo from db failed\n");
2189 if (!argv[1] || !argv[2]) {
2195 if (strcmp(argv[1], "--pkg") == 0) {
2196 ret = __get_pkg_info(argv[2]);
2198 printf("get pkg info failed\n");
2201 } else if (strcmp(argv[1], "--app") == 0) {
2202 ret = __get_app_info(argv[2]);
2204 printf("get app info failed\n");
2207 } else if (strcmp(argv[1], "--list") == 0) {
2208 ret = __get_app_list(argv[2]);
2210 printf("get app list failed\n");
2213 } else if (strcmp(argv[1], "--imd") == 0) {
2214 ret = __insert_manifest_in_db(argv[2]);
2216 printf("insert in db failed\n");
2219 } else if (strcmp(argv[1], "--rmd") == 0) {
2220 ret = __remove_manifest_from_db(argv[2]);
2222 printf("remove from db failed\n");
2225 } else if (strcmp(argv[1], "--setdb") == 0) {
2226 ret = __set_pkginfo_in_db(argv[2]);
2228 printf("set pkginfo in db failed\n");
2231 } else if (strcmp(argv[1], "--setcert") == 0) {
2232 ret = __set_certinfo_in_db(argv[2]);
2234 printf("set certinfo in db failed\n");
2237 } else if (strcmp(argv[1], "--getcert") == 0) {
2238 ret = __get_certinfo_from_db(argv[2]);
2240 printf("get certinfo from db failed\n");
2243 } else if (strcmp(argv[1], "--delcert") == 0) {
2244 ret = __del_certinfo_from_db(argv[2]);
2246 printf("del certinfo from db failed\n");
2249 } else if (strcmp(argv[1], "--check") == 0) {
2250 ret = __check_manifest_validation(argv[2]);
2252 printf("check manifest failed\n");
2255 } else if (strcmp(argv[1], "--category") == 0) {
2256 ret = __get_app_category_list(argv[2]);
2258 printf("get app category list failed\n");
2261 } else if (strcmp(argv[1], "--metadata") == 0) {
2262 ret = __get_app_metadata_list(argv[2]);
2264 printf("get app metadata list failed\n");
2267 } else if (strcmp(argv[1], "--appcontrol") == 0) {
2268 ret = __get_app_control_list(argv[2]);
2270 printf("get app control list failed\n");
2273 } else if (strcmp(argv[1], "--getvisibility") == 0) {
2274 ret = __get_app_visibility(argv[2]);
2276 printf("get app visibility failed\n");
2279 } else if (strcmp(argv[1], "--setvisibility") == 0) {
2280 ret = __set_app_visibility(argv[2]);
2282 printf("set app visibility failed\n");
2290 gettimeofday(&tv, NULL);
2291 endtime = tv.tv_sec * 1000l + tv.tv_usec / 1000l;
2293 printf("spend time for pkginfo is [%d]ms\n", (int)(endtime - starttime));