Lines Matching refs:para

54 int32_t USInstrImagePatch::GetParam(Uscript::UScriptContext &context, ImagePatchPara &para)

57 LOG(ERROR) << "para count error " << context.GetParamCount();
62 uint32_t ret = static_cast<uint32_t>(context.GetParam(index++, para.partName));
63 ret |= static_cast<uint32_t>(context.GetParam(index++, para.srcSize));
64 ret |= static_cast<uint32_t>(context.GetParam(index++, para.srcHash));
65 ret |= static_cast<uint32_t>(context.GetParam(index++, para.destSize));
66 ret |= static_cast<uint32_t>(context.GetParam(index++, para.destHash));
67 ret |= static_cast<uint32_t>(context.GetParam(index++, para.patchFile));
69 LOG(ERROR) << "para get error";
72 para.devPath = GetBlockDeviceByMountPoint(para.partName);
73 if (para.devPath.empty()) {
74 LOG(ERROR) << "get " << para.partName << " dev path error";
93 int32_t USInstrImagePatch::ApplyPatch(const ImagePatchPara &para, const UpdatePatch::MemMapInfo &srcData,
100 std::unique_ptr<DataWriter> writer = DataWriter::CreateDataWriter(WRITE_RAW, para.devPath);
105 std::string resultSha = para.destHash;
119 int32_t USInstrImagePatch::CreatePatchStream(Uscript::UScriptEnv &env, const ImagePatchPara &para,
127 std::string patchName = para.patchFile;
130 LOG(WARNING) << "Error to get file info " << para.patchFile; // 兼容旧升级包
131 patchName = para.partName;
138 std::string patchFile = UPDATER_PATH + para.patchFile;
149 LOG(ERROR) << "Error to extract file " << para.patchFile;
153 LOG(INFO) << "USInstrImagePatch::CreatePatchStream " << para.partName;
157 std::string USInstrImagePatch::GetSourceFile(const ImagePatchPara &para)
160 std::string srcFile = UPDATER_PATH + para.partName + ".backup";
162 if (access(srcFile.c_str(), F_OK) == 0 && GetFileHash(srcFile) != para.srcHash) {
167 if (!Utils::CopyFile(para.devPath, srcFile)) {
168 LOG(ERROR) << "copy " << para.devPath << " to " << srcFile << " failed";
176 ImagePatchPara para {};
177 int32_t ret = GetParam(context, para);
186 if (PartitionRecord::GetInstance().IsPartitionUpdated(para.partName)) {
187 LOG(INFO) << para.partName << " already updated, skip";
192 std::string srcFile = GetSourceFile(para);
207 ret = CreatePatchStream(env, para, patchStream);
216 ret = ApplyPatch(para, srcData, patchData);
222 PartitionRecord::GetInstance().RecordPartitionUpdateStatus(para.partName, true);
236 int32_t USInstrImageShaCheck::GetParam(Uscript::UScriptContext &context, CheckPara &para)
239 LOG(ERROR) << "para count error " << context.GetParamCount();
243 uint32_t ret = static_cast<uint32_t>(context.GetParam(index++, para.partName));
244 ret |= static_cast<uint32_t>(context.GetParam(index++, para.srcSize));
245 ret |= static_cast<uint32_t>(context.GetParam(index++, para.srcHash));
246 ret |= static_cast<uint32_t>(context.GetParam(index++, para.destSize));
247 ret |= static_cast<uint32_t>(context.GetParam(index++, para.destHash));
249 LOG(ERROR) << "para get error";
253 para.devPath = GetBlockDeviceByMountPoint(para.partName);
254 if (para.devPath.empty()) {
255 LOG(ERROR) << "cannot get block device of partition" << para.partName;
258 LOG(INFO) << "dev path: " << para.devPath;
262 int32_t USInstrImageShaCheck::CheckHash(const CheckPara &para)
265 if (PatchMapFile(para.devPath, mapBuffer) != UpdatePatch::PATCH_SUCCESS) {
269 if (!std::all_of(para.srcSize.begin(), para.srcSize.end(), ::isdigit)) {
270 LOG(ERROR) << "para size error " << para.srcSize;
273 size_t length = std::stoul(para.srcSize);
277 if (resultSha != para.srcHash) {
278 LOG(ERROR) << "resultSha:" << resultSha << " srcHash:" << para.srcHash;
291 CheckPara para {};
292 int32_t ret = GetParam(context, para);
299 ret = CheckHash(para);