From: ilho kim Date: Mon, 6 Mar 2023 04:34:47 +0000 (+0900) Subject: Add package paremeter to application filter X-Git-Tag: accepted/tizen/unified/20230310.062643~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d525fbfa4ccda48662a81c5913000f3dcc42a05c;p=platform%2Fcore%2Fappfw%2Fpkgmgr-info.git Add package paremeter to application filter Package information of the application may be required in the application filter Change-Id: I1386eb75cd30f939eef253621b13300904398b1a Signed-off-by: ilho kim --- diff --git a/src/server/database/db_handle_provider.cc b/src/server/database/db_handle_provider.cc index 78bc332f..258862e0 100644 --- a/src/server/database/db_handle_provider.cc +++ b/src/server/database/db_handle_provider.cc @@ -483,22 +483,32 @@ void DBHandleProvider::AddPackage(std::string package, } inline bool CheckAppFilters(pkgmgrinfo_filter_x* filter, - const std::shared_ptr& info, + const std::shared_ptr& app_info, + const std::shared_ptr& pkg_info, const std::unordered_map& metadata_map) { for (auto* it = filter->list; it != nullptr; it = g_slist_next(it)) { auto node = reinterpret_cast(it->data); auto* checker = FilterCheckerProvider::GetInst(). GetAppFilterChecker(node->prop); - if (!checker->CheckFilter(node, info.get())) + if (!checker->CheckFilter(node, app_info.get(), pkg_info.get())) return false; } bool pass = true; if (!metadata_map.empty()) - pass = CheckMetadataFilter(info->metadata, metadata_map); + pass = CheckMetadataFilter(app_info->metadata, metadata_map); return pass; } +std::shared_ptr DBHandleProvider::GetPackageByApp( + const char* appid) { + auto it = pkg_map_.find(appid); + if (it == pkg_map_.end()) + return nullptr; + + return it->second; +} + std::vector> DBHandleProvider::GetApplications( pid_t pid, pkgmgrinfo_filter_x* filter, const std::string& app) { @@ -523,13 +533,15 @@ std::vector> DBHandleProvider::GetApplications( if (app.empty()) { for (auto& info : app_map_) { - if (CheckAppFilters(filter, info.second, metadata_map)) + if (CheckAppFilters(filter, info.second, + GetPackageByApp(info.second->package), metadata_map)) ret.push_back(info.second); } } else { auto map_it = app_map_.find(app); if (map_it != app_map_.end() && - CheckAppFilters(filter, map_it->second, metadata_map)) + CheckAppFilters(filter, map_it->second, + GetPackageByApp(map_it->second->package), metadata_map)) ret.push_back(map_it->second); } diff --git a/src/server/database/db_handle_provider.hh b/src/server/database/db_handle_provider.hh index 324f23cd..e8ec9eeb 100644 --- a/src/server/database/db_handle_provider.hh +++ b/src/server/database/db_handle_provider.hh @@ -81,6 +81,7 @@ class EXPORT_API DBHandleProvider { void AddApplication(std::string app, std::shared_ptr info); void InsertPID(pid_t pid); bool ErasePID(pid_t pid); + std::shared_ptr GetPackageByApp(const char* appid); private: static std::unordered_mapvalue != nullptr && info->is_disabled != nullptr && - strcasecmp(node->value, info->is_disabled) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->is_disabled != nullptr && + strcasecmp(node->value, app_info->is_disabled) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/app_disable_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/app_disable_app_filter_checker.hh index dae22bf3..0a932d12 100644 --- a/src/server/filter_checker/app_filter_checker/app_disable_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/app_disable_app_filter_checker.hh @@ -29,7 +29,8 @@ class AppDisableAppFilterChecker: public IAppFilterChecker { public: AppDisableAppFilterChecker() = default; ~AppDisableAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.cc index 98b7b898..d3440f35 100644 --- a/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool AppIdAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->appid != nullptr && - strcmp(node->value, info->appid) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->appid != nullptr && + strcmp(node->value, app_info->appid) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.hh index 83d0ada1..374d20bb 100644 --- a/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/appid_app_filter_checker.hh @@ -29,7 +29,8 @@ class AppIdAppFilterChecker: public IAppFilterChecker { public: AppIdAppFilterChecker() = default; ~AppIdAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.cc index 2f456902..558e2437 100644 --- a/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool AutoRestartAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->autorestart != nullptr && - strcasecmp(node->value, info->autorestart) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->autorestart != nullptr && + strcasecmp(node->value, app_info->autorestart) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.hh index 9f581141..55d81201 100644 --- a/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/auto_restart_app_filter_checker.hh @@ -29,7 +29,8 @@ class AutoRestartAppFilterChecker: public IAppFilterChecker { public: AutoRestartAppFilterChecker() = default; ~AutoRestartAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/category_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/category_app_filter_checker.cc index c84737a2..55d5e534 100644 --- a/src/server/filter_checker/app_filter_checker/category_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/category_app_filter_checker.cc @@ -25,8 +25,8 @@ namespace pkgmgr_server { namespace database { bool CategoryAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - for (auto* it = info->category; it != nullptr; it = g_list_next(it)) { + application_x* app_info, package_x* pkg_info) { + for (auto* it = app_info->category; it != nullptr; it = g_list_next(it)) { char* value = reinterpret_cast(it->data); if (value != nullptr && strcmp(value, node->value) == 0) return true; } diff --git a/src/server/filter_checker/app_filter_checker/category_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/category_app_filter_checker.hh index 155b5a30..326e0b1d 100644 --- a/src/server/filter_checker/app_filter_checker/category_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/category_app_filter_checker.hh @@ -29,7 +29,8 @@ class CategoryAppFilterChecker: public IAppFilterChecker { public: CategoryAppFilterChecker() = default; ~CategoryAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.cc index 8878aab9..4101bf8b 100644 --- a/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool CheckStorageAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { + application_x* app_info, package_x* pkg_info) { return (node->value == nullptr || strcasecmp(node->value, "true") != 0 || - __appinfo_check_installed_storage(info) == PMINFO_R_OK); + __appinfo_check_installed_storage(app_info) == PMINFO_R_OK); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.hh index b075c810..f21a1317 100644 --- a/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/check_storage_app_filter_checker.hh @@ -29,7 +29,8 @@ class CheckStorageAppFilterChecker: public IAppFilterChecker { public: CheckStorageAppFilterChecker() = default; ~CheckStorageAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/component_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/component_app_filter_checker.cc index 9352fbd0..7de9fecc 100644 --- a/src/server/filter_checker/app_filter_checker/component_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/component_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool ComponentAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->component != nullptr && - strcmp(node->value, info->component) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->component != nullptr && + strcmp(node->value, app_info->component) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/component_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/component_app_filter_checker.hh index 80ac0c70..68ac2b98 100644 --- a/src/server/filter_checker/app_filter_checker/component_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/component_app_filter_checker.hh @@ -29,7 +29,8 @@ class ComponentAppFilterChecker: public IAppFilterChecker { public: ComponentAppFilterChecker() = default; ~ComponentAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/default_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/default_app_filter_checker.cc index 16b74ed5..04c3b70e 100644 --- a/src/server/filter_checker/app_filter_checker/default_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/default_app_filter_checker.cc @@ -23,7 +23,7 @@ namespace pkgmgr_server { namespace database { bool DefaultAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { + application_x* app_info, package_x* pkg_info) { return true; } diff --git a/src/server/filter_checker/app_filter_checker/default_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/default_app_filter_checker.hh index 490273a7..7d3f3773 100644 --- a/src/server/filter_checker/app_filter_checker/default_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/default_app_filter_checker.hh @@ -29,7 +29,8 @@ class DefaultAppFilterChecker: public IAppFilterChecker { public: DefaultAppFilterChecker() = default; ~DefaultAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.cc index 184d9601..541bfe7a 100644 --- a/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool ExecAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->exec != nullptr && - strcmp(node->value, info->exec) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->exec != nullptr && + strcmp(node->value, app_info->exec) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.hh index ae4593d3..17b394c9 100644 --- a/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/exec_app_filter_checker.hh @@ -29,7 +29,8 @@ class ExecAppFilterChecker: public IAppFilterChecker { public: ExecAppFilterChecker() = default; ~ExecAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.cc index f6756fbf..256d5e99 100644 --- a/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool HWAccelerationAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->hwacceleration != nullptr && - strcmp(node->value, info->hwacceleration) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->hwacceleration != nullptr && + strcmp(node->value, app_info->hwacceleration) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.hh index 931ce00d..34b1159e 100644 --- a/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/hw_acceleration_app_filter_checker.hh @@ -29,7 +29,8 @@ class HWAccelerationAppFilterChecker: public IAppFilterChecker { public: HWAccelerationAppFilterChecker() = default; ~HWAccelerationAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.cc index f04fc293..362a63e2 100644 --- a/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.cc @@ -23,11 +23,11 @@ namespace pkgmgr_server { namespace database { bool IconAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { + application_x* app_info, package_x* pkg_info) { if (node->value == nullptr) return false; - for (auto* it = info->icon; it; it = g_list_next(it)) { + for (auto* it = app_info->icon; it; it = g_list_next(it)) { auto path = reinterpret_cast(it->data)->text; if (path != nullptr && strcmp(path, node->value) == 0) return true; diff --git a/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.hh index 9f836174..c001f8d7 100644 --- a/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/icon_app_filter_checker.hh @@ -29,7 +29,8 @@ class IconAppFilterChecker: public IAppFilterChecker { public: IconAppFilterChecker() = default; ~IconAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.cc index 17981ba0..5bb37af6 100644 --- a/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool LaunchConditionAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->launchcondition != nullptr && - strcmp(node->value, info->launchcondition) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->launchcondition != nullptr && + strcmp(node->value, app_info->launchcondition) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.hh index 57c97461..d21e790d 100644 --- a/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/launch_condition_app_filter_checker.hh @@ -29,7 +29,8 @@ class LaunchConditionAppFilterChecker: public IAppFilterChecker { public: LaunchConditionAppFilterChecker() = default; ~LaunchConditionAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.cc index d296ab0d..2dd82370 100644 --- a/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.cc @@ -22,10 +22,10 @@ namespace pkgmgr_server { namespace database { bool MimeAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { + application_x* app_info, package_x* pkg_info) { if (node->value == nullptr) return false; - for (auto* it = info->appcontrol; it != nullptr; it = g_list_next(it)) { + for (auto* it = app_info->appcontrol; it != nullptr; it = g_list_next(it)) { char* value = reinterpret_cast(it->data)->mime; if (value != nullptr && strcmp(value, node->value) == 0) return true; diff --git a/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.hh index adfef2f4..8fef5edf 100644 --- a/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/mime_app_filter_checker.hh @@ -29,7 +29,8 @@ class MimeAppFilterChecker: public IAppFilterChecker { public: MimeAppFilterChecker() = default; ~MimeAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.cc index a54da864..ee77f167 100644 --- a/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool MultipleAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->multiple != nullptr && - strcasecmp(node->value, info->multiple) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->multiple != nullptr && + strcasecmp(node->value, app_info->multiple) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.hh index 5462e872..4542014f 100644 --- a/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/multiple_app_filter_checker.hh @@ -29,7 +29,8 @@ class MultipleAppFilterChecker: public IAppFilterChecker { public: MultipleAppFilterChecker() = default; ~MultipleAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.cc index dfdcdbfa..9f888754 100644 --- a/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool NoDisplayAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->nodisplay != nullptr && - strcasecmp(node->value, info->nodisplay) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->nodisplay != nullptr && + strcasecmp(node->value, app_info->nodisplay) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.hh index ee17527c..5e0ef155 100644 --- a/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/nodisplay_app_filter_checker.hh @@ -29,7 +29,8 @@ class NoDisplayAppFilterChecker: public IAppFilterChecker { public: NoDisplayAppFilterChecker() = default; ~NoDisplayAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.cc index 0ad65598..baa916d5 100644 --- a/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool OnBootAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->onboot != nullptr && - strcasecmp(node->value, info->onboot) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->onboot != nullptr && + strcasecmp(node->value, app_info->onboot) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.hh index 83a49659..f4988f11 100644 --- a/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/onboot_app_filter_checker.hh @@ -29,7 +29,8 @@ class OnBootAppFilterChecker: public IAppFilterChecker { public: OnBootAppFilterChecker() = default; ~OnBootAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.cc index 289188a3..8ccdaf52 100644 --- a/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.cc @@ -22,8 +22,8 @@ namespace pkgmgr_server { namespace database { bool OperationAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - for (auto* it = info->appcontrol; it != nullptr; it = g_list_next(it)) { + application_x* app_info, package_x* pkg_info) { + for (auto* it = app_info->appcontrol; it != nullptr; it = g_list_next(it)) { char* value = reinterpret_cast(it->data)->operation; if (value != nullptr && strcmp(value, node->value) == 0) return true; diff --git a/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.hh index 0c8f9f1f..56602cc0 100644 --- a/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/operation_app_filter_checker.hh @@ -29,7 +29,8 @@ class OperationAppFilterChecker: public IAppFilterChecker { public: OperationAppFilterChecker() = default; ~OperationAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.cc index bd9d1169..96a042bc 100644 --- a/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.cc @@ -23,7 +23,7 @@ namespace pkgmgr_server { namespace database { bool PkgDisableAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { + application_x* app_info, package_x* pkg_info) { return (node->value != nullptr && strcasecmp(node->value, "false") == 0); } diff --git a/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.hh index 7fd69026..d081ead9 100644 --- a/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/pkg_disable_app_filter_checker.hh @@ -29,7 +29,8 @@ class PkgDisableAppFilterChecker: public IAppFilterChecker { public: PkgDisableAppFilterChecker() = default; ~PkgDisableAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.cc index 08d20937..0d5bd96e 100644 --- a/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool PkgIdAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->package != nullptr && - strcmp(node->value, info->package) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->package != nullptr && + strcmp(node->value, app_info->package) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.hh index 1f35348e..f49116de 100644 --- a/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/pkgid_app_filter_checker.hh @@ -29,7 +29,8 @@ class PkgIdAppFilterChecker: public IAppFilterChecker { public: PkgIdAppFilterChecker() = default; ~PkgIdAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.cc index 916c8d6b..2db2a872 100644 --- a/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.cc @@ -22,8 +22,8 @@ namespace pkgmgr_server { namespace database { bool PrivilegeAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - for (auto* it = info->privileges; it != nullptr; it = g_list_next(it)) { + application_x* app_info, package_x* pkg_info) { + for (auto* it = app_info->privileges; it != nullptr; it = g_list_next(it)) { char* value = reinterpret_cast(it->data)->value; if (value != nullptr && strcmp(value, node->value) == 0) return true; } diff --git a/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.hh index f9467987..10d5ce4f 100644 --- a/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/privilege_app_filter_checker.hh @@ -29,7 +29,8 @@ class PrivilegeAppFilterChecker: public IAppFilterChecker { public: PrivilegeAppFilterChecker() = default; ~PrivilegeAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.cc index 6536c02b..2ce7ed65 100644 --- a/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool ScreenReaderAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->screenreader != nullptr && - strcmp(node->value, info->screenreader) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->screenreader != nullptr && + strcmp(node->value, app_info->screenreader) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.hh index 2ddf2f3e..f0056684 100644 --- a/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/screen_reader_app_filter_checker.hh @@ -29,7 +29,8 @@ class ScreenReaderAppFilterChecker: public IAppFilterChecker { public: ScreenReaderAppFilterChecker() = default; ~ScreenReaderAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.cc index e968bfbc..9f9c39f4 100644 --- a/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool StorageAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->installed_storage != nullptr && - strcasecmp(node->value, info->installed_storage) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->installed_storage != nullptr && + strcasecmp(node->value, app_info->installed_storage) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.hh index cd562402..002c1567 100644 --- a/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/storage_app_filter_checker.hh @@ -29,7 +29,8 @@ class StorageAppFilterChecker: public IAppFilterChecker { public: StorageAppFilterChecker() = default; ~StorageAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.cc index 5f90402e..4ee36ad5 100644 --- a/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool SupportDisableAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->support_disable != nullptr && - strcasecmp(node->value, info->ui_gadget) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->support_disable != nullptr && + strcasecmp(node->value, app_info->ui_gadget) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.hh index 6481e1c8..d699eae5 100644 --- a/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/support_disable_app_filter_checker.hh @@ -29,7 +29,8 @@ class SupportDisableAppFilterChecker: public IAppFilterChecker { public: SupportDisableAppFilterChecker() = default; ~SupportDisableAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.cc index a303d113..85b9dd56 100644 --- a/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool SupportModeAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->support_mode != nullptr && - strcmp(node->value, info->support_mode) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->support_mode != nullptr && + strcmp(node->value, app_info->support_mode) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.hh index 380b89ad..b8cb47e5 100644 --- a/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/support_mode_app_filter_checker.hh @@ -29,7 +29,8 @@ class SupportModeAppFilterChecker: public IAppFilterChecker { public: SupportModeAppFilterChecker() = default; ~SupportModeAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.cc index 501db60b..2f096b6c 100644 --- a/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool TaskManageAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->taskmanage != nullptr && - strcasecmp(node->value, info->taskmanage) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->taskmanage != nullptr && + strcasecmp(node->value, app_info->taskmanage) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.hh index 469936a5..381fb927 100644 --- a/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/task_manage_app_filter_checker.hh @@ -29,7 +29,8 @@ class TaskManageAppFilterChecker: public IAppFilterChecker { public: TaskManageAppFilterChecker() = default; ~TaskManageAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/type_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/type_app_filter_checker.cc index 76e5e2f6..ec801852 100644 --- a/src/server/filter_checker/app_filter_checker/type_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/type_app_filter_checker.cc @@ -23,9 +23,9 @@ namespace pkgmgr_server { namespace database { bool TypeAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->type != nullptr && - strcmp(node->value, info->type) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->type != nullptr && + strcmp(node->value, app_info->type) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/type_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/type_app_filter_checker.hh index 951d7dd6..db0649e7 100644 --- a/src/server/filter_checker/app_filter_checker/type_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/type_app_filter_checker.hh @@ -29,7 +29,8 @@ class TypeAppFilterChecker: public IAppFilterChecker { public: TypeAppFilterChecker() = default; ~TypeAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.cc index bf6ece0b..dbbc134b 100644 --- a/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.cc @@ -20,9 +20,9 @@ namespace pkgmgr_server { namespace database { bool UIGadgetAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { - return (node->value != nullptr && info->ui_gadget != nullptr && - strcmp(node->value, info->ui_gadget) == 0); + application_x* app_info, package_x* pkg_info) { + return (node->value != nullptr && app_info->ui_gadget != nullptr && + strcmp(node->value, app_info->ui_gadget) == 0); } } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.hh index 4fb25002..868d422f 100644 --- a/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/ui_gadget_app_filter_checker.hh @@ -29,7 +29,8 @@ class UIGadgetAppFilterChecker: public IAppFilterChecker { public: UIGadgetAppFilterChecker() = default; ~UIGadgetAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.cc b/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.cc index 6d23091e..de913e36 100644 --- a/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.cc +++ b/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.cc @@ -22,10 +22,10 @@ namespace pkgmgr_server { namespace database { bool URIAppFilterChecker::CheckFilter(pkgmgrinfo_node_x* node, - application_x* info) { + application_x* app_info, package_x* pkg_info) { if (node->value == nullptr) return false; - for (auto* it = info->appcontrol; it != nullptr; it = g_list_next(it)) { + for (auto* it = app_info->appcontrol; it != nullptr; it = g_list_next(it)) { char* value = reinterpret_cast(it->data)->uri; if (value != nullptr && strcmp(value, node->value) == 0) return true; diff --git a/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.hh b/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.hh index 44783b5c..b6fd70bb 100644 --- a/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.hh +++ b/src/server/filter_checker/app_filter_checker/uri_app_filter_checker.hh @@ -29,7 +29,8 @@ class URIAppFilterChecker: public IAppFilterChecker { public: URIAppFilterChecker() = default; ~URIAppFilterChecker() = default; - bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) override; + bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) override; }; } // namespace database diff --git a/src/server/filter_checker/app_filter_checker_base.hh b/src/server/filter_checker/app_filter_checker_base.hh index ae00f9db..f5752723 100644 --- a/src/server/filter_checker/app_filter_checker_base.hh +++ b/src/server/filter_checker/app_filter_checker_base.hh @@ -27,7 +27,8 @@ class IAppFilterChecker { public: IAppFilterChecker() = default; virtual ~IAppFilterChecker() = default; - virtual bool CheckFilter(pkgmgrinfo_node_x* node, application_x* info) = 0; + virtual bool CheckFilter(pkgmgrinfo_node_x* node, + application_x* app_info, package_x* pkg_info) = 0; }; } // namespace database