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 static int __get_integer_input_data(void)
68 char input_str[32] = { 0, };
71 if (fgets(input_str, sizeof(input_str), stdin) == NULL) {
72 printf("fgets() failed....\n");
76 if (sscanf(input_str, "%4d", &data) != 1) {
77 printf("Input only integer option....\n");
85 char *__get_string_input_data(void)
87 char *data = (char *)malloc(1024);
89 printf("Malloc Failed\n");
92 if (fgets(data,1024,stdin) == NULL){
93 printf("Buffer overflow!!! try again\n");
96 data[strlen(data) - 1] = '\0';
100 static void __print_usage()
102 printf("For Getting package|App Info\n");
103 printf("\tpkginfo --[pkg|app] <pkgid|appid>\n\n");
104 printf("For Getting list of installed packages\n");
105 printf("\tpkginfo --listpkg \n\n");
106 printf("For Getting list of installed applications\n");
107 printf("\tpkginfo --listapp \n\n");
108 printf("For Getting app list for a particular package\n");
109 printf("\tpkginfo --list <pkgid>\n\n");
110 printf("For Getting app category list for a particular application\n");
111 printf("\tpkginfo --category <appid>\n\n");
112 printf("For Getting app metadata list for a particular application\n");
113 printf("\tpkginfo --metadata <appid>\n\n");
114 printf("For Getting app control list for a particular application\n");
115 printf("\tpkginfo --appcontrol <appid>\n\n");
116 printf("To insert|remove manifest info in DB\n");
117 printf("\tpkginfo --[imd|rmd] <manifest file name>\n\n");
118 printf("To set pkginfo in DB\n");
119 printf("\tpkginfo --setdb <pkgid>\n\n");
120 printf("To set manifest validation\n");
121 printf("\tpkginfo --check <manifest file name>\n\n");
122 printf("To set cert info in DB\n");
123 printf("\tpkginfo --setcert <pkgid>\n\n");
124 printf("To get cert info from DB\n");
125 printf("\tpkginfo --getcert <pkgid>\n\n");
126 printf("To compare pkg cert info from DB\n");
127 printf("\tpkginfo --cmp-pkgcert <lhs_pkgid> <rhs_pkgid>\n\n");
128 printf("To compare app cert info from DB\n");
129 printf("\tpkginfo --cmp-appcert <lhs_appid> <rhs_appid>\n\n");
130 printf("To delete all cert info from DB\n");
131 printf("\tpkginfo --delcert <pkgid>\n\n");
132 printf("To add application filter values [Multiple values can be added]\n");
133 printf("\tpkginfo --app-flt\n\n");
134 printf("To add package filter values [Multiple values can be added]\n");
135 printf("\tpkginfo --pkg-flt\n\n");
136 printf("To add metadata filter values\n");
137 printf("\tpkginfo --metadata-flt\n\n");
138 printf("To get guest mode visibility of a particular application\n");
139 printf("\tpkginfo --getvisibility <appid>\n\n");
140 printf("To set guest mode visibility of a particular application\n");
141 printf("\tpkginfo --setvisibility <appid>\n\n");
144 static int __app_list_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
147 pkgmgrinfo_appinfo_get_appid(handle, &appid);
148 printf("appid : %s\n", appid);
152 static int __add_metadata_filter()
155 pkgmgrinfo_appinfo_metadata_filter_h handle;
159 ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
160 if (ret != PMINFO_R_OK){
161 printf("pkgmgrinfo_appinfo_metadata_filter_create() failed\n");
165 printf("enter metadata - key\n");
166 key = __get_string_input_data();
167 printf("enter metadata - value\n");
168 value = __get_string_input_data();
169 if(strlen(value) == 0)
172 printf("filter condition : key=[%s], value=[%s]\n", key, value);
174 ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, key, value);
175 if (ret != PMINFO_R_OK){
176 printf("pkgmgrinfo_appinfo_metadata_filter_add() failed\n");
180 ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, __app_list_cb, NULL);
181 if (ret != PMINFO_R_OK){
182 printf("pkgmgrinfo_appinfo_metadata_filter_add() failed\n");
187 pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
199 static int __add_app_filter()
206 pkgmgrinfo_appinfo_filter_h handle;
207 ret = pkgmgrinfo_appinfo_filter_create(&handle);
209 printf("appinfo filter handle create failed\n");
212 while (choice != 0 && choice != 1)
214 printf("Enter Choice\n");
215 printf("0 --> Finalize filter and get count of apps\n");
216 printf("1 --> Finalize filter and get list of apps\n");
217 printf("2 --> filter by app ID\n");
218 printf("3 --> filter by app component\n");
219 printf("4 --> filter by app exec\n");
220 printf("5 --> filter by app icon\n");
221 printf("6 --> filter by app type\n");
222 printf("7 --> filter by app operation\n");
223 printf("8 --> filter by app uri\n");
224 printf("9 --> filter by app mime\n");
225 printf("10 --> filter by app category\n");
226 printf("11 --> filter by app nodisplay [0|1]\n");
227 printf("12 --> filter by app multiple [0|1]\n");
228 printf("13 --> filter by app onboot [0|1]\n");
229 printf("14 --> filter by app autorestart [0|1]\n");
230 printf("15 --> filter by app taskmanage [0|1]\n");
231 printf("16 --> filter by app hwacceleration\n");
232 choice = __get_integer_input_data();
235 ret = pkgmgrinfo_appinfo_filter_count(handle, &count);
237 printf("pkgmgrinfo_appinfo_filter_count() failed\n");
241 printf("App count = %d\n", count);
244 ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, app_func, NULL);
246 printf("pkgmgrinfo_appinfo_filter_foreach_appinfo() failed\n");
252 value = __get_string_input_data();
253 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
254 PMINFO_APPINFO_PROP_APP_ID, value);
256 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
264 value = __get_string_input_data();
265 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
266 PMINFO_APPINFO_PROP_APP_COMPONENT, value);
268 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
276 value = __get_string_input_data();
277 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
278 PMINFO_APPINFO_PROP_APP_EXEC, value);
280 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
288 value = __get_string_input_data();
289 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
290 PMINFO_APPINFO_PROP_APP_ICON, value);
292 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
300 value = __get_string_input_data();
301 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
302 PMINFO_APPINFO_PROP_APP_TYPE, value);
304 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
312 value = __get_string_input_data();
313 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
314 PMINFO_APPINFO_PROP_APP_OPERATION, value);
316 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
324 value = __get_string_input_data();
325 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
326 PMINFO_APPINFO_PROP_APP_URI, value);
328 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
336 value = __get_string_input_data();
337 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
338 PMINFO_APPINFO_PROP_APP_MIME, value);
340 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
348 value = __get_string_input_data();
349 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
350 PMINFO_APPINFO_PROP_APP_CATEGORY, value);
352 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
360 val = __get_integer_input_data();
361 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
362 PMINFO_APPINFO_PROP_APP_NODISPLAY, val);
364 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
370 val = __get_integer_input_data();
371 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
372 PMINFO_APPINFO_PROP_APP_MULTIPLE, val);
374 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
380 val = __get_integer_input_data();
381 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
382 PMINFO_APPINFO_PROP_APP_ONBOOT, val);
384 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
390 val = __get_integer_input_data();
391 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
392 PMINFO_APPINFO_PROP_APP_AUTORESTART, val);
394 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
400 val = __get_integer_input_data();
401 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
402 PMINFO_APPINFO_PROP_APP_TASKMANAGE, val);
404 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
410 value = __get_string_input_data();
411 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
412 PMINFO_APPINFO_PROP_APP_HWACCELERATION, value);
414 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
422 printf("Invalid filter property\n");
423 pkgmgrinfo_appinfo_filter_destroy(handle);
430 pkgmgrinfo_appinfo_filter_destroy(handle);
438 static int __add_pkg_filter()
445 pkgmgrinfo_pkginfo_filter_h handle;
446 ret = pkgmgrinfo_pkginfo_filter_create(&handle);
448 printf("pkginfo filter handle create failed\n");
451 while (choice != 0 && choice !=1)
453 printf("Enter Choice\n");
454 printf("0 --> Finalize filter and get count of packages\n");
455 printf("1 --> Finalize filter and get list of packages\n");
456 printf("2 --> filter by package ID\n");
457 printf("3 --> filter by package version\n");
458 printf("4 --> filter by package type\n");
459 printf("5 --> filter by package install location\n");
460 printf("6 --> filter by author name\n");
461 printf("7 --> filter by author email\n");
462 printf("8 --> filter by author href\n");
463 printf("9 --> filter by package removable [0|1]\n");
464 printf("10 --> filter by package readonly [0|1]\n");
465 printf("11 --> filter by package preload [0|1]\n");
466 printf("12 --> filter by package update [0|1]\n");
467 printf("13 --> filter by package appsetting [0|1]\n");
468 printf("14 --> filter by package size\n");
469 printf("15 --> filter by package installed storage[installed_internal | installed_external]\n");
470 choice = __get_integer_input_data();
473 ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
475 printf("pkgmgrinfo_pkginfo_filter_count() failed\n");
479 printf("Package count = %d\n", count);
482 ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkg_list_cb, NULL);
484 printf("pkgmgrinfo_pkginfo_filter_foreach_pkginfo() failed\n");
490 value = __get_string_input_data();
491 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
492 PMINFO_PKGINFO_PROP_PACKAGE_ID, value);
494 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
502 value = __get_string_input_data();
503 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
504 PMINFO_PKGINFO_PROP_PACKAGE_VERSION, value);
506 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
514 value = __get_string_input_data();
515 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
516 PMINFO_PKGINFO_PROP_PACKAGE_TYPE, value);
518 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
526 value = __get_string_input_data();
527 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
528 PMINFO_PKGINFO_PROP_PACKAGE_INSTALL_LOCATION, value);
530 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
538 value = __get_string_input_data();
539 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
540 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_NAME, value);
542 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
550 value = __get_string_input_data();
551 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
552 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_EMAIL, value);
554 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
562 value = __get_string_input_data();
563 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
564 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF, value);
566 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
574 val = __get_integer_input_data();
575 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
576 PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE, val);
578 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
584 val = __get_integer_input_data();
585 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
586 PMINFO_PKGINFO_PROP_PACKAGE_READONLY, val);
588 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
594 val = __get_integer_input_data();
595 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
596 PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD, val);
598 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
604 val = __get_integer_input_data();
605 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
606 PMINFO_PKGINFO_PROP_PACKAGE_UPDATE, val);
608 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
614 val = __get_integer_input_data();
615 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
616 PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING, val);
618 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
624 val = __get_integer_input_data();
625 ret = pkgmgrinfo_pkginfo_filter_add_int(handle,
626 PMINFO_PKGINFO_PROP_PACKAGE_SIZE, val);
628 printf("pkgmgrinfo_pkginfo_filter_add_int() failed\n");
634 value = __get_string_input_data();
635 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
636 PMINFO_PKGINFO_PROP_PACKAGE_INSTALLED_STORAGE, value);
638 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
646 printf("Invalid filter property\n");
647 pkgmgrinfo_pkginfo_filter_destroy(handle);
654 pkgmgrinfo_pkginfo_filter_destroy(handle);
662 static int __del_certinfo_from_db(char *pkgid)
666 printf("pkgid is NULL\n");
669 ret = pkgmgr_installer_delete_certinfo(pkgid);
671 printf("pkgmgr_installer_delete_certinfo failed\n");
677 static int __get_certinfo_from_db(char *pkgid)
680 printf("pkgid is NULL\n");
686 const char *value = NULL;
687 pkgmgr_certinfo_h handle = NULL;
688 ret = pkgmgr_pkginfo_create_certinfo(&handle);
690 printf("pkgmgr_pkginfo_create_certinfo failed\n");
693 ret = pkgmgr_pkginfo_load_certinfo(pkgid, handle);
695 printf("pkgmgr_pkginfo_load_certinfo failed\n");
700 printf("Enter the choice to get\n");
701 printf("0 --> to get all cert values\n");
702 printf("1 --> author root certificate\n");
703 printf("2 --> author intermediate certificate\n");
704 printf("3 --> author signer certificate\n");
705 printf("4 --> distributor root certificate\n");
706 printf("5 --> distributor intermediate certificate\n");
707 printf("6 --> distributor signer certificate\n");
708 printf("7 --> distributor2 root certificate\n");
709 printf("8 --> distributor2 intermediate certificate\n");
710 printf("9 --> distributor2 signer certificate\n");
711 printf("10 --> exit\n");
712 choice = __get_integer_input_data();
715 for (i = 0; i < 9; i++)
717 pkgmgr_pkginfo_get_cert_value(handle, i, &value);
719 printf("cert type[%d] value = %s\n", i, value);
721 ret = pkgmgr_pkginfo_destroy_certinfo(handle);
723 printf("pkgmgr_pkginfo_destroy_certinfo failed\n");
736 ret = pkgmgr_pkginfo_get_cert_value(handle, choice - 1, &value);
738 printf("cert type[%d] value = %s\n", choice - 1, value);
741 ret = pkgmgr_pkginfo_destroy_certinfo(handle);
743 printf("pkgmgr_pkginfo_destroy_certinfo failed\n");
748 printf("Invalid choice entered\n");
754 static int __compare_pkg_certinfo_from_db(char *lhs_pkgid, char *rhs_pkgid)
756 if (lhs_pkgid == NULL || rhs_pkgid == NULL) {
757 printf("pkgid is NULL\n");
762 pkgmgrinfo_cert_compare_result_type_e result;
763 ret = pkgmgrinfo_pkginfo_compare_pkg_cert_info(lhs_pkgid, rhs_pkgid, &result);
764 if (ret != PMINFO_R_OK) {
768 printf("Compare [match=0, mismatch=1, lhs_no=2, rhs_no=3, both_no=4]\n");
769 printf("pkgid =[%s] and [%s] compare result = [%d] \n", lhs_pkgid, rhs_pkgid, result);
773 static int __compare_app_certinfo_from_db(char *lhs_appid, char *rhs_appid)
775 if (lhs_appid == NULL || rhs_appid == NULL) {
776 printf("appid is NULL\n");
781 pkgmgrinfo_cert_compare_result_type_e result;
782 ret = pkgmgrinfo_pkginfo_compare_app_cert_info(lhs_appid, rhs_appid, &result);
783 if (ret != PMINFO_R_OK) {
787 printf("Compare [match=0, mismatch=1, lhs_no=2, rhs_no=3, both_no=4]\n");
788 printf("appid =[%s] and [%s] compare result = [%d] \n", lhs_appid, rhs_appid, result);
792 static int __set_certinfo_in_db(char *pkgid)
795 printf("pkgid is NULL\n");
801 pkgmgr_instcertinfo_h handle = NULL;
802 ret = pkgmgr_installer_create_certinfo_set_handle(&handle);
804 printf("pkgmgr_installer_create_certinfo_set_handle failed\n");
809 printf("Enter the choice you want to set\n");
810 printf("0 --> to set data in DB\n");
811 printf("1 --> author root certificate\n");
812 printf("2 --> author intermediate certificate\n");
813 printf("3 --> author signer certificate\n");
814 printf("4 --> distributor root certificate\n");
815 printf("5 --> distributor intermediate certificate\n");
816 printf("6 --> distributor signer certificate\n");
817 printf("7 --> distributor2 root certificate\n");
818 printf("8 --> distributor2 intermediate certificate\n");
819 printf("9 --> distributor2 signer certificate\n");
820 choice = __get_integer_input_data();
823 ret = pkgmgr_installer_save_certinfo(pkgid, handle);
825 printf("pkgmgr_installer_save_certinfo failed\n");
826 pkgmgr_installer_destroy_certinfo_set_handle(handle);
829 ret = pkgmgr_installer_destroy_certinfo_set_handle(handle);
831 printf("pkgmgr_installer_destroy_certinfo_set_handle failed\n");
836 printf("Enter Author Root Certificate Value: \n");
837 value = __get_string_input_data();
838 ret = pkgmgr_installer_set_cert_value(handle, 0, value);
840 printf("pkgmgr_installer_set_cert_value failed\n");
848 printf("Enter Author Intermediate Certificate Value: \n");
849 value = __get_string_input_data();
850 ret = pkgmgr_installer_set_cert_value(handle, 1, value);
852 printf("pkgmgr_installer_set_cert_value failed\n");
860 printf("Enter Author Signer Certificate Value: \n");
861 value = __get_string_input_data();
862 ret = pkgmgr_installer_set_cert_value(handle, 2, value);
864 printf("pkgmgr_installer_set_cert_value failed\n");
872 printf("Enter Distributor Root Certificate Value: \n");
873 value = __get_string_input_data();
874 ret = pkgmgr_installer_set_cert_value(handle, 3, value);
876 printf("pkgmgr_installer_set_cert_value failed\n");
884 printf("Enter Distributor Intermediate Certificate Value: \n");
885 value = __get_string_input_data();
886 ret = pkgmgr_installer_set_cert_value(handle, 4, value);
888 printf("pkgmgr_installer_set_cert_value failed\n");
896 printf("Enter Distributor Signer Certificate Value: \n");
897 value = __get_string_input_data();
898 ret = pkgmgr_installer_set_cert_value(handle, 5, value);
900 printf("pkgmgr_installer_set_cert_value failed\n");
908 printf("Enter Distributor2 Root Certificate Value: \n");
909 value = __get_string_input_data();
910 ret = pkgmgr_installer_set_cert_value(handle, 6, value);
912 printf("pkgmgr_installer_set_cert_value failed\n");
920 printf("Enter Distributor2 Intermediate Certificate Value: \n");
921 value = __get_string_input_data();
922 ret = pkgmgr_installer_set_cert_value(handle, 7, value);
924 printf("pkgmgr_installer_set_cert_value failed\n");
932 printf("Enter Distributor2 Signer Certificate Value: \n");
933 value = __get_string_input_data();
934 ret = pkgmgr_installer_set_cert_value(handle, 8, value);
936 printf("pkgmgr_installer_set_cert_value failed\n");
944 printf("Invalid Number Entered\n");
946 ret = pkgmgr_installer_destroy_certinfo_set_handle(handle);
948 printf("pkgmgr_installer_destroy_certinfo_set_handle failed\n");
959 pkgmgr_installer_destroy_certinfo_set_handle(handle);
963 static int __set_pkginfo_in_db(char *pkgid)
966 printf("pkgid is NULL\n");
975 pkgmgr_pkgdbinfo_h handle = NULL;
976 ret = pkgmgr_create_pkgdbinfo(pkgid, &handle);
978 printf("pkgmgr_create_pkgdbinfo failed\n");
983 printf("Enter the choice you want to set\n");
984 printf("0 --> to set data in DB\n");
985 printf("1 --> pkg type\n");
986 printf("2 --> pkg version\n");
987 printf("3 --> pkg instal location\n");
988 printf("4 --> pkg label\n");
989 printf("5 --> pkg icon\n");
990 printf("6 --> pkg description\n");
991 printf("7 --> pkg author\n");
992 printf("8 --> pkg removable\n");
993 printf("9 --> pkg preload\n");
994 printf("10 --> pkg size\n");
995 choice = __get_integer_input_data();
998 ret = pkgmgr_save_pkgdbinfo(handle);
1000 printf("pkgmgr_save_pkgdbinfo failed\n");
1001 pkgmgr_destroy_pkgdbinfo(handle);
1004 ret = pkgmgr_destroy_pkgdbinfo(handle);
1006 printf("pkgmgr_destroy_pkgdbinfo failed\n");
1011 printf("Enter type: \n");
1012 char *type = __get_string_input_data();
1013 ret = pkgmgr_set_type_to_pkgdbinfo(handle, type);
1015 printf("pkgmgr_set_type_to_pkgdbinfo failed\n");
1016 pkgmgr_destroy_pkgdbinfo(handle);
1023 printf("Enter version: \n");
1024 char *version = __get_string_input_data();
1025 ret = pkgmgr_set_version_to_pkgdbinfo(handle, version);
1027 printf("pkgmgr_set_version_to_pkgdbinfo failed\n");
1028 pkgmgr_destroy_pkgdbinfo(handle);
1035 printf("Enter install location [0:internal | 1:external]: \n");
1036 location = __get_integer_input_data();
1037 ret = pkgmgr_set_install_location_to_pkgdbinfo(handle, location);
1039 printf("pkgmgr_set_install_location_to_pkgdbinfo failed\n");
1040 pkgmgr_destroy_pkgdbinfo(handle);
1045 printf("Enter label :\n");
1046 char *label = __get_string_input_data();
1047 printf("Enter locale ['def' for default]: \n");
1048 locale = __get_string_input_data();
1049 if (strcmp(locale, "def") == 0)
1050 ret = pkgmgr_set_label_to_pkgdbinfo(handle, label, NULL);
1052 ret = pkgmgr_set_label_to_pkgdbinfo(handle, label, locale);
1054 printf("pkgmgr_set_label_to_pkgdbinfo failed\n");
1055 pkgmgr_destroy_pkgdbinfo(handle);
1064 printf("Enter icon: \n");
1065 char *icon = __get_string_input_data();
1066 printf("Enter locale ['def' for default]: \n");
1067 locale = __get_string_input_data();
1068 if (strcmp(locale, "def") == 0)
1069 ret = pkgmgr_set_icon_to_pkgdbinfo(handle, icon, NULL);
1071 ret = pkgmgr_set_icon_to_pkgdbinfo(handle, icon, locale);
1073 printf("pkgmgr_set_icon_to_pkgdbinfo failed\n");
1074 pkgmgr_destroy_pkgdbinfo(handle);
1083 printf("Enter description: \n");
1084 char *description = __get_string_input_data();
1085 printf("Enter locale ['def' for default]: \n");
1086 locale = __get_string_input_data();
1087 if (strcmp(locale, "def") == 0)
1088 ret = pkgmgr_set_description_to_pkgdbinfo(handle, description, NULL);
1090 ret = pkgmgr_set_description_to_pkgdbinfo(handle, description, locale);
1092 printf("pkgmgr_set_description_to_pkgdbinfo failed\n");
1093 pkgmgr_destroy_pkgdbinfo(handle);
1102 printf("Enter author name: \n");
1103 char *author_name = __get_string_input_data();
1104 printf("Enter locale ['def' for default]: \n");
1105 locale = __get_string_input_data();
1106 printf("Enter author email: \n");
1107 char *author_email = __get_string_input_data();
1108 printf("Enter author href: \n");
1109 char *author_href = __get_string_input_data();
1110 if (strcmp(locale, "def") == 0)
1111 ret = pkgmgr_set_author_to_pkgdbinfo(handle, author_name, author_email, author_href, NULL);
1113 ret = pkgmgr_set_author_to_pkgdbinfo(handle, author_name, author_email, author_href, locale);
1115 printf("pkgmgr_set_author_to_pkgdbinfo failed\n");
1116 pkgmgr_destroy_pkgdbinfo(handle);
1129 printf("Enter removable [0:false | 1:true]: \n");
1130 removable = __get_integer_input_data();
1131 ret = pkgmgr_set_removable_to_pkgdbinfo(handle, removable);
1133 printf("pkgmgr_set_removable_to_pkgdbinfo failed\n");
1134 pkgmgr_destroy_pkgdbinfo(handle);
1139 printf("Enter preload [0:false | 1:true]: \n");
1140 preload = __get_integer_input_data();
1141 ret = pkgmgr_set_preload_to_pkgdbinfo(handle, preload);
1143 printf("pkgmgr_set_preload_to_pkgdbinfo failed\n");
1144 pkgmgr_destroy_pkgdbinfo(handle);
1149 printf("Enter size in MB \n");
1150 char *size = __get_string_input_data();
1151 ret = pkgmgr_set_size_to_pkgdbinfo(handle, size);
1153 printf("pkgmgr_set_size_to_pkgdbinfo failed\n");
1154 pkgmgr_destroy_pkgdbinfo(handle);
1161 printf("Invalid number entered\n");
1168 static int __insert_manifest_in_db(char *manifest)
1171 if (manifest == NULL) {
1172 printf("Manifest file is NULL\n");
1175 ret = pkgmgr_parser_parse_manifest_for_installation(manifest, NULL);
1177 printf("insert in db failed\n");
1183 static int __remove_manifest_from_db(char *manifest)
1186 if (manifest == NULL) {
1187 printf("Manifest file is NULL\n");
1190 ret = pkgmgr_parser_parse_manifest_for_uninstallation(manifest, NULL);
1192 printf("remove from db failed\n");
1198 int app_func(const pkgmgr_appinfo_h handle, void *user_data)
1203 data = (char *)user_data;
1209 pkgmgr_app_component component = 0;
1210 char *apptype = NULL;
1213 bool taskmanage = 0;
1214 pkgmgr_hwacceleration_type hwacceleration;
1216 bool autorestart = 0;
1217 char *package = NULL;
1219 ret = pkgmgr_appinfo_get_appid(handle, &appid);
1221 printf("Failed to get appid\n");
1224 printf("Appid: %s\n", appid);
1226 ret = pkgmgr_appinfo_get_pkgid(handle, &package);
1228 printf("Failed to get package\n");
1231 printf("Package: %s\n", package);
1233 ret = pkgmgr_appinfo_get_exec(handle, &exec);
1235 printf("Failed to get exec\n");
1238 printf("Exec: %s\n", exec);
1240 ret = pkgmgr_appinfo_get_icon(handle, &icon);
1242 printf("Failed to get icon\n");
1245 printf("Icon: %s\n", icon);
1247 ret = pkgmgr_appinfo_get_label(handle, &label);
1249 printf("Failed to get label\n");
1252 printf("Label: %s\n", label);
1254 ret = pkgmgr_appinfo_get_component(handle, &component);
1256 printf("Failed to get component\n");
1259 ret = pkgmgr_appinfo_get_apptype(handle, &apptype);
1261 printf("Failed to get apptype\n");
1264 printf("Apptype: %s\n", apptype);
1266 if (component == PM_UI_APP) {
1267 printf("component: uiapp\n");
1268 ret = pkgmgr_appinfo_is_multiple(handle, &multiple);
1270 printf("Failed to get multiple\n");
1272 printf("Multiple: %d\n", multiple);
1275 ret = pkgmgr_appinfo_is_nodisplay(handle, &nodisplay);
1277 printf("Failed to get nodisplay\n");
1279 printf("Nodisplay: %d \n", nodisplay);
1282 ret = pkgmgr_appinfo_is_taskmanage(handle, &taskmanage);
1284 printf("Failed to get taskmanage\n");
1286 printf("Taskmanage: %d\n", taskmanage);
1289 ret = pkgmgr_appinfo_get_hwacceleration(handle, &hwacceleration);
1291 printf("Failed to get hwacceleration\n");
1293 printf("hw-acceleration: %d\n", hwacceleration);
1297 if (component == PM_SVC_APP) {
1298 printf("component: svcapp\n");
1299 ret = pkgmgr_appinfo_is_onboot(handle, &onboot);
1301 printf("Failed to get onboot\n");
1303 printf("Onboot: %d\n", onboot);
1306 ret = pkgmgr_appinfo_is_autorestart(handle, &autorestart);
1308 printf("Failed to get autorestart\n");
1310 printf("Autorestart: %d \n", autorestart);
1314 printf("user_data : %s\n\n", data);
1320 static int __pkg_list_cb (const pkgmgr_pkginfo_h handle, void *user_data)
1322 char *test_data = "test data";
1327 ret = pkgmgr_pkginfo_get_pkgid(handle, &pkgid);
1329 printf("pkgmgr_pkginfo_get_pkgid() failed\n");
1331 ret = pkgmgr_pkginfo_get_type(handle, &pkg_type);
1333 printf("pkgmgr_pkginfo_get_type() failed\n");
1335 ret = pkgmgr_pkginfo_get_version(handle, &pkg_version);
1337 printf("pkgmgr_pkginfo_get_version() failed\n");
1339 printf("---------------------------------------\n");
1340 printf("pkg_type [%s]\tpkgid [%s]\tversion [%s]\n", pkg_type,
1341 pkgid, pkg_version);
1343 printf("**List of Ui-Apps**\n");
1344 ret = pkgmgr_appinfo_get_list(handle, PM_UI_APP, app_func, (void *)test_data);
1346 printf("pkgmgr_get_info_app() failed\n");
1348 printf("**List of Svc-Apps**\n");
1349 ret = pkgmgr_appinfo_get_list(handle, PM_SVC_APP, app_func, (void *)test_data);
1351 printf("pkgmgr_get_info_app() failed\n");
1354 printf("---------------------------------------\n");
1359 static int __get_pkg_list()
1362 ret = pkgmgr_pkginfo_get_list(__pkg_list_cb, NULL);
1364 printf("pkgmgr_pkginfo_get_list() failed\n");
1370 static int __get_installed_app_list()
1373 ret = pkgmgrinfo_appinfo_get_installed_list(app_func, NULL);
1375 printf("pkgmgrinfo_appinfo_get_installed_list() failed\n");
1382 static int __app_category_list_cb(const char *category_name, void *user_data)
1385 printf("Category: %s\n", category_name);
1389 static int __app_metadata_list_cb(const char *metadata_name, const char *metadata_value, void *user_data)
1391 if (metadata_name && metadata_value) {
1392 printf("Name: %s\n", metadata_name);
1393 printf("Value: %s\n", metadata_value);
1399 static int __app_control_list_cb(pkgmgrinfo_appcontrol_h handle, void *user_data)
1401 printf("-------------------------------------------------------\n");
1407 char **operation = NULL;
1410 ret = pkgmgrinfo_appinfo_get_operation(handle, &oc, &operation);
1412 printf("Get Operation Failed\n");
1415 ret = pkgmgrinfo_appinfo_get_uri(handle, &uc, &uri);
1417 printf("Get Uri Failed\n");
1420 ret = pkgmgrinfo_appinfo_get_mime(handle, &mc, &mime);
1422 printf("Get Mime Failed\n");
1425 for (i = 0; i < oc; i++) {
1426 if (operation && operation[i])
1427 printf("Operation: %s\n", operation[i]);
1429 for (i = 0; i < uc; i++) {
1431 printf("Uri: %s\n", uri[i]);
1433 for (i = 0; i < mc; i++) {
1434 if (mime && mime[i])
1435 printf("Mime: %s\n", mime[i]);
1437 printf("-------------------------------------------------------\n\n");
1442 static int __get_app_category_list(char *appid)
1445 pkgmgr_appinfo_h handle;
1446 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1448 printf("Failed to get handle\n");
1451 ret = pkgmgr_appinfo_foreach_category(handle, __app_category_list_cb, NULL);
1453 printf("pkgmgr_appinfo_foreach_category() failed\n");
1454 pkgmgr_appinfo_destroy_appinfo(handle);
1457 pkgmgr_appinfo_destroy_appinfo(handle);
1461 static int __get_app_metadata_list(char *appid)
1464 pkgmgr_appinfo_h handle;
1465 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1467 printf("Failed to get handle\n");
1470 ret = pkgmgrinfo_appinfo_foreach_metadata(handle, __app_metadata_list_cb, NULL);
1472 printf("pkgmgrinfo_appinfo_foreach_metadata() failed\n");
1473 pkgmgr_appinfo_destroy_appinfo(handle);
1476 pkgmgr_appinfo_destroy_appinfo(handle);
1480 static int __get_app_control_list(char *appid)
1483 pkgmgr_appinfo_h handle;
1484 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1486 printf("Failed to get handle\n");
1489 ret = pkgmgrinfo_appinfo_foreach_appcontrol(handle, __app_control_list_cb, NULL);
1491 printf("pkgmgrinfo_appinfo_foreach_appcontrol() failed\n");
1492 pkgmgr_appinfo_destroy_appinfo(handle);
1495 pkgmgr_appinfo_destroy_appinfo(handle);
1499 static int __get_app_visibility(char *appid)
1503 pkgmgr_appinfo_h handle;
1504 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1506 printf("Failed to get handle\n");
1509 ret = pkgmgrinfo_appinfo_is_guestmode_visibility(handle, &status);
1511 printf("pkgmgrinfo_appinfo_is_guestmode_visibility failed\n");
1512 pkgmgr_appinfo_destroy_appinfo(handle);
1515 pkgmgr_appinfo_destroy_appinfo(handle);
1516 printf("visibility Status is %d\n",status);
1520 static int __set_app_visibility(char *appid)
1524 pkgmgrinfo_appinfo_h handle;
1525 printf("Enter [0/1]: 0--Hide, 1-Show\n");
1526 value = __get_integer_input_data();
1527 ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
1528 if (ret != PMINFO_R_OK)
1530 ret = pkgmgrinfo_appinfo_set_guestmode_visibility(handle, value);
1531 if (ret != PMINFO_R_OK) {
1532 pkgmgrinfo_appinfo_destroy_appinfo(handle);
1535 pkgmgrinfo_appinfo_destroy_appinfo(handle);
1539 static int __set_app_enabled(char *appid, bool enabled)
1542 ret = pkgmgrinfo_appinfo_set_state_enabled(appid, enabled);
1544 printf("Failed to get handle\n");
1550 static int __get_app_list(char *pkgid)
1552 pkgmgr_pkginfo_h handle;
1554 char *test_data = "test data";
1555 ret = pkgmgr_pkginfo_get_pkginfo(pkgid, &handle);
1557 printf("Failed to get handle\n");
1560 printf("List of Ui-Apps\n\n");
1561 ret = pkgmgr_appinfo_get_list(handle, PM_UI_APP, app_func, (void *)test_data);
1563 printf("pkgmgr_appinfo_get_list() failed\n");
1565 printf("List of Svc-Apps\n\n");
1566 ret = pkgmgr_appinfo_get_list(handle, PM_SVC_APP, app_func, (void *)test_data);
1568 printf("pkgmgr_appinfo_get_list() failed\n");
1570 pkgmgr_pkginfo_destroy_pkginfo(handle);
1574 static int __get_pkg_info(char *pkgid)
1576 pkgmgr_pkginfo_h handle;
1579 char *version = NULL;
1580 char *author_name = NULL;
1581 char *author_email = NULL;
1582 char *author_href = NULL;
1583 pkgmgr_install_location location = 0;
1591 int installed_time = -1;
1593 printf("Get Pkg Info Called [%s]\n", pkgid);
1594 ret = pkgmgr_pkginfo_get_pkginfo(pkgid, &handle);
1596 printf("Failed to get handle\n");
1600 ret = pkgmgr_pkginfo_get_type(handle, &type);
1602 printf("Failed to get pkg type\n");
1605 printf("Type: %s\n", type);
1607 ret = pkgmgr_pkginfo_get_version(handle, &version);
1609 printf("Failed to get version\n");
1612 printf("Version: %s\n", version);
1614 ret = pkgmgr_pkginfo_get_install_location(handle, &location);
1616 printf("Failed to get install location\n");
1618 printf("Install Location: %d\n", location);
1620 ret = pkgmgr_pkginfo_get_package_size(handle, &size);
1622 printf("Failed to get package size \n");
1624 printf("Package Size: %d\n", size);
1626 ret = pkgmgr_pkginfo_get_icon(handle, &icon);
1628 printf("Failed to get icon\n");
1631 printf("Icon: %s\n", icon);
1633 ret = pkgmgr_pkginfo_get_label(handle, &label);
1635 printf("Failed to get label\n");
1638 printf("Label: %s\n", label);
1640 ret = pkgmgr_pkginfo_get_description(handle, &desc);
1642 printf("Failed to get description\n");
1645 printf("Description: %s\n", desc);
1647 ret = pkgmgr_pkginfo_get_author_name(handle, &author_name);
1649 printf("Failed to get author name\n");
1652 printf("Author Name: %s\n", author_name);
1654 ret = pkgmgr_pkginfo_get_author_email(handle, &author_email);
1656 printf("Failed to get author email\n");
1659 printf("Author Email: %s\n", author_email);
1661 ret = pkgmgr_pkginfo_get_author_href(handle, &author_href);
1663 printf("Failed to get author href\n");
1666 printf("Author Href: %s\n", author_href);
1668 ret = pkgmgr_pkginfo_is_removable(handle, &removable);
1670 printf("Failed to get removable\n");
1673 printf("Removable: %d\n", removable);
1675 ret = pkgmgr_pkginfo_is_preload(handle, &preload);
1677 printf("Failed to get preload\n");
1680 printf("Preload: %d\n", preload);
1682 ret = pkgmgr_pkginfo_is_readonly(handle, &readonly);
1684 printf("Failed to get readonly\n");
1687 printf("Readonly: %d\n", readonly);
1689 ret = pkgmgr_pkginfo_get_installed_time(handle, &installed_time);
1691 printf("Failed to get install time\n");
1693 printf("Install time: %d\n", installed_time);
1695 pkgmgr_pkginfo_destroy_pkginfo(handle);
1699 static int __get_app_info(char *appid)
1701 printf("Get App Info Called [%s]\n", appid);
1703 char *app_id = NULL;
1704 char *apptype = NULL;
1707 char *package = NULL;
1708 pkgmgr_app_component component = 0;
1711 bool taskmanage = 0;
1712 pkgmgr_hwacceleration_type hwacceleration;
1714 bool autorestart = 0;
1716 pkgmgr_appinfo_h handle;
1719 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1721 printf("Failed to get handle\n");
1725 ret = pkgmgr_appinfo_get_pkgid(handle, &package);
1727 printf("Failed to get package\n");
1730 ret = pkgmgr_appinfo_get_appid(handle, &app_id);
1732 printf("Failed to get exec\n");
1735 ret = pkgmgr_appinfo_get_label(handle, &label);
1737 printf("Failed to get label\n");
1739 ret = pkgmgr_appinfo_get_icon(handle, &icon);
1741 printf("Failed to get icon\n");
1744 ret = pkgmgr_appinfo_get_exec(handle, &exec);
1746 printf("Failed to get exec\n");
1748 ret = pkgmgr_appinfo_get_component(handle, &component);
1750 printf("Failed to get component\n");
1752 ret = pkgmgr_appinfo_get_apptype(handle, &apptype);
1754 printf("Failed to get apptype\n");
1756 ret = pkgmgr_appinfo_is_nodisplay(handle, &nodisplay);
1758 printf("Failed to get nodisplay\n");
1760 ret = pkgmgr_appinfo_is_multiple(handle, &multiple);
1762 printf("Failed to get multiple\n");
1764 ret = pkgmgr_appinfo_is_taskmanage(handle, &taskmanage);
1766 printf("Failed to get taskmanage\n");
1768 ret = pkgmgr_appinfo_get_hwacceleration(handle, &hwacceleration);
1770 printf("Failed to get hwacceleration\n");
1772 ret = pkgmgr_appinfo_is_onboot(handle, &onboot);
1774 printf("Failed to get onboot\n");
1776 ret = pkgmgr_appinfo_is_autorestart(handle, &autorestart);
1778 printf("Failed to get autorestart\n");
1780 ret = pkgmgrinfo_appinfo_is_enabled(handle, &enabled);
1782 printf("Failed to get enabled\n");
1786 printf("Appid: %s\n", app_id);
1789 printf("Package: %s\n", package);
1792 printf("Exec: %s\n", exec);
1794 printf("Apptype: %s\n", apptype);
1796 if (component == PM_UI_APP) {
1797 printf("component: uiapp\n");
1800 printf("Icon: %s\n", icon);
1802 printf("Label: %s\n", label);
1804 printf("Nodisplay: %d\n", nodisplay);
1805 printf("Multiple: %d\n", multiple);
1806 printf("Taskmanage: %d\n", taskmanage);
1807 printf("Hw-Acceleration: %d\n", hwacceleration);
1808 } else if (component == PM_SVC_APP) {
1809 printf("component: svcapp\n");
1812 printf("Icon: %s\n", icon);
1814 printf("Label: %s\n", label);
1816 printf("Autorestart: %d\n", autorestart);
1817 printf("Onboot: %d\n", onboot);
1819 printf("Invalid Component Type\n");
1822 printf("Enabled: %d\n", enabled);
1824 pkgmgr_appinfo_destroy_appinfo(handle);
1829 static int __check_manifest_validation(char *manifest)
1832 if (manifest == NULL) {
1833 printf("Manifest file is NULL\n");
1836 ret = pkgmgr_parser_check_manifest_validation(manifest);
1838 printf("check manifest validation failed\n");
1844 int main(int argc, char *argv[])
1847 char *locale = NULL;
1852 locale = vconf_get_str(VCONFKEY_LANGSET);
1853 if (locale == NULL) {
1854 printf("locale is NULL\n");
1859 printf("Locale is %s\n", locale);
1861 gettimeofday(&tv, NULL);
1862 starttime = tv.tv_sec * 1000l + tv.tv_usec / 1000l;
1867 if (strcmp(argv[1], "--listpkg") == 0) {
1868 ret = __get_pkg_list();
1870 printf("get pkg list failed\n");
1875 } else if (strcmp(argv[1], "--app-flt") == 0) {
1876 ret = __add_app_filter();
1878 printf("Adding app filter failed\n");
1883 } else if (strcmp(argv[1], "--pkg-flt") == 0) {
1884 ret = __add_pkg_filter();
1886 printf("Adding pkg filter failed\n");
1891 } else if (strcmp(argv[1], "--metadata-flt") == 0) {
1892 ret = __add_metadata_filter();
1894 printf("Adding pkg filter failed\n");
1899 } else if (strcmp(argv[1], "--listapp") == 0) {
1900 ret = __get_installed_app_list();
1902 printf("get installed app list failed\n");
1912 }else if (argc == 4) {
1913 if (strcmp(argv[1], "--setappenabled") == 0) {
1914 ret = __set_app_enabled(argv[2], (strcmp(argv[3], "0")==0)?false:true);
1916 printf("set app enabled failed\n");
1920 } else if(strcmp(argv[1], "--setpkgenabled") == 0) {
1921 ret = __set_app_enabled(argv[2], (strcmp(argv[3], "0")==0)?false:true);
1923 printf("set pkg enabled failed\n");
1927 } else if (strcmp(argv[1], "--cmp-pkgcert") == 0) {
1928 ret = __compare_pkg_certinfo_from_db(argv[2], argv[3]);
1930 printf("compare certinfo from db failed\n");
1934 } else if (strcmp(argv[1], "--cmp-appcert") == 0) {
1935 ret = __compare_app_certinfo_from_db(argv[2], argv[3]);
1937 printf("compare certinfo from db failed\n");
1953 if (!argv[1] || !argv[2]) {
1959 if (strcmp(argv[1], "--pkg") == 0) {
1960 ret = __get_pkg_info(argv[2]);
1962 printf("get pkg info failed\n");
1965 } else if (strcmp(argv[1], "--app") == 0) {
1966 ret = __get_app_info(argv[2]);
1968 printf("get app info failed\n");
1971 } else if (strcmp(argv[1], "--list") == 0) {
1972 ret = __get_app_list(argv[2]);
1974 printf("get app list failed\n");
1977 } else if (strcmp(argv[1], "--imd") == 0) {
1978 ret = __insert_manifest_in_db(argv[2]);
1980 printf("insert in db failed\n");
1983 } else if (strcmp(argv[1], "--rmd") == 0) {
1984 ret = __remove_manifest_from_db(argv[2]);
1986 printf("remove from db failed\n");
1989 } else if (strcmp(argv[1], "--setdb") == 0) {
1990 ret = __set_pkginfo_in_db(argv[2]);
1992 printf("set pkginfo in db failed\n");
1995 } else if (strcmp(argv[1], "--setcert") == 0) {
1996 ret = __set_certinfo_in_db(argv[2]);
1998 printf("set certinfo in db failed\n");
2001 } else if (strcmp(argv[1], "--getcert") == 0) {
2002 ret = __get_certinfo_from_db(argv[2]);
2004 printf("get certinfo from db failed\n");
2007 } else if (strcmp(argv[1], "--delcert") == 0) {
2008 ret = __del_certinfo_from_db(argv[2]);
2010 printf("del certinfo from db failed\n");
2013 } else if (strcmp(argv[1], "--check") == 0) {
2014 ret = __check_manifest_validation(argv[2]);
2016 printf("check manifest failed\n");
2019 } else if (strcmp(argv[1], "--category") == 0) {
2020 ret = __get_app_category_list(argv[2]);
2022 printf("get app category list failed\n");
2025 } else if (strcmp(argv[1], "--metadata") == 0) {
2026 ret = __get_app_metadata_list(argv[2]);
2028 printf("get app metadata list failed\n");
2031 } else if (strcmp(argv[1], "--appcontrol") == 0) {
2032 ret = __get_app_control_list(argv[2]);
2034 printf("get app control list failed\n");
2037 } else if (strcmp(argv[1], "--getvisibility") == 0) {
2038 ret = __get_app_visibility(argv[2]);
2040 printf("get app visibility failed\n");
2043 } else if (strcmp(argv[1], "--setvisibility") == 0) {
2044 ret = __set_app_visibility(argv[2]);
2046 printf("set app visibility failed\n");
2054 gettimeofday(&tv, NULL);
2055 endtime = tv.tv_sec * 1000l + tv.tv_usec / 1000l;
2057 printf("spend time for pkginfo is [%d]ms\n", (int)(endtime - starttime));