Changeset 38469 in vbox for trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
- Timestamp:
- Aug 16, 2011 10:34:32 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 73520
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
r38455 r38469 870 870 HRESULT rc = S_OK; 871 871 872 PVDINTERFACEIO pSha1 Callbacks= 0;873 PVDINTERFACEIO pTar Callbacks= 0;872 PVDINTERFACEIO pSha1Io = 0; 873 PVDINTERFACEIO pTarIo = 0; 874 874 char *pszFilename = 0; 875 875 do … … 881 881 break; 882 882 } 883 pSha1 Callbacks= Sha1CreateInterface();884 if (!pSha1 Callbacks)883 pSha1Io = Sha1CreateInterface(); 884 if (!pSha1Io) 885 885 { 886 886 rc = E_OUTOFMEMORY; 887 887 break; 888 888 } 889 pTar Callbacks= TarCreateInterface();890 if (!pTar Callbacks)889 pTarIo = TarCreateInterface(); 890 if (!pTarIo) 891 891 { 892 892 rc = E_OUTOFMEMORY; 893 893 break; 894 894 } 895 VDINTERFACE VDInterfaceIO;896 895 SHA1STORAGE storage; 897 896 RT_ZERO(storage); 898 vrc = VDInterfaceAdd(& VDInterfaceIO, "Appliance::IOTar",899 VDINTERFACETYPE_IO, pTarCallbacks,900 tar,&storage.pVDImageIfaces);897 vrc = VDInterfaceAdd(&pTarIo->Core, "Appliance::IOTar", 898 VDINTERFACETYPE_IO, tar, sizeof(VDINTERFACEIO), 899 &storage.pVDImageIfaces); 901 900 if (RT_FAILURE(vrc)) 902 901 { … … 904 903 break; 905 904 } 906 rc = readFSImpl(pTask, pszFilename, pSha1 Callbacks, &storage);905 rc = readFSImpl(pTask, pszFilename, pSha1Io, &storage); 907 906 }while(0); 908 907 … … 912 911 if (pszFilename) 913 912 RTMemFree(pszFilename); 914 if (pSha1 Callbacks)915 RTMemFree(pSha1 Callbacks);916 if (pTar Callbacks)917 RTMemFree(pTar Callbacks);913 if (pSha1Io) 914 RTMemFree(pSha1Io); 915 if (pTarIo) 916 RTMemFree(pTarIo); 918 917 919 918 LogFlowFunc(("rc=%Rhrc\n", rc)); … … 923 922 } 924 923 925 HRESULT Appliance::readFSImpl(TaskOVF *pTask, const RTCString &strFilename, PVDINTERFACEIO p Callbacks, PSHA1STORAGE pStorage)924 HRESULT Appliance::readFSImpl(TaskOVF *pTask, const RTCString &strFilename, PVDINTERFACEIO pIfIo, PSHA1STORAGE pStorage) 926 925 { 927 926 LogFlowFuncEnter(); … … 936 935 /* Read the OVF into a memory buffer */ 937 936 size_t cbSize = 0; 938 int vrc = Sha1ReadBuf(strFilename.c_str(), &pvTmpBuf, &cbSize, p Callbacks, pStorage);937 int vrc = Sha1ReadBuf(strFilename.c_str(), &pvTmpBuf, &cbSize, pIfIo, pStorage); 939 938 if ( RT_FAILURE(vrc) 940 939 || !pvTmpBuf) … … 1307 1306 HRESULT rc = S_OK; 1308 1307 1309 PVDINTERFACEIO pSha1 Callbacks= 0;1310 PVDINTERFACEIO pTar Callbacks= 0;1308 PVDINTERFACEIO pSha1Io = 0; 1309 PVDINTERFACEIO pTarIo = 0; 1311 1310 char *pszFilename = 0; 1312 1311 void *pvMfBuf = 0; … … 1315 1314 { 1316 1315 /* Create the necessary file access interfaces. */ 1317 pSha1 Callbacks= Sha1CreateInterface();1318 if (!pSha1 Callbacks)1316 pSha1Io = Sha1CreateInterface(); 1317 if (!pSha1Io) 1319 1318 throw E_OUTOFMEMORY; 1320 pTar Callbacks= TarCreateInterface();1321 if (!pTar Callbacks)1319 pTarIo = TarCreateInterface(); 1320 if (!pTarIo) 1322 1321 throw E_OUTOFMEMORY; 1323 1322 1324 VDINTERFACE VDInterfaceIO;1325 1323 SHA1STORAGE storage; 1326 1324 RT_ZERO(storage); 1327 vrc = VDInterfaceAdd(& VDInterfaceIO, "Appliance::IOTar",1328 VDINTERFACETYPE_IO, pTarCallbacks,1329 tar,&storage.pVDImageIfaces);1325 vrc = VDInterfaceAdd(&pTarIo->Core, "Appliance::IOTar", 1326 VDINTERFACETYPE_IO, tar, sizeof(VDINTERFACEIO), 1327 &storage.pVDImageIfaces); 1330 1328 if (RT_FAILURE(vrc)) 1331 1329 throw setError(E_FAIL, … … 1345 1343 tr("Internal error (%Rrc)"), vrc); 1346 1344 1347 PVDINTERFACEIO pCallbacks = pSha1 Callbacks;1345 PVDINTERFACEIO pCallbacks = pSha1Io; 1348 1346 PSHA1STORAGE pStorage = &storage; 1349 1347 … … 1400 1398 if (pvMfBuf) 1401 1399 RTMemFree(pvMfBuf); 1402 if (pSha1 Callbacks)1403 RTMemFree(pSha1 Callbacks);1404 if (pTar Callbacks)1405 RTMemFree(pTar Callbacks);1400 if (pSha1Io) 1401 RTMemFree(pSha1Io); 1402 if (pTarIo) 1403 RTMemFree(pTarIo); 1406 1404 1407 1405 LogFlowFunc(("rc=%Rhrc\n", rc));
Note:
See TracChangeset
for help on using the changeset viewer.