1 // Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include <package-manager.h>
6 #include <package-manager-types.h>
7 #include <package-manager-plugin.h>
9 #include "base/logging.h"
10 #include "xwalk/application/tools/tizen/xwalk_backend_plugin.h"
12 #define API_EXPORT __attribute__((visibility("default")))
17 API_EXPORT int pkg_plugin_on_load(pkg_plugin_set *set);
19 void pkg_plugin_on_unload();
20 int pkg_plugin_get_app_detail_info(
21 const char* pkg_name, package_manager_pkg_detail_info_t* pkg_detail_info);
22 int pkg_plugin_get_app_detail_info_from_package(
23 const char* pkg_path, package_manager_pkg_detail_info_t* pkg_detail_info);
24 int pkg_plugin_app_is_installed(const char* pkg_name);
25 int pkg_plugin_get_installed_apps_list(
26 const char* category, const char* option, package_manager_pkg_info_t** list,
30 int pkg_plugin_on_load(pkg_plugin_set* set) {
31 LOG(INFO) << "Crosswalk backend plugin - load";
36 memset(set, 0x00, sizeof(pkg_plugin_set));
38 set->plugin_on_unload = pkg_plugin_on_unload;
39 set->pkg_is_installed = pkg_plugin_app_is_installed;
40 set->get_installed_pkg_list = pkg_plugin_get_installed_apps_list;
41 set->get_pkg_detail_info = pkg_plugin_get_app_detail_info;
42 set->get_pkg_detail_info_from_package =
43 pkg_plugin_get_app_detail_info_from_package;
48 void pkg_plugin_on_unload() {
49 LOG(INFO) << "Crosswalk backend plugin - unload";
52 int pkg_plugin_get_app_detail_info(
53 const char *pkg_name, package_manager_pkg_detail_info_t *pkg_detail_info) {
54 LOG(INFO) << "Crosswalk backend plugin - pkg_plugin_get_app_detail_info";
56 return PkgmgrBackendPlugin::GetInstance()->DetailedInfo(pkg_name,
60 int pkg_plugin_get_app_detail_info_from_package(
61 const char *pkg_path, package_manager_pkg_detail_info_t *pkg_detail_info) {
63 << "Crosswalk backend plugin - pkg_plugin_get_app_detail_info_from_package";
65 return PkgmgrBackendPlugin::GetInstance()->DetailedInfoPkg(pkg_path,
69 int pkg_plugin_app_is_installed(const char *pkg_name) {
70 LOG(INFO) << "Crosswalk backend plugin - pkg_plugin_app_is_installed";
72 return PkgmgrBackendPlugin::GetInstance()->IsAppInstalled(pkg_name);
75 int pkg_plugin_get_installed_apps_list(const char* category,
77 package_manager_pkg_info_t** list,
79 LOG(INFO) << "Crosswalk backend plugin - pkg_plugin_get_installed_apps_list";
81 return PkgmgrBackendPlugin::GetInstance()->AppsList(list, count);