namespace pkgmgr_server {
namespace database {
-CertSetDBHandler::CertSetDBHandler(uid_t uid, int pid)
- : AbstractDBHandler(uid, pid), uid_(uid), handle_(nullptr) {}
+CertSetDBHandler::CertSetDBHandler(uid_t uid, int pid, bool is_offline)
+ : AbstractDBHandler(uid, pid), uid_(uid),
+ is_offline_(is_offline), handle_(nullptr) {}
CertSetDBHandler::~CertSetDBHandler() {}
}
int CertSetDBHandler::Execute() {
- std::unique_lock<std::shared_timed_mutex> u(lock_);
+ std::unique_lock<std::shared_mutex> u(lock_);
SetOpType(pkgmgr_common::DBOperationType::OPERATION_TYPE_WRITE);
SetDBType(pkgmgr_common::DBType::DB_TYPE_FILE_CERTDB);
if (!Connect())
return PMINFO_R_ERROR;
- DBHandleProvider::GetInst(uid_).SetMemoryMode(GetPID(), true);
- sqlite3* conn = GetConnection().front().first;
+ if (!is_offline_)
+ DBHandleProvider::GetInst(uid_).SetMemoryMode(GetPID());
+ const auto& db = GetConnection().front().first;
- return certinfo_internal_set(conn, handle_->pkgid, handle_, uid_);
+ return internal::CertInfoSet(db, handle_->pkgid, handle_, uid_);
}
} // namespace database