return installed_location;
}
-bool PkgQueryInterface::IsPackageInstalled(RequestMode request_mode
- /* = RequestMode::USER */) {
+bool PkgQueryInterface::IsPackageInstalled() {
+ return IsValid();
+}
+
+bool PkgQueryInterface::IsPackageInstalled(RequestMode mode) {
if (!IsValid())
return false;
bool is_global = false;
LOG(ERROR) << "pkgmgrinfo_pkginfo_is_for_all_users failed";
return false;
}
- if ((request_mode != RequestMode::GLOBAL) && is_global)
- return false;
- if ((uid_ != kGlobalUserUid) && is_global)
+ if (mode == RequestMode::GLOBAL && !is_global)
+ return false;
+ if (mode == RequestMode::USER && is_global)
return false;
return true;
/**
* \brief Checks if given package is installed/registered.
*
- * \param request_mode request mode
+ * \return true if package is installed
+ */
+ bool IsPackageInstalled();
+
+ /**
+ * \brief Checks if given package is installed/registered as request mode.
+ *
+ * \param mode request mode
*
* \return true if package is installed
*/
- bool IsPackageInstalled(RequestMode request_mode = RequestMode::USER);
+ bool IsPackageInstalled(RequestMode mode);
/**
* \brief Checks if given package is global package.
switch (request_mode_) {
case RequestMode::GLOBAL:
// if user pkg is installed, installer will not send signal to user.
- if (pkg_query.IsPackageInstalled(RequestMode::USER))
+ if (pkg_query.IsPackageInstalled(ci::RequestMode::USER))
continue;
else
user_list_.emplace_back(uids[i], request_type_);
continue;
// if global pkg is installed,
// user pkg operation will be handled as update.
- if (pkg_query_for_global.IsPackageInstalled())
+ if (pkg_query_for_global.IsPackageInstalled(ci::RequestMode::GLOBAL))
user_list_.emplace_back(uids[i], RequestType::Update);
else
user_list_.emplace_back(uids[i], request_type_);
// if manifeset not found but pkg exist in db for target uid, do clean
PkgQueryInterface pkg_query(context_->pkgid.get(), context_->uid.get());
if (!bf::exists(xml_path) &&
- pkg_query.IsPackageInstalled(context_->request_mode.get())) {
+ pkg_query.IsPackageInstalled()) {
context_->force_clean_from_db.set(true);
manifest_x* manifest =
static_cast<manifest_x*>(calloc(1, sizeof(manifest_x)));
switch (context_->request_mode.get()) {
case RequestMode::USER: {
PkgQueryInterface pkg_query(context_->pkgid.get(), kGlobalUserUid);
- if (pkg_query.IsPackageInstalled()) {
+ if (pkg_query.IsPackageInstalled(RequestMode::GLOBAL)) {
LOG(ERROR) << "This package is already installed as global package";
return Status::OPERATION_NOT_ALLOWED;
}
for (auto l : list) {
uid_t uid = std::get<0>(l);
PkgQueryInterface pkg_query(context_->pkgid.get(), uid);
- if (pkg_query.IsPackageInstalled()) {
+ if (pkg_query.IsPackageInstalled(RequestMode::USER)) {
LOG(ERROR) << "This package is already installed by user("
<< uid << ")";
return Status::OPERATION_NOT_ALLOWED;