Changeset 38490 in vbox for trunk/src/VBox/Main
- Timestamp:
- Aug 18, 2011 12:22:02 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
r38469 r38490 814 814 HRESULT rc = S_OK; 815 815 816 PVDINTERFACEIO pSha1 Callbacks= 0;817 PVDINTERFACEIO pFile Callbacks= 0;816 PVDINTERFACEIO pSha1Io = 0; 817 PVDINTERFACEIO pFileIo = 0; 818 818 do 819 819 { 820 pSha1 Callbacks= Sha1CreateInterface();821 if (!pSha1 Callbacks)820 pSha1Io = Sha1CreateInterface(); 821 if (!pSha1Io) 822 822 { 823 823 rc = E_OUTOFMEMORY; 824 824 break; 825 825 } 826 pFile Callbacks= FileCreateInterface();827 if (!pFile Callbacks)826 pFileIo = FileCreateInterface(); 827 if (!pFileIo) 828 828 { 829 829 rc = E_OUTOFMEMORY; 830 830 break; 831 831 } 832 VDINTERFACE VDInterfaceIO;833 832 SHA1STORAGE storage; 834 833 RT_ZERO(storage); 835 int vrc = VDInterfaceAdd(& VDInterfaceIO, "Appliance::IOFile",836 VDINTERFACETYPE_IO, pFile Callbacks,837 0,&storage.pVDImageIfaces);834 int vrc = VDInterfaceAdd(&pFileIo->Core, "Appliance::IOFile", 835 VDINTERFACETYPE_IO, pFileIo, sizeof(VDINTERFACEIO), 836 &storage.pVDImageIfaces); 838 837 if (RT_FAILURE(vrc)) 839 838 { … … 842 841 } 843 842 844 rc = readFSImpl(pTask, pTask->locInfo.strPath, pSha1 Callbacks, &storage);843 rc = readFSImpl(pTask, pTask->locInfo.strPath, pSha1Io, &storage); 845 844 }while(0); 846 845 847 846 /* Cleanup */ 848 if (pSha1 Callbacks)849 RTMemFree(pSha1 Callbacks);850 if (pFile Callbacks)851 RTMemFree(pFile Callbacks);847 if (pSha1Io) 848 RTMemFree(pSha1Io); 849 if (pFileIo) 850 RTMemFree(pFileIo); 852 851 853 852 LogFlowFunc(("rc=%Rhrc\n", rc)); … … 1230 1229 HRESULT rc = S_OK; 1231 1230 1232 PVDINTERFACEIO pSha1 Callbacks= 0;1233 PVDINTERFACEIO pFile Callbacks= 0;1231 PVDINTERFACEIO pSha1Io = 0; 1232 PVDINTERFACEIO pFileIo = 0; 1234 1233 void *pvMfBuf = 0; 1235 1234 writeLock.release(); … … 1237 1236 { 1238 1237 /* Create the necessary file access interfaces. */ 1239 pSha1 Callbacks= Sha1CreateInterface();1240 if (!pSha1 Callbacks)1238 pSha1Io = Sha1CreateInterface(); 1239 if (!pSha1Io) 1241 1240 throw E_OUTOFMEMORY; 1242 pFile Callbacks= FileCreateInterface();1243 if (!pFile Callbacks)1241 pFileIo = FileCreateInterface(); 1242 if (!pFileIo) 1244 1243 throw E_OUTOFMEMORY; 1245 1244 1246 VDINTERFACE VDInterfaceIO;1247 1245 SHA1STORAGE storage; 1248 1246 RT_ZERO(storage); 1249 1247 storage.fCreateDigest = true; 1250 int vrc = VDInterfaceAdd(& VDInterfaceIO, "Appliance::IOFile",1251 VDINTERFACETYPE_IO, pFile Callbacks,1252 0,&storage.pVDImageIfaces);1248 int vrc = VDInterfaceAdd(&pFileIo->Core, "Appliance::IOFile", 1249 VDINTERFACETYPE_IO, pFileIo, sizeof(VDINTERFACEIO), 1250 &storage.pVDImageIfaces); 1253 1251 if (RT_FAILURE(vrc)) 1254 1252 throw E_FAIL; … … 1261 1259 storage.fCreateDigest = RTFileExists(strMfFile.c_str()); 1262 1260 /* Now import the appliance. */ 1263 importMachines(stack, pSha1 Callbacks, &storage);1261 importMachines(stack, pSha1Io, &storage); 1264 1262 /* Read & verify the manifest file, if there is one. */ 1265 1263 if (storage.fCreateDigest) … … 1267 1265 /* Add the ovf file to the digest list. */ 1268 1266 stack.llSrcDisksDigest.push_front(STRPAIR(pTask->locInfo.strPath, m->strOVFSHA1Digest)); 1269 rc = readManifestFile(strMfFile, &pvMfBuf, &cbMfSize, pSha1 Callbacks, &storage);1267 rc = readManifestFile(strMfFile, &pvMfBuf, &cbMfSize, pSha1Io, &storage); 1270 1268 if (FAILED(rc)) throw rc; 1271 1269 rc = verifyManifestFile(strMfFile, stack, pvMfBuf, cbMfSize); … … 1282 1280 if (pvMfBuf) 1283 1281 RTMemFree(pvMfBuf); 1284 if (pSha1 Callbacks)1285 RTMemFree(pSha1 Callbacks);1286 if (pFile Callbacks)1287 RTMemFree(pFile Callbacks);1282 if (pSha1Io) 1283 RTMemFree(pSha1Io); 1284 if (pFileIo) 1285 RTMemFree(pFileIo); 1288 1286 1289 1287 LogFlowFunc(("rc=%Rhrc\n", rc));
Note:
See TracChangeset
for help on using the changeset viewer.