pid_t pid, pkgmgrinfo_filter_x* filter,
const std::string& app);
void TrimCache();
+ void RegisterPendingPackageInfo(package_x* info, pid_t pid);
+ bool UpdatePendingPackageInfo(sqlite3* db,
+ pid_t pid, uid_t uid, const std::string& locale);
+ bool UpdateCachePkg(sqlite3* db, uid_t uid, const std::string& pkgid,
+ const std::string& locale);
+ bool UpdateCacheApp(sqlite3* db, uid_t uid, const std::string& appid,
+ const std::string& locale);
+ bool UpdateCacheAppByPkgid(sqlite3* db, uid_t uid, const std::string& pkgid,
+ const std::string& locale);
private:
explicit DBHandleProvider(uid_t uid);
std::string user_parser_memdb_path_;
std::string user_parser_filedb_path_;
bool released_ = true;
- std::unordered_map<std::string, std::vector<std::shared_ptr<package_x>>>
- pkg_map_;
- std::unordered_map<std::string, std::vector<std::shared_ptr<application_x>>>
- app_map_;
+ std::unordered_map<std::string, std::shared_ptr<package_x>> pkg_map_;
+ std::unordered_map<std::string, std::shared_ptr<application_x>> app_map_;
+ std::unordered_map<std::string, std::unordered_set<std::string>> pkg_app_map_;
+ std::unordered_map<pid_t, std::unordered_set<std::string>> pending_pkg_;
};
} // namespace database