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);
84 static int __get_integer_input_data(void)
86 char input_str[32] = { 0, };
89 if (fgets(input_str, sizeof(input_str), stdin) == NULL) {
90 printf("fgets() failed....\n");
94 if (sscanf(input_str, "%4d", &data) != 1) {
95 printf("Input only integer option....\n");
103 char *__get_string_input_data(void)
105 char *data = (char *)malloc(1024);
107 printf("Malloc Failed\n");
110 if (fgets(data,1024,stdin) == NULL){
111 printf("Buffer overflow!!! try again\n");
114 data[strlen(data) - 1] = '\0';
118 static void __print_usage()
120 printf("For Getting package|App Info\n");
121 printf("\tpkginfo --[pkg|app] <pkgid|appid>\n\n");
122 printf("For Getting list of installed packages\n");
123 printf("\tpkginfo --listpkg \n\n");
124 printf("For Getting list of installed applications\n");
125 printf("\tpkginfo --listapp \n\n");
126 printf("For Getting app list for a particular package\n");
127 printf("\tpkginfo --list <pkgid>\n\n");
128 printf("For Getting app category list for a particular application\n");
129 printf("\tpkginfo --category <appid>\n\n");
130 printf("For Getting app metadata list for a particular application\n");
131 printf("\tpkginfo --metadata <appid>\n\n");
132 printf("For Getting app control list for a particular application\n");
133 printf("\tpkginfo --appcontrol <appid>\n\n");
134 printf("To insert|remove manifest info in DB\n");
135 printf("\tpkginfo --[imd|rmd] <manifest file name>\n\n");
136 printf("To set pkginfo in DB\n");
137 printf("\tpkginfo --setdb <pkgid>\n\n");
138 printf("To set manifest validation\n");
139 printf("\tpkginfo --check <manifest file name>\n\n");
140 printf("To set cert info in DB\n");
141 printf("\tpkginfo --setcert <pkgid>\n\n");
142 printf("To get cert info from DB\n");
143 printf("\tpkginfo --getcert <pkgid>\n\n");
144 printf("To compare pkg cert info from DB\n");
145 printf("\tpkginfo --cmp-pkgcert <lhs_pkgid> <rhs_pkgid>\n\n");
146 printf("To compare app cert info from DB\n");
147 printf("\tpkginfo --cmp-appcert <lhs_appid> <rhs_appid>\n\n");
148 printf("To delete all cert info from DB\n");
149 printf("\tpkginfo --delcert <pkgid>\n\n");
150 printf("To add application filter values [Multiple values can be added]\n");
151 printf("\tpkginfo --app-flt\n\n");
152 printf("To add package filter values [Multiple values can be added]\n");
153 printf("\tpkginfo --pkg-flt\n\n");
154 printf("To add metadata filter values\n");
155 printf("\tpkginfo --metadata-flt\n\n");
156 printf("To get guest mode visibility of a particular application\n");
157 printf("\tpkginfo --getvisibility <appid>\n\n");
158 printf("To set guest mode visibility of a particular application\n");
159 printf("\tpkginfo --setvisibility <appid>\n\n");
162 static void __print_arg_filter_usage()
164 printf("=========================================\n");
165 printf("pkginfo --arg-flt key value\n");
166 printf("ex : pkginfo --arg-flt 6 webapp\n");
167 printf("key list is bellowed\n");
168 printf("2 --> filter by app ID\n");
169 printf("3 --> filter by app component\n");
170 printf("4 --> filter by app exec\n");
171 printf("5 --> filter by app icon\n");
172 printf("6 --> filter by app type\n");
173 printf("7 --> filter by app operation\n");
174 printf("8 --> filter by app uri\n");
175 printf("9 --> filter by app mime\n");
176 printf("10 --> filter by app category\n");
177 printf("11 --> filter by app nodisplay [0|1]\n");
178 printf("12 --> filter by app multiple [0|1]\n");
179 printf("13 --> filter by app onboot [0|1]\n");
180 printf("14 --> filter by app autorestart [0|1]\n");
181 printf("15 --> filter by app taskmanage [0|1]\n");
182 printf("16 --> filter by app hwacceleration\n");
183 printf("=========================================\n");
186 static int __app_list_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
189 pkgmgrinfo_appinfo_get_appid(handle, &appid);
190 printf("appid : %s\n", appid);
194 static int __add_metadata_filter()
197 pkgmgrinfo_appinfo_metadata_filter_h handle;
201 ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
202 if (ret != PMINFO_R_OK){
203 printf("pkgmgrinfo_appinfo_metadata_filter_create() failed\n");
207 printf("enter metadata - key\n");
208 key = __get_string_input_data();
209 printf("enter metadata - value\n");
210 value = __get_string_input_data();
211 if(strlen(value) == 0)
214 printf("filter condition : key=[%s], value=[%s]\n", key, value);
216 ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, key, value);
217 if (ret != PMINFO_R_OK){
218 printf("pkgmgrinfo_appinfo_metadata_filter_add() failed\n");
222 ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, __app_list_cb, NULL);
223 if (ret != PMINFO_R_OK){
224 printf("pkgmgrinfo_appinfo_metadata_filter_add() failed\n");
229 pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
241 static int __add_app_filter()
248 pkgmgrinfo_appinfo_filter_h handle;
249 ret = pkgmgrinfo_appinfo_filter_create(&handle);
251 printf("appinfo filter handle create failed\n");
254 while (choice != 0 && choice != 1)
256 printf("Enter Choice\n");
257 printf("0 --> Finalize filter and get count of apps\n");
258 printf("1 --> Finalize filter and get list of apps\n");
259 printf("2 --> filter by app ID\n");
260 printf("3 --> filter by app component\n");
261 printf("4 --> filter by app exec\n");
262 printf("5 --> filter by app icon\n");
263 printf("6 --> filter by app type\n");
264 printf("7 --> filter by app operation\n");
265 printf("8 --> filter by app uri\n");
266 printf("9 --> filter by app mime\n");
267 printf("10 --> filter by app category\n");
268 printf("11 --> filter by app nodisplay [0|1]\n");
269 printf("12 --> filter by app multiple [0|1]\n");
270 printf("13 --> filter by app onboot [0|1]\n");
271 printf("14 --> filter by app autorestart [0|1]\n");
272 printf("15 --> filter by app taskmanage [0|1]\n");
273 printf("16 --> filter by app hwacceleration\n");
274 choice = __get_integer_input_data();
277 ret = pkgmgrinfo_appinfo_filter_count(handle, &count);
279 printf("pkgmgrinfo_appinfo_filter_count() failed\n");
283 printf("App count = %d\n", count);
286 ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, app_func, NULL);
288 printf("pkgmgrinfo_appinfo_filter_foreach_appinfo() failed\n");
294 value = __get_string_input_data();
295 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
296 PMINFO_APPINFO_PROP_APP_ID, value);
298 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
306 value = __get_string_input_data();
307 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
308 PMINFO_APPINFO_PROP_APP_COMPONENT, value);
310 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
318 value = __get_string_input_data();
319 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
320 PMINFO_APPINFO_PROP_APP_EXEC, value);
322 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
330 value = __get_string_input_data();
331 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
332 PMINFO_APPINFO_PROP_APP_ICON, value);
334 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
342 value = __get_string_input_data();
343 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
344 PMINFO_APPINFO_PROP_APP_TYPE, value);
346 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
354 value = __get_string_input_data();
355 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
356 PMINFO_APPINFO_PROP_APP_OPERATION, value);
358 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
366 value = __get_string_input_data();
367 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
368 PMINFO_APPINFO_PROP_APP_URI, value);
370 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
378 value = __get_string_input_data();
379 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
380 PMINFO_APPINFO_PROP_APP_MIME, value);
382 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
390 value = __get_string_input_data();
391 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
392 PMINFO_APPINFO_PROP_APP_CATEGORY, value);
394 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
402 val = __get_integer_input_data();
403 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
404 PMINFO_APPINFO_PROP_APP_NODISPLAY, val);
406 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
412 val = __get_integer_input_data();
413 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
414 PMINFO_APPINFO_PROP_APP_MULTIPLE, val);
416 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
422 val = __get_integer_input_data();
423 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
424 PMINFO_APPINFO_PROP_APP_ONBOOT, val);
426 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
432 val = __get_integer_input_data();
433 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
434 PMINFO_APPINFO_PROP_APP_AUTORESTART, val);
436 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
442 val = __get_integer_input_data();
443 ret = pkgmgrinfo_appinfo_filter_add_bool(handle,
444 PMINFO_APPINFO_PROP_APP_TASKMANAGE, val);
446 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
452 value = __get_string_input_data();
453 ret = pkgmgrinfo_appinfo_filter_add_string(handle,
454 PMINFO_APPINFO_PROP_APP_HWACCELERATION, value);
456 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
464 printf("Invalid filter property\n");
465 pkgmgrinfo_appinfo_filter_destroy(handle);
472 pkgmgrinfo_appinfo_filter_destroy(handle);
480 static int __add_pkg_filter()
487 pkgmgrinfo_pkginfo_filter_h handle;
488 ret = pkgmgrinfo_pkginfo_filter_create(&handle);
490 printf("pkginfo filter handle create failed\n");
493 while (choice != 0 && choice !=1)
495 printf("Enter Choice\n");
496 printf("0 --> Finalize filter and get count of packages\n");
497 printf("1 --> Finalize filter and get list of packages\n");
498 printf("2 --> filter by package ID\n");
499 printf("3 --> filter by package version\n");
500 printf("4 --> filter by package type\n");
501 printf("5 --> filter by package install location\n");
502 printf("6 --> filter by author name\n");
503 printf("7 --> filter by author email\n");
504 printf("8 --> filter by author href\n");
505 printf("9 --> filter by package removable [0|1]\n");
506 printf("10 --> filter by package readonly [0|1]\n");
507 printf("11 --> filter by package preload [0|1]\n");
508 printf("12 --> filter by package update [0|1]\n");
509 printf("13 --> filter by package appsetting [0|1]\n");
510 printf("14 --> filter by package size\n");
511 printf("15 --> filter by package installed storage[installed_internal | installed_external]\n");
512 choice = __get_integer_input_data();
515 ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
517 printf("pkgmgrinfo_pkginfo_filter_count() failed\n");
521 printf("Package count = %d\n", count);
524 ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkg_list_cb, NULL);
526 printf("pkgmgrinfo_pkginfo_filter_foreach_pkginfo() failed\n");
532 value = __get_string_input_data();
533 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
534 PMINFO_PKGINFO_PROP_PACKAGE_ID, value);
536 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
544 value = __get_string_input_data();
545 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
546 PMINFO_PKGINFO_PROP_PACKAGE_VERSION, value);
548 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
556 value = __get_string_input_data();
557 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
558 PMINFO_PKGINFO_PROP_PACKAGE_TYPE, value);
560 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
568 value = __get_string_input_data();
569 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
570 PMINFO_PKGINFO_PROP_PACKAGE_INSTALL_LOCATION, value);
572 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
580 value = __get_string_input_data();
581 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
582 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_NAME, value);
584 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
592 value = __get_string_input_data();
593 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
594 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_EMAIL, value);
596 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
604 value = __get_string_input_data();
605 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
606 PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF, value);
608 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
616 val = __get_integer_input_data();
617 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
618 PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE, val);
620 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
626 val = __get_integer_input_data();
627 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
628 PMINFO_PKGINFO_PROP_PACKAGE_READONLY, val);
630 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
636 val = __get_integer_input_data();
637 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
638 PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD, val);
640 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
646 val = __get_integer_input_data();
647 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
648 PMINFO_PKGINFO_PROP_PACKAGE_UPDATE, val);
650 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
656 val = __get_integer_input_data();
657 ret = pkgmgrinfo_pkginfo_filter_add_bool(handle,
658 PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING, val);
660 printf("pkgmgrinfo_pkginfo_filter_add_bool() failed\n");
666 val = __get_integer_input_data();
667 ret = pkgmgrinfo_pkginfo_filter_add_int(handle,
668 PMINFO_PKGINFO_PROP_PACKAGE_SIZE, val);
670 printf("pkgmgrinfo_pkginfo_filter_add_int() failed\n");
676 value = __get_string_input_data();
677 ret = pkgmgrinfo_pkginfo_filter_add_string(handle,
678 PMINFO_PKGINFO_PROP_PACKAGE_INSTALLED_STORAGE, value);
680 printf("pkgmgrinfo_pkginfo_filter_add_string() failed\n");
688 printf("Invalid filter property\n");
689 pkgmgrinfo_pkginfo_filter_destroy(handle);
696 pkgmgrinfo_pkginfo_filter_destroy(handle);
704 static int __add_arg_filter(char *key, char *value)
710 pkgmgrinfo_appinfo_filter_h handle;
711 ret = pkgmgrinfo_appinfo_filter_create(&handle);
713 printf("appinfo filter handle create failed\n");
720 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_ID, value);
722 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
728 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_COMPONENT, value);
730 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
736 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_EXEC, value);
738 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
744 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_ICON, value);
746 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
752 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_TYPE, value);
754 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
760 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_OPERATION, value);
762 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
768 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_URI, value);
770 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
776 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_MIME, value);
778 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
786 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_CATEGORY, value);
788 printf("pkgmgrinfo_appinfo_filter_add_string() failed\n");
795 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_NODISPLAY, val);
797 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
804 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_MULTIPLE, val);
806 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
813 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_ONBOOT, val);
815 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
822 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_AUTORESTART, val);
824 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
831 ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_TASKMANAGE, val);
833 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
839 ret = pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_HWACCELERATION, value);
841 printf("pkgmgrinfo_appinfo_filter_add_bool() failed\n");
847 __print_arg_filter_usage();
851 ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, __get_app_id, NULL);
853 printf("pkgmgrinfo_appinfo_filter_foreach_appinfo() failed\n");
859 pkgmgrinfo_appinfo_filter_destroy(handle);
862 static int __del_certinfo_from_db(char *pkgid)
866 printf("pkgid is NULL\n");
869 ret = pkgmgr_installer_delete_certinfo(pkgid);
871 printf("pkgmgr_installer_delete_certinfo failed\n");
877 static int __get_certinfo_from_db(char *pkgid)
880 printf("pkgid is NULL\n");
886 const char *value = NULL;
887 pkgmgr_certinfo_h handle = NULL;
888 ret = pkgmgr_pkginfo_create_certinfo(&handle);
890 printf("pkgmgr_pkginfo_create_certinfo failed\n");
893 ret = pkgmgr_pkginfo_load_certinfo(pkgid, handle);
895 printf("pkgmgr_pkginfo_load_certinfo failed\n");
900 printf("Enter the choice to get\n");
901 printf("0 --> to get all cert values\n");
902 printf("1 --> author root certificate\n");
903 printf("2 --> author intermediate certificate\n");
904 printf("3 --> author signer certificate\n");
905 printf("4 --> distributor root certificate\n");
906 printf("5 --> distributor intermediate certificate\n");
907 printf("6 --> distributor signer certificate\n");
908 printf("7 --> distributor2 root certificate\n");
909 printf("8 --> distributor2 intermediate certificate\n");
910 printf("9 --> distributor2 signer certificate\n");
911 printf("10 --> exit\n");
912 choice = __get_integer_input_data();
915 for (i = 0; i < 9; i++)
917 pkgmgr_pkginfo_get_cert_value(handle, i, &value);
919 printf("cert type[%d] value = %s\n", i, value);
921 ret = pkgmgr_pkginfo_destroy_certinfo(handle);
923 printf("pkgmgr_pkginfo_destroy_certinfo failed\n");
936 ret = pkgmgr_pkginfo_get_cert_value(handle, choice - 1, &value);
938 printf("cert type[%d] value = %s\n", choice - 1, value);
941 ret = pkgmgr_pkginfo_destroy_certinfo(handle);
943 printf("pkgmgr_pkginfo_destroy_certinfo failed\n");
948 printf("Invalid choice entered\n");
954 static int __compare_pkg_certinfo_from_db(char *lhs_pkgid, char *rhs_pkgid)
956 if (lhs_pkgid == NULL || rhs_pkgid == NULL) {
957 printf("pkgid is NULL\n");
962 pkgmgrinfo_cert_compare_result_type_e result;
963 ret = pkgmgrinfo_pkginfo_compare_pkg_cert_info(lhs_pkgid, rhs_pkgid, &result);
964 if (ret != PMINFO_R_OK) {
968 printf("Compare [match=0, mismatch=1, lhs_no=2, rhs_no=3, both_no=4]\n");
969 printf("pkgid =[%s] and [%s] compare result = [%d] \n", lhs_pkgid, rhs_pkgid, result);
973 static int __compare_app_certinfo_from_db(char *lhs_appid, char *rhs_appid)
975 if (lhs_appid == NULL || rhs_appid == NULL) {
976 printf("appid is NULL\n");
981 pkgmgrinfo_cert_compare_result_type_e result;
982 ret = pkgmgrinfo_pkginfo_compare_app_cert_info(lhs_appid, rhs_appid, &result);
983 if (ret != PMINFO_R_OK) {
987 printf("Compare [match=0, mismatch=1, lhs_no=2, rhs_no=3, both_no=4]\n");
988 printf("appid =[%s] and [%s] compare result = [%d] \n", lhs_appid, rhs_appid, result);
992 static int __set_certinfo_in_db(char *pkgid)
995 printf("pkgid is NULL\n");
1001 pkgmgr_instcertinfo_h handle = NULL;
1002 ret = pkgmgr_installer_create_certinfo_set_handle(&handle);
1004 printf("pkgmgr_installer_create_certinfo_set_handle failed\n");
1009 printf("Enter the choice you want to set\n");
1010 printf("0 --> to set data in DB\n");
1011 printf("1 --> author root certificate\n");
1012 printf("2 --> author intermediate certificate\n");
1013 printf("3 --> author signer certificate\n");
1014 printf("4 --> distributor root certificate\n");
1015 printf("5 --> distributor intermediate certificate\n");
1016 printf("6 --> distributor signer certificate\n");
1017 printf("7 --> distributor2 root certificate\n");
1018 printf("8 --> distributor2 intermediate certificate\n");
1019 printf("9 --> distributor2 signer certificate\n");
1020 choice = __get_integer_input_data();
1023 ret = pkgmgr_installer_save_certinfo(pkgid, handle);
1025 printf("pkgmgr_installer_save_certinfo failed\n");
1026 pkgmgr_installer_destroy_certinfo_set_handle(handle);
1029 ret = pkgmgr_installer_destroy_certinfo_set_handle(handle);
1031 printf("pkgmgr_installer_destroy_certinfo_set_handle failed\n");
1036 printf("Enter Author Root Certificate Value: \n");
1037 value = __get_string_input_data();
1038 ret = pkgmgr_installer_set_cert_value(handle, 0, value);
1040 printf("pkgmgr_installer_set_cert_value failed\n");
1048 printf("Enter Author Intermediate Certificate Value: \n");
1049 value = __get_string_input_data();
1050 ret = pkgmgr_installer_set_cert_value(handle, 1, value);
1052 printf("pkgmgr_installer_set_cert_value failed\n");
1060 printf("Enter Author Signer Certificate Value: \n");
1061 value = __get_string_input_data();
1062 ret = pkgmgr_installer_set_cert_value(handle, 2, value);
1064 printf("pkgmgr_installer_set_cert_value failed\n");
1072 printf("Enter Distributor Root Certificate Value: \n");
1073 value = __get_string_input_data();
1074 ret = pkgmgr_installer_set_cert_value(handle, 3, value);
1076 printf("pkgmgr_installer_set_cert_value failed\n");
1084 printf("Enter Distributor Intermediate Certificate Value: \n");
1085 value = __get_string_input_data();
1086 ret = pkgmgr_installer_set_cert_value(handle, 4, value);
1088 printf("pkgmgr_installer_set_cert_value failed\n");
1096 printf("Enter Distributor Signer Certificate Value: \n");
1097 value = __get_string_input_data();
1098 ret = pkgmgr_installer_set_cert_value(handle, 5, value);
1100 printf("pkgmgr_installer_set_cert_value failed\n");
1108 printf("Enter Distributor2 Root Certificate Value: \n");
1109 value = __get_string_input_data();
1110 ret = pkgmgr_installer_set_cert_value(handle, 6, value);
1112 printf("pkgmgr_installer_set_cert_value failed\n");
1120 printf("Enter Distributor2 Intermediate Certificate Value: \n");
1121 value = __get_string_input_data();
1122 ret = pkgmgr_installer_set_cert_value(handle, 7, value);
1124 printf("pkgmgr_installer_set_cert_value failed\n");
1132 printf("Enter Distributor2 Signer Certificate Value: \n");
1133 value = __get_string_input_data();
1134 ret = pkgmgr_installer_set_cert_value(handle, 8, value);
1136 printf("pkgmgr_installer_set_cert_value failed\n");
1144 printf("Invalid Number Entered\n");
1146 ret = pkgmgr_installer_destroy_certinfo_set_handle(handle);
1148 printf("pkgmgr_installer_destroy_certinfo_set_handle failed\n");
1159 pkgmgr_installer_destroy_certinfo_set_handle(handle);
1163 static int __set_pkginfo_in_db(char *pkgid)
1165 if (pkgid == NULL) {
1166 printf("pkgid is NULL\n");
1174 char *locale = NULL;
1175 pkgmgr_pkgdbinfo_h handle = NULL;
1176 INSTALL_LOCATION storage = 0;
1178 ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
1180 printf("pkgmgrinfo_create_pkgdbinfo failed\n");
1185 printf("Enter the choice you want to set\n");
1186 printf("0 --> to set data in DB\n");
1187 printf("1 --> pkg type\n");
1188 printf("2 --> pkg version\n");
1189 printf("3 --> pkg instal location\n");
1190 printf("4 --> pkg label\n");
1191 printf("5 --> pkg icon\n");
1192 printf("6 --> pkg description\n");
1193 printf("7 --> pkg author\n");
1194 printf("8 --> pkg removable\n");
1195 printf("9 --> pkg preload\n");
1196 printf("10 --> pkg size\n");
1197 printf("11 --> pkg installed storage\n");
1198 choice = __get_integer_input_data();
1201 ret = pkgmgrinfo_save_pkgdbinfo(handle);
1203 printf("pkgmgrinfo_save_pkgdbinfo failed\n");
1204 pkgmgrinfo_destroy_pkgdbinfo(handle);
1207 ret = pkgmgrinfo_destroy_pkgdbinfo(handle);
1209 printf("pkgmgrinfo_destroy_pkgdbinfo failed\n");
1214 printf("Enter type: \n");
1215 char *type = __get_string_input_data();
1216 ret = pkgmgrinfo_set_type_to_pkgdbinfo(handle, type);
1218 printf("pkgmgrinfo_set_type_to_pkgdbinfo failed\n");
1219 pkgmgrinfo_destroy_pkgdbinfo(handle);
1226 printf("Enter version: \n");
1227 char *version = __get_string_input_data();
1228 ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, version);
1230 printf("pkgmgrinfo_set_version_to_pkgdbinfo failed\n");
1231 pkgmgrinfo_destroy_pkgdbinfo(handle);
1238 printf("Enter install location [0:internal | 1:external]: \n");
1239 location = __get_integer_input_data();
1240 ret = pkgmgrinfo_set_install_location_to_pkgdbinfo(handle, location);
1242 printf("pkgmgrinfo_set_install_location_to_pkgdbinfo failed\n");
1243 pkgmgrinfo_destroy_pkgdbinfo(handle);
1248 printf("Enter label :\n");
1249 char *label = __get_string_input_data();
1250 printf("Enter locale ['def' for default]: \n");
1251 locale = __get_string_input_data();
1252 if (strcmp(locale, "def") == 0)
1253 ret = pkgmgrinfo_set_label_to_pkgdbinfo(handle, label, NULL);
1255 ret = pkgmgrinfo_set_label_to_pkgdbinfo(handle, label, locale);
1257 printf("pkgmgrinfo_set_label_to_pkgdbinfo failed\n");
1258 pkgmgrinfo_destroy_pkgdbinfo(handle);
1267 printf("Enter icon: \n");
1268 char *icon = __get_string_input_data();
1269 printf("Enter locale ['def' for default]: \n");
1270 locale = __get_string_input_data();
1271 if (strcmp(locale, "def") == 0)
1272 ret = pkgmgrinfo_set_icon_to_pkgdbinfo(handle, icon, NULL);
1274 ret = pkgmgrinfo_set_icon_to_pkgdbinfo(handle, icon, locale);
1276 printf("pkgmgrinfo_set_icon_to_pkgdbinfo failed\n");
1277 pkgmgrinfo_destroy_pkgdbinfo(handle);
1286 printf("Enter description: \n");
1287 char *description = __get_string_input_data();
1288 printf("Enter locale ['def' for default]: \n");
1289 locale = __get_string_input_data();
1290 if (strcmp(locale, "def") == 0)
1291 ret = pkgmgrinfo_set_description_to_pkgdbinfo(handle, description, NULL);
1293 ret = pkgmgrinfo_set_description_to_pkgdbinfo(handle, description, locale);
1295 printf("pkgmgrinfo_set_description_to_pkgdbinfo failed\n");
1296 pkgmgrinfo_destroy_pkgdbinfo(handle);
1305 printf("Enter author name: \n");
1306 char *author_name = __get_string_input_data();
1307 printf("Enter locale ['def' for default]: \n");
1308 locale = __get_string_input_data();
1309 printf("Enter author email: \n");
1310 char *author_email = __get_string_input_data();
1311 printf("Enter author href: \n");
1312 char *author_href = __get_string_input_data();
1313 if (strcmp(locale, "def") == 0)
1314 ret = pkgmgrinfo_set_author_to_pkgdbinfo(handle, author_name, author_email, author_href, NULL);
1316 ret = pkgmgrinfo_set_author_to_pkgdbinfo(handle, author_name, author_email, author_href, locale);
1318 printf("pkgmgrinfo_set_author_to_pkgdbinfo failed\n");
1319 pkgmgrinfo_destroy_pkgdbinfo(handle);
1332 printf("Enter removable [0:false | 1:true]: \n");
1333 removable = __get_integer_input_data();
1334 ret = pkgmgrinfo_set_removable_to_pkgdbinfo(handle, removable);
1336 printf("pkgmgrinfo_set_removable_to_pkgdbinfo failed\n");
1337 pkgmgrinfo_destroy_pkgdbinfo(handle);
1342 printf("Enter preload [0:false | 1:true]: \n");
1343 preload = __get_integer_input_data();
1344 ret = pkgmgrinfo_set_preload_to_pkgdbinfo(handle, preload);
1346 printf("pkgmgrinfo_set_preload_to_pkgdbinfo failed\n");
1347 pkgmgrinfo_destroy_pkgdbinfo(handle);
1352 printf("Enter size in MB \n");
1353 char *size = __get_string_input_data();
1354 ret = pkgmgrinfo_set_size_to_pkgdbinfo(handle, size);
1356 printf("pkgmgrinfo_set_size_to_pkgdbinfo failed\n");
1357 pkgmgrinfo_destroy_pkgdbinfo(handle);
1364 printf("Enter insatlled storage [ 0:INTERNAL | 1:EXTERNAL ] \n");
1365 storage = __get_integer_input_data();
1366 ret = pkgmgrinfo_set_installed_storage_to_pkgdbinfo(handle, storage);
1368 printf("pkgmgrinfo_set_installed_storage_to_pkgdbinfo failed\n");
1369 pkgmgrinfo_destroy_pkgdbinfo(handle);
1374 printf("Invalid number entered\n");
1381 static int __insert_manifest_in_db(char *manifest)
1384 if (manifest == NULL) {
1385 printf("Manifest file is NULL\n");
1388 ret = pkgmgr_parser_parse_manifest_for_installation(manifest, NULL);
1390 printf("insert in db failed\n");
1396 static int __remove_manifest_from_db(char *manifest)
1399 if (manifest == NULL) {
1400 printf("Manifest file is NULL\n");
1403 ret = pkgmgr_parser_parse_manifest_for_uninstallation(manifest, NULL);
1405 printf("remove from db failed\n");
1411 int app_func(const pkgmgr_appinfo_h handle, void *user_data)
1416 data = (char *)user_data;
1422 pkgmgr_app_component component = 0;
1423 char *apptype = NULL;
1426 bool taskmanage = 0;
1427 pkgmgr_hwacceleration_type hwacceleration;
1429 bool autorestart = 0;
1430 char *package = NULL;
1432 ret = pkgmgr_appinfo_get_appid(handle, &appid);
1434 printf("Failed to get appid\n");
1437 printf("Appid: %s\n", appid);
1439 ret = pkgmgr_appinfo_get_pkgid(handle, &package);
1441 printf("Failed to get package\n");
1444 printf("Package: %s\n", package);
1446 ret = pkgmgr_appinfo_get_exec(handle, &exec);
1448 printf("Failed to get exec\n");
1451 printf("Exec: %s\n", exec);
1453 ret = pkgmgr_appinfo_get_icon(handle, &icon);
1455 printf("Failed to get icon\n");
1458 printf("Icon: %s\n", icon);
1460 ret = pkgmgr_appinfo_get_label(handle, &label);
1462 printf("Failed to get label\n");
1465 printf("Label: %s\n", label);
1467 ret = pkgmgr_appinfo_get_component(handle, &component);
1469 printf("Failed to get component\n");
1472 ret = pkgmgr_appinfo_get_apptype(handle, &apptype);
1474 printf("Failed to get apptype\n");
1477 printf("Apptype: %s\n", apptype);
1479 if (component == PM_UI_APP) {
1480 printf("component: uiapp\n");
1481 ret = pkgmgr_appinfo_is_multiple(handle, &multiple);
1483 printf("Failed to get multiple\n");
1485 printf("Multiple: %d\n", multiple);
1488 ret = pkgmgr_appinfo_is_nodisplay(handle, &nodisplay);
1490 printf("Failed to get nodisplay\n");
1492 printf("Nodisplay: %d \n", nodisplay);
1495 ret = pkgmgr_appinfo_is_taskmanage(handle, &taskmanage);
1497 printf("Failed to get taskmanage\n");
1499 printf("Taskmanage: %d\n", taskmanage);
1502 ret = pkgmgr_appinfo_get_hwacceleration(handle, &hwacceleration);
1504 printf("Failed to get hwacceleration\n");
1506 printf("hw-acceleration: %d\n", hwacceleration);
1510 if (component == PM_SVC_APP) {
1511 printf("component: svcapp\n");
1512 ret = pkgmgr_appinfo_is_onboot(handle, &onboot);
1514 printf("Failed to get onboot\n");
1516 printf("Onboot: %d\n", onboot);
1519 ret = pkgmgr_appinfo_is_autorestart(handle, &autorestart);
1521 printf("Failed to get autorestart\n");
1523 printf("Autorestart: %d \n", autorestart);
1527 printf("user_data : %s\n\n", data);
1533 static int __pkg_list_cb (const pkgmgr_pkginfo_h handle, void *user_data)
1535 char *test_data = "test data";
1541 int installed_time = -1;
1543 ret = pkgmgr_pkginfo_get_pkgid(handle, &pkgid);
1545 printf("pkgmgr_pkginfo_get_pkgid() failed\n");
1547 ret = pkgmgr_pkginfo_get_type(handle, &pkg_type);
1549 printf("pkgmgr_pkginfo_get_type() failed\n");
1551 ret = pkgmgr_pkginfo_get_version(handle, &pkg_version);
1553 printf("pkgmgr_pkginfo_get_version() failed\n");
1555 ret = pkgmgr_pkginfo_is_preload(handle, &preload);
1557 printf("pkgmgr_pkginfo_is_preload() failed\n");
1559 ret = pkgmgr_pkginfo_get_installed_time(handle, &installed_time);
1561 printf("pkgmgr_pkginfo_get_installed_time() failed\n");
1565 printf("---------------------------------------\n");
1566 printf("pkg_type [%s]\tpkgid [%s]\tversion [%s]\tpreload [%d]\tinstalled_time [%d]\n", pkg_type,
1567 pkgid, pkg_version, preload, installed_time);
1569 printf("**List of Ui-Apps**\n");
1570 ret = pkgmgr_appinfo_get_list(handle, PM_UI_APP, app_func, (void *)test_data);
1572 printf("pkgmgr_get_info_app() failed\n");
1574 printf("**List of Svc-Apps**\n");
1575 ret = pkgmgr_appinfo_get_list(handle, PM_SVC_APP, app_func, (void *)test_data);
1577 printf("pkgmgr_get_info_app() failed\n");
1580 printf("---------------------------------------\n");
1585 static int __get_pkg_list()
1588 ret = pkgmgr_pkginfo_get_list(__pkg_list_cb, NULL);
1590 printf("pkgmgr_pkginfo_get_list() failed\n");
1596 static int __get_installed_app_list()
1599 ret = pkgmgrinfo_appinfo_get_installed_list(app_func, NULL);
1601 printf("pkgmgrinfo_appinfo_get_installed_list() failed\n");
1608 static int __app_category_list_cb(const char *category_name, void *user_data)
1611 printf("Category: %s\n", category_name);
1615 static int __app_metadata_list_cb(const char *metadata_name, const char *metadata_value, void *user_data)
1617 if (metadata_name && metadata_value) {
1618 printf("Name: %s\n", metadata_name);
1619 printf("Value: %s\n", metadata_value);
1625 static int __app_control_list_cb(pkgmgrinfo_appcontrol_h handle, void *user_data)
1627 printf("-------------------------------------------------------\n");
1633 char **operation = NULL;
1636 ret = pkgmgrinfo_appinfo_get_operation(handle, &oc, &operation);
1638 printf("Get Operation Failed\n");
1641 ret = pkgmgrinfo_appinfo_get_uri(handle, &uc, &uri);
1643 printf("Get Uri Failed\n");
1646 ret = pkgmgrinfo_appinfo_get_mime(handle, &mc, &mime);
1648 printf("Get Mime Failed\n");
1651 for (i = 0; i < oc; i++) {
1652 if (operation && operation[i])
1653 printf("Operation: %s\n", operation[i]);
1655 for (i = 0; i < uc; i++) {
1657 printf("Uri: %s\n", uri[i]);
1659 for (i = 0; i < mc; i++) {
1660 if (mime && mime[i])
1661 printf("Mime: %s\n", mime[i]);
1663 printf("-------------------------------------------------------\n\n");
1668 static int __get_app_category_list(char *appid)
1671 pkgmgr_appinfo_h handle;
1672 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1674 printf("Failed to get handle\n");
1677 ret = pkgmgr_appinfo_foreach_category(handle, __app_category_list_cb, NULL);
1679 printf("pkgmgr_appinfo_foreach_category() failed\n");
1680 pkgmgr_appinfo_destroy_appinfo(handle);
1683 pkgmgr_appinfo_destroy_appinfo(handle);
1687 static int __get_app_metadata_list(char *appid)
1690 pkgmgr_appinfo_h handle;
1691 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1693 printf("Failed to get handle\n");
1696 ret = pkgmgrinfo_appinfo_foreach_metadata(handle, __app_metadata_list_cb, NULL);
1698 printf("pkgmgrinfo_appinfo_foreach_metadata() failed\n");
1699 pkgmgr_appinfo_destroy_appinfo(handle);
1702 pkgmgr_appinfo_destroy_appinfo(handle);
1706 static int __get_app_control_list(char *appid)
1709 pkgmgr_appinfo_h handle;
1710 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1712 printf("Failed to get handle\n");
1715 ret = pkgmgrinfo_appinfo_foreach_appcontrol(handle, __app_control_list_cb, NULL);
1717 printf("pkgmgrinfo_appinfo_foreach_appcontrol() failed\n");
1718 pkgmgr_appinfo_destroy_appinfo(handle);
1721 pkgmgr_appinfo_destroy_appinfo(handle);
1725 static int __get_app_visibility(char *appid)
1729 pkgmgr_appinfo_h handle;
1730 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1732 printf("Failed to get handle\n");
1735 ret = pkgmgrinfo_appinfo_is_guestmode_visibility(handle, &status);
1737 printf("pkgmgrinfo_appinfo_is_guestmode_visibility failed\n");
1738 pkgmgr_appinfo_destroy_appinfo(handle);
1741 pkgmgr_appinfo_destroy_appinfo(handle);
1742 printf("visibility Status is %d\n",status);
1746 static int __set_app_visibility(char *appid)
1750 pkgmgrinfo_appinfo_h handle;
1751 printf("Enter [0/1]: 0--Hide, 1-Show\n");
1752 value = __get_integer_input_data();
1753 ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
1754 if (ret != PMINFO_R_OK)
1756 ret = pkgmgrinfo_appinfo_set_guestmode_visibility(handle, value);
1757 if (ret != PMINFO_R_OK) {
1758 pkgmgrinfo_appinfo_destroy_appinfo(handle);
1761 pkgmgrinfo_appinfo_destroy_appinfo(handle);
1765 static int __set_app_enabled(char *appid, bool enabled)
1768 ret = pkgmgrinfo_appinfo_set_state_enabled(appid, enabled);
1770 printf("Failed to get handle\n");
1776 static int __get_app_list(char *pkgid)
1778 pkgmgr_pkginfo_h handle;
1780 char *test_data = "test data";
1781 ret = pkgmgr_pkginfo_get_pkginfo(pkgid, &handle);
1783 printf("Failed to get handle\n");
1786 printf("List of Ui-Apps\n\n");
1787 ret = pkgmgr_appinfo_get_list(handle, PM_UI_APP, app_func, (void *)test_data);
1789 printf("pkgmgr_appinfo_get_list() failed\n");
1791 printf("List of Svc-Apps\n\n");
1792 ret = pkgmgr_appinfo_get_list(handle, PM_SVC_APP, app_func, (void *)test_data);
1794 printf("pkgmgr_appinfo_get_list() failed\n");
1796 pkgmgr_pkginfo_destroy_pkginfo(handle);
1800 static int __get_pkg_info(char *pkgid)
1802 pkgmgr_pkginfo_h handle;
1805 char *version = NULL;
1806 char *author_name = NULL;
1807 char *author_email = NULL;
1808 char *author_href = NULL;
1809 pkgmgr_install_location location = 0;
1817 int installed_time = -1;
1819 printf("Get Pkg Info Called [%s]\n", pkgid);
1820 ret = pkgmgr_pkginfo_get_pkginfo(pkgid, &handle);
1822 printf("Failed to get handle\n");
1826 ret = pkgmgr_pkginfo_get_type(handle, &type);
1828 printf("Failed to get pkg type\n");
1831 printf("Type: %s\n", type);
1833 ret = pkgmgr_pkginfo_get_version(handle, &version);
1835 printf("Failed to get version\n");
1838 printf("Version: %s\n", version);
1840 ret = pkgmgr_pkginfo_get_install_location(handle, &location);
1842 printf("Failed to get install location\n");
1844 printf("Install Location: %d\n", location);
1846 ret = pkgmgr_pkginfo_get_package_size(handle, &size);
1848 printf("Failed to get package size \n");
1850 printf("Package Size: %d\n", size);
1852 ret = pkgmgr_pkginfo_get_icon(handle, &icon);
1854 printf("Failed to get icon\n");
1857 printf("Icon: %s\n", icon);
1859 ret = pkgmgr_pkginfo_get_label(handle, &label);
1861 printf("Failed to get label\n");
1864 printf("Label: %s\n", label);
1866 ret = pkgmgr_pkginfo_get_description(handle, &desc);
1868 printf("Failed to get description\n");
1871 printf("Description: %s\n", desc);
1873 ret = pkgmgr_pkginfo_get_author_name(handle, &author_name);
1875 printf("Failed to get author name\n");
1878 printf("Author Name: %s\n", author_name);
1880 ret = pkgmgr_pkginfo_get_author_email(handle, &author_email);
1882 printf("Failed to get author email\n");
1885 printf("Author Email: %s\n", author_email);
1887 ret = pkgmgr_pkginfo_get_author_href(handle, &author_href);
1889 printf("Failed to get author href\n");
1892 printf("Author Href: %s\n", author_href);
1894 ret = pkgmgr_pkginfo_is_removable(handle, &removable);
1896 printf("Failed to get removable\n");
1899 printf("Removable: %d\n", removable);
1901 ret = pkgmgr_pkginfo_is_preload(handle, &preload);
1903 printf("Failed to get preload\n");
1906 printf("Preload: %d\n", preload);
1908 ret = pkgmgr_pkginfo_is_readonly(handle, &readonly);
1910 printf("Failed to get readonly\n");
1913 printf("Readonly: %d\n", readonly);
1915 ret = pkgmgr_pkginfo_get_installed_time(handle, &installed_time);
1917 printf("Failed to get install time\n");
1919 printf("Install time: %d\n", installed_time);
1921 pkgmgr_pkginfo_destroy_pkginfo(handle);
1925 static int __get_app_info(char *appid)
1927 printf("Get App Info Called [%s]\n", appid);
1929 char *app_id = NULL;
1930 char *apptype = NULL;
1933 char *package = NULL;
1934 pkgmgr_app_component component = 0;
1937 bool taskmanage = 0;
1938 pkgmgr_hwacceleration_type hwacceleration;
1940 bool autorestart = 0;
1942 pkgmgr_appinfo_h handle;
1945 ret = pkgmgr_appinfo_get_appinfo(appid, &handle);
1947 printf("Failed to get handle\n");
1951 ret = pkgmgr_appinfo_get_pkgid(handle, &package);
1953 printf("Failed to get package\n");
1956 ret = pkgmgr_appinfo_get_appid(handle, &app_id);
1958 printf("Failed to get exec\n");
1961 ret = pkgmgr_appinfo_get_label(handle, &label);
1963 printf("Failed to get label\n");
1965 ret = pkgmgr_appinfo_get_icon(handle, &icon);
1967 printf("Failed to get icon\n");
1970 ret = pkgmgr_appinfo_get_exec(handle, &exec);
1972 printf("Failed to get exec\n");
1974 ret = pkgmgr_appinfo_get_component(handle, &component);
1976 printf("Failed to get component\n");
1978 ret = pkgmgr_appinfo_get_apptype(handle, &apptype);
1980 printf("Failed to get apptype\n");
1982 ret = pkgmgr_appinfo_is_nodisplay(handle, &nodisplay);
1984 printf("Failed to get nodisplay\n");
1986 ret = pkgmgr_appinfo_is_multiple(handle, &multiple);
1988 printf("Failed to get multiple\n");
1990 ret = pkgmgr_appinfo_is_taskmanage(handle, &taskmanage);
1992 printf("Failed to get taskmanage\n");
1994 ret = pkgmgr_appinfo_get_hwacceleration(handle, &hwacceleration);
1996 printf("Failed to get hwacceleration\n");
1998 ret = pkgmgr_appinfo_is_onboot(handle, &onboot);
2000 printf("Failed to get onboot\n");
2002 ret = pkgmgr_appinfo_is_autorestart(handle, &autorestart);
2004 printf("Failed to get autorestart\n");
2006 ret = pkgmgrinfo_appinfo_is_enabled(handle, &enabled);
2008 printf("Failed to get enabled\n");
2012 printf("Appid: %s\n", app_id);
2015 printf("Package: %s\n", package);
2018 printf("Exec: %s\n", exec);
2020 printf("Apptype: %s\n", apptype);
2022 if (component == PM_UI_APP) {
2023 printf("component: uiapp\n");
2026 printf("Icon: %s\n", icon);
2028 printf("Label: %s\n", label);
2030 printf("Nodisplay: %d\n", nodisplay);
2031 printf("Multiple: %d\n", multiple);
2032 printf("Taskmanage: %d\n", taskmanage);
2033 printf("Hw-Acceleration: %d\n", hwacceleration);
2034 } else if (component == PM_SVC_APP) {
2035 printf("component: svcapp\n");
2038 printf("Icon: %s\n", icon);
2040 printf("Label: %s\n", label);
2042 printf("Autorestart: %d\n", autorestart);
2043 printf("Onboot: %d\n", onboot);
2045 printf("Invalid Component Type\n");
2048 printf("Enabled: %d\n", enabled);
2050 pkgmgr_appinfo_destroy_appinfo(handle);
2055 static int __check_manifest_validation(char *manifest)
2058 if (manifest == NULL) {
2059 printf("Manifest file is NULL\n");
2062 ret = pkgmgr_parser_check_manifest_validation(manifest);
2064 printf("check manifest validation failed\n");
2070 int main(int argc, char *argv[])
2073 char *locale = NULL;
2078 gettimeofday(&tv, NULL);
2079 starttime = tv.tv_sec * 1000l + tv.tv_usec / 1000l;
2081 locale = vconf_get_str(VCONFKEY_LANGSET);
2082 if (locale == NULL) {
2083 printf("locale is NULL\n");
2088 printf("Locale is %s\n", locale);
2094 if (strcmp(argv[1], "--listpkg") == 0) {
2095 ret = __get_pkg_list();
2097 printf("get pkg list failed\n");
2102 } else if (strcmp(argv[1], "--app-flt") == 0) {
2103 ret = __add_app_filter();
2105 printf("Adding app filter failed\n");
2110 } else if (strcmp(argv[1], "--pkg-flt") == 0) {
2111 ret = __add_pkg_filter();
2113 printf("Adding pkg filter failed\n");
2118 } else if (strcmp(argv[1], "--metadata-flt") == 0) {
2119 ret = __add_metadata_filter();
2121 printf("Adding pkg filter failed\n");
2126 } else if (strcmp(argv[1], "--listapp") == 0) {
2127 ret = __get_installed_app_list();
2129 printf("get installed app list failed\n");
2139 }else if (argc == 4) {
2140 if (strcmp(argv[1], "--setappenabled") == 0) {
2141 ret = __set_app_enabled(argv[2], (strcmp(argv[3], "0")==0)?false:true);
2143 printf("set app enabled failed\n");
2147 } else if(strcmp(argv[1], "--setpkgenabled") == 0) {
2148 ret = __set_app_enabled(argv[2], (strcmp(argv[3], "0")==0)?false:true);
2150 printf("set pkg enabled failed\n");
2154 } else if (strcmp(argv[1], "--cmp-pkgcert") == 0) {
2155 ret = __compare_pkg_certinfo_from_db(argv[2], argv[3]);
2157 printf("compare certinfo from db failed\n");
2161 } else if (strcmp(argv[1], "--cmp-appcert") == 0) {
2162 ret = __compare_app_certinfo_from_db(argv[2], argv[3]);
2164 printf("compare certinfo from db failed\n");
2168 } else if (strcmp(argv[1], "--arg-flt") == 0) {
2169 ret = __add_arg_filter(argv[2], argv[3]);
2171 printf("compare certinfo from db failed\n");
2187 if (!argv[1] || !argv[2]) {
2193 if (strcmp(argv[1], "--pkg") == 0) {
2194 ret = __get_pkg_info(argv[2]);
2196 printf("get pkg info failed\n");
2199 } else if (strcmp(argv[1], "--app") == 0) {
2200 ret = __get_app_info(argv[2]);
2202 printf("get app info failed\n");
2205 } else if (strcmp(argv[1], "--list") == 0) {
2206 ret = __get_app_list(argv[2]);
2208 printf("get app list failed\n");
2211 } else if (strcmp(argv[1], "--imd") == 0) {
2212 ret = __insert_manifest_in_db(argv[2]);
2214 printf("insert in db failed\n");
2217 } else if (strcmp(argv[1], "--rmd") == 0) {
2218 ret = __remove_manifest_from_db(argv[2]);
2220 printf("remove from db failed\n");
2223 } else if (strcmp(argv[1], "--setdb") == 0) {
2224 ret = __set_pkginfo_in_db(argv[2]);
2226 printf("set pkginfo in db failed\n");
2229 } else if (strcmp(argv[1], "--setcert") == 0) {
2230 ret = __set_certinfo_in_db(argv[2]);
2232 printf("set certinfo in db failed\n");
2235 } else if (strcmp(argv[1], "--getcert") == 0) {
2236 ret = __get_certinfo_from_db(argv[2]);
2238 printf("get certinfo from db failed\n");
2241 } else if (strcmp(argv[1], "--delcert") == 0) {
2242 ret = __del_certinfo_from_db(argv[2]);
2244 printf("del certinfo from db failed\n");
2247 } else if (strcmp(argv[1], "--check") == 0) {
2248 ret = __check_manifest_validation(argv[2]);
2250 printf("check manifest failed\n");
2253 } else if (strcmp(argv[1], "--category") == 0) {
2254 ret = __get_app_category_list(argv[2]);
2256 printf("get app category list failed\n");
2259 } else if (strcmp(argv[1], "--metadata") == 0) {
2260 ret = __get_app_metadata_list(argv[2]);
2262 printf("get app metadata list failed\n");
2265 } else if (strcmp(argv[1], "--appcontrol") == 0) {
2266 ret = __get_app_control_list(argv[2]);
2268 printf("get app control list failed\n");
2271 } else if (strcmp(argv[1], "--getvisibility") == 0) {
2272 ret = __get_app_visibility(argv[2]);
2274 printf("get app visibility failed\n");
2277 } else if (strcmp(argv[1], "--setvisibility") == 0) {
2278 ret = __set_app_visibility(argv[2]);
2280 printf("set app visibility failed\n");
2288 gettimeofday(&tv, NULL);
2289 endtime = tv.tv_sec * 1000l + tv.tv_usec / 1000l;
2291 printf("spend time for pkginfo is [%d]ms\n", (int)(endtime - starttime));