VirtualBox

Ignore:
Timestamp:
Aug 3, 2010 1:00:54 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
64371
Message:

Main: rework new implementation of Machine::Unregister() and Machine::Delete() to be more flexible and still easy to use

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp

    r31220 r31333  
    159159    if (machine)
    160160    {
    161         SafeArray<BSTR> abstrFiles;
    162         CHECK_ERROR(machine, Unregister(fDelete /* fAutoCleanup */,
    163                                         ComSafeArrayAsOutParam(abstrFiles)));
     161        SafeIfaceArray<IMedium> aMedia;
     162        CleanupMode_T cleanupMode = CleanupMode_DetachAllReturnNone;
     163        if (fDelete)
     164            cleanupMode = CleanupMode_DetachAllReturnHardDisksOnly;
     165        CHECK_ERROR(machine, Unregister(cleanupMode,
     166                                        ComSafeArrayAsOutParam(aMedia)));
    164167        if (SUCCEEDED(rc))
    165168        {
    166             for (size_t u = 0;
    167                  u < abstrFiles.size();
    168                  ++u)
    169             {
    170                 Utf8Str strFile(abstrFiles[u]);
    171                 if (fDelete)
    172                 {
    173                     RTPrintf("Deleting '%s'\n", strFile.c_str());
    174                     RTFileDelete(strFile.c_str());
    175                 }
    176                 else
    177                     RTPrintf("File '%s' is now obsolete and can be deleted\n", strFile.c_str());
    178             }
    179 
    180169            if (fDelete)
    181170            {
    182                 CHECK_ERROR(machine, Delete());
     171                ComPtr<IProgress> pProgress;
     172                CHECK_ERROR(machine, Delete(ComSafeArrayAsInParam(aMedia), pProgress.asOutParam()));
     173                CHECK_ERROR(pProgress, WaitForCompletion(-1));
    183174            }
    184175        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette