Changeset 105382 in vbox for trunk/src/VBox/Main/src-all
- Timestamp:
- Jul 17, 2024 2:32:41 PM (9 months ago)
- svn:sync-xref-src-repo-rev:
- 164035
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-all/NvramStoreImpl.cpp
r103532 r105382 94 94 com::Utf8Str strKeyStore; 95 95 #endif 96 /** The NVRAM store. */97 NvramStoreMap mapNvram;98 96 }; 99 97 … … 138 136 139 137 Backupable<BackupableNvramStoreData> bd; 138 139 /** The NVRAM store. */ 140 NvramStoreMap mapNvram; 140 141 }; 141 142 … … 332 333 333 334 /* Delete the NVRAM content. */ 334 NvramStoreIter it = m-> bd->mapNvram.begin();335 while (it != m-> bd->mapNvram.end())335 NvramStoreIter it = m->mapNvram.begin(); 336 while (it != m->mapNvram.end()) 336 337 { 337 338 RTVfsFileRelease(it->second); … … 339 340 } 340 341 341 m-> bd->mapNvram.clear();342 m->mapNvram.clear(); 342 343 m->bd.free(); 343 344 … … 391 392 { 392 393 /* Load the NVRAM file first if it isn't already. */ 393 if (!m-> bd->mapNvram.size())394 if (!m->mapNvram.size()) 394 395 { 395 396 int vrc = i_loadStore(strPath.c_str()); … … 400 401 if (SUCCEEDED(hrc)) 401 402 { 402 NvramStoreIter it = m-> bd->mapNvram.find("efi/nvram");403 if (it != m-> bd->mapNvram.end())403 NvramStoreIter it = m->mapNvram.find("efi/nvram"); 404 if (it != m->mapNvram.end()) 404 405 { 405 406 unconst(m->pUefiVarStore).createObject(); … … 475 476 /* Load the NVRAM file first if it isn't already. */ 476 477 HRESULT hrc = S_OK; 477 if (!m-> bd->mapNvram.size())478 if (!m->mapNvram.size()) 478 479 { 479 480 int vrc = i_loadStore(strPath.c_str()); … … 486 487 int vrc = VINF_SUCCESS; 487 488 RTVFSFILE hVfsUefiVarStore = NIL_RTVFSFILE; 488 NvramStoreIter it = m-> bd->mapNvram.find("efi/nvram");489 if (it != m-> bd->mapNvram.end())489 NvramStoreIter it = m->mapNvram.find("efi/nvram"); 490 if (it != m->mapNvram.end()) 490 491 hVfsUefiVarStore = it->second; 491 492 else … … 498 499 vrc = RTVfsFileSetSize(hVfsUefiVarStore, 540672, RTVFSFILE_SIZE_F_NORMAL); 499 500 if (RT_SUCCESS(vrc)) 500 m-> bd->mapNvram["efi/nvram"] = hVfsUefiVarStore;501 m->mapNvram["efi/nvram"] = hVfsUefiVarStore; 501 502 else 502 503 RTVfsFileRelease(hVfsUefiVarStore); … … 582 583 RTVfsIoStrmRelease(hVfsIosEntry); 583 584 584 m-> bd->mapNvram[Utf8Str(pszName)] = hVfsFileEntry;585 m->mapNvram[Utf8Str(pszName)] = hVfsFileEntry; 585 586 break; 586 587 } … … 748 749 749 750 RTVfsFileRetain(hVfsFileNvram); /* Retain a new reference for the map. */ 750 m-> bd->mapNvram[Utf8Str("efi/nvram")] = hVfsFileNvram;751 m->mapNvram[Utf8Str("efi/nvram")] = hVfsFileNvram; 751 752 752 753 RTVfsRelease(hVfsEfiVarStore); … … 840 841 if (RT_SUCCESS(vrc)) 841 842 { 842 NvramStoreIter it = m-> bd->mapNvram.begin();843 844 while (it != m-> bd->mapNvram.end())843 NvramStoreIter it = m->mapNvram.begin(); 844 845 while (it != m->mapNvram.end()) 845 846 { 846 847 RTVFSFILE hVfsFile = it->second; … … 927 928 */ 928 929 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 929 if ( m-> bd->mapNvram.size() == 1930 && m-> bd->mapNvram.begin()->first == "efi/nvram")931 { 932 RTVFSFILE hVfsFileNvram = m-> bd->mapNvram.begin()->second;930 if ( m->mapNvram.size() == 1 931 && m->mapNvram.begin()->first == "efi/nvram") 932 { 933 RTVFSFILE hVfsFileNvram = m->mapNvram.begin()->second; 933 934 934 935 vrc = RTVfsFileSeek(hVfsFileNvram, 0 /*offSeek*/, RTFILE_SEEK_BEGIN, NULL /*poffActual*/); … … 970 971 } 971 972 } 972 else if (m-> bd->mapNvram.size())973 else if (m->mapNvram.size()) 973 974 vrc = i_saveStoreAsTar(strTmp.c_str()); 974 975 /* else: No NVRAM content to store so we are done here. */ … … 1067 1068 1068 1069 HRESULT hrc = S_OK; 1069 NvramStoreIter it = m-> bd->mapNvram.find("efi/nvram");1070 if (it != m-> bd->mapNvram.end())1070 NvramStoreIter it = m->mapNvram.find("efi/nvram"); 1071 if (it != m->mapNvram.end()) 1071 1072 { 1072 1073 RTVFSFILE hVfsFileNvram = it->second; … … 1109 1110 HRESULT NvramStore::i_loadSettings(const settings::NvramSettings &data) 1110 1111 { 1112 LogFlowThisFuncEnter(); 1113 LogFlowThisFunc(("data: %p\n", data)); 1114 1111 1115 AutoCaller autoCaller(this); 1112 1116 AssertComRCReturnRC(autoCaller.hrc()); … … 1128 1132 m->bd->strNvramPath.setNull(); 1129 1133 1134 LogFlowThisFuncLeave(); 1130 1135 return S_OK; 1131 1136 } … … 1276 1281 1277 1282 AutoReadLock rlock(pThis->pNvramStore COMMA_LOCKVAL_SRC_POS); 1278 NvramStoreIter it = pThis->pNvramStore->m-> bd->mapNvram.find(strKey);1279 if (it != pThis->pNvramStore->m-> bd->mapNvram.end())1283 NvramStoreIter it = pThis->pNvramStore->m->mapNvram.find(strKey); 1284 if (it != pThis->pNvramStore->m->mapNvram.end()) 1280 1285 { 1281 1286 RTVFSFILE hVfsFile = it->second; … … 1298 1303 1299 1304 AutoReadLock rlock(pThis->pNvramStore COMMA_LOCKVAL_SRC_POS); 1300 NvramStoreIter it = pThis->pNvramStore->m-> bd->mapNvram.find(strKey);1301 if (it != pThis->pNvramStore->m-> bd->mapNvram.end())1305 NvramStoreIter it = pThis->pNvramStore->m->mapNvram.find(strKey); 1306 if (it != pThis->pNvramStore->m->mapNvram.end()) 1302 1307 { 1303 1308 RTVFSFILE hVfsFile = it->second; … … 1325 1330 AutoWriteLock wlock(pThis->pNvramStore COMMA_LOCKVAL_SRC_POS); 1326 1331 1327 NvramStoreIter it = pThis->pNvramStore->m-> bd->mapNvram.find(strKey);1328 if (it != pThis->pNvramStore->m-> bd->mapNvram.end())1332 NvramStoreIter it = pThis->pNvramStore->m->mapNvram.find(strKey); 1333 if (it != pThis->pNvramStore->m->mapNvram.end()) 1329 1334 { 1330 1335 RTVFSFILE hVfsFile = it->second; … … 1345 1350 try 1346 1351 { 1347 pThis->pNvramStore->m-> bd->mapNvram[strKey] = hVfsFile;1352 pThis->pNvramStore->m->mapNvram[strKey] = hVfsFile; 1348 1353 } 1349 1354 catch (...) … … 1370 1375 1371 1376 AutoWriteLock wlock(pThis->pNvramStore COMMA_LOCKVAL_SRC_POS); 1372 NvramStoreIter it = pThis->pNvramStore->m-> bd->mapNvram.find(strKey);1373 if (it != pThis->pNvramStore->m-> bd->mapNvram.end())1377 NvramStoreIter it = pThis->pNvramStore->m->mapNvram.find(strKey); 1378 if (it != pThis->pNvramStore->m->mapNvram.end()) 1374 1379 { 1375 1380 RTVFSFILE hVfsFile = it->second; 1376 pThis->pNvramStore->m-> bd->mapNvram.erase(it);1381 pThis->pNvramStore->m->mapNvram.erase(it); 1377 1382 RTVfsFileRelease(hVfsFile); 1378 1383 return VINF_SUCCESS; … … 1392 1397 AutoWriteLock wlock(pThis->pNvramStore COMMA_LOCKVAL_SRC_POS); 1393 1398 1394 size_t cEntries = pThis->pNvramStore->m-> bd->mapNvram.size();1399 size_t cEntries = pThis->pNvramStore->m->mapNvram.size(); 1395 1400 AssertReturn(cEntries < 32, VERR_OUT_OF_RANGE); /* Some sanity checking. */ 1396 1401 pHlp->pfnSSMPutU32(pSSM, (uint32_t)cEntries); … … 1412 1417 void **ppvData, size_t *pcbDataMax) RT_NOEXCEPT 1413 1418 { 1414 for (NvramStoreIter it = pThis->pNvramStore->m-> bd->mapNvram.begin(); it != pThis->pNvramStore->m->bd->mapNvram.end(); ++it)1419 for (NvramStoreIter it = pThis->pNvramStore->m->mapNvram.begin(); it != pThis->pNvramStore->m->mapNvram.end(); ++it) 1415 1420 { 1416 1421 RTVFSFILE hVfsFile = it->second; … … 1455 1460 1456 1461 /* Clear any content first. */ 1457 NvramStoreIter it = pThis->pNvramStore->m-> bd->mapNvram.begin();1458 while (it != pThis->pNvramStore->m-> bd->mapNvram.end())1462 NvramStoreIter it = pThis->pNvramStore->m->mapNvram.begin(); 1463 while (it != pThis->pNvramStore->m->mapNvram.end()) 1459 1464 { 1460 1465 RTVfsFileRelease(it->second); … … 1462 1467 } 1463 1468 1464 pThis->pNvramStore->m-> bd->mapNvram.clear();1469 pThis->pNvramStore->m->mapNvram.clear(); 1465 1470 1466 1471 uint32_t cEntries = 0; … … 1519 1524 try 1520 1525 { 1521 pThis->pNvramStore->m-> bd->mapNvram[Utf8Str(szId)] = hVfsFile;1526 pThis->pNvramStore->m->mapNvram[Utf8Str(szId)] = hVfsFile; 1522 1527 } 1523 1528 catch (...)
Note:
See TracChangeset
for help on using the changeset viewer.