VirtualBox

Changeset 89978 in vbox


Ignore:
Timestamp:
Jun 30, 2021 12:10:27 PM (4 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9996: Extending UICloudNetworkingStuff with API to create virtual system description; Using that stuff from New Cloud VM wizard.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.cpp

    r89972 r89978  
    252252    /* Null by default: */
    253253    return CCloudMachine();
     254}
     255
     256CVirtualSystemDescription UICloudNetworkingStuff::createVirtualSystemDescription(QWidget *pParent /* = 0 */)
     257{
     258    /* Acquire VBox: */
     259    CVirtualBox comVBox = uiCommon().virtualBox();
     260    if (comVBox.isNotNull())
     261    {
     262        /* Create appliance: */
     263        CAppliance comAppliance = comVBox.CreateAppliance();
     264        if (!comVBox.isOk())
     265            msgCenter().cannotCreateAppliance(comVBox, pParent);
     266        else
     267        {
     268            /* Append it with one (1) description we need: */
     269            comAppliance.CreateVirtualSystemDescriptions(1);
     270            if (!comAppliance.isOk())
     271                msgCenter().cannotCreateVirtualSystemDescription(comAppliance, pParent);
     272            else
     273            {
     274                /* Get received description: */
     275                const QVector<CVirtualSystemDescription> descriptions = comAppliance.GetVirtualSystemDescriptions();
     276                AssertReturn(!descriptions.isEmpty(), CVirtualSystemDescription());
     277                return descriptions.at(0);
     278            }
     279        }
     280    }
     281    /* Null by default: */
     282    return CVirtualSystemDescription();
     283}
     284
     285CVirtualSystemDescription UICloudNetworkingStuff::createVirtualSystemDescription(QString &strErrorMessage)
     286{
     287    /* Acquire VBox: */
     288    CVirtualBox comVBox = uiCommon().virtualBox();
     289    if (comVBox.isNotNull())
     290    {
     291        /* Create appliance: */
     292        CAppliance comAppliance = comVBox.CreateAppliance();
     293        if (!comVBox.isOk())
     294            strErrorMessage = UIErrorString::formatErrorInfo(comVBox);
     295        else
     296        {
     297            /* Append it with one (1) description we need: */
     298            comAppliance.CreateVirtualSystemDescriptions(1);
     299            if (!comAppliance.isOk())
     300                strErrorMessage = UIErrorString::formatErrorInfo(comAppliance);
     301            else
     302            {
     303                /* Get received description: */
     304                QVector<CVirtualSystemDescription> descriptions = comAppliance.GetVirtualSystemDescriptions();
     305                AssertReturn(!descriptions.isEmpty(), CVirtualSystemDescription());
     306                return descriptions.at(0);
     307            }
     308        }
     309    }
     310    /* Null by default: */
     311    return CVirtualSystemDescription();
    254312}
    255313
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.h

    r89972 r89978  
    9191                                                        const QUuid &uMachineId,
    9292                                                        QString &strErrorMessage);
     93
     94    /** Creates virtual system description, using @a pParent to show messages according to. */
     95    SHARED_LIBRARY_STUFF CVirtualSystemDescription createVirtualSystemDescription(QWidget *pParent = 0);
     96    /** Creates virtual system description, using @a strErrorMessage to store messages to. */
     97    SHARED_LIBRARY_STUFF CVirtualSystemDescription createVirtualSystemDescription(QString &strErrorMessage);
    9398
    9499    /** Acquires cloud providers, using @a pParent to show messages according to. */
  • trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.cpp

    r89972 r89978  
    284284        do
    285285        {
    286             /* Create appliance: */
    287             CVirtualBox comVBox = uiCommon().virtualBox();
    288             CAppliance comAppliance = comVBox.CreateAppliance();
    289             if (!comVBox.isOk())
    290             {
    291                 msgCenter().cannotCreateAppliance(comVBox);
     286            /* Create virtual system description: */
     287            CVirtualSystemDescription comVSD = createVirtualSystemDescription(wizardImp());
     288            if (comVSD.isNull())
    292289                break;
    293             }
    294 
    295             /* Create virtual system description: */
    296             comAppliance.CreateVirtualSystemDescriptions(1);
    297             if (!comAppliance.isOk())
    298             {
    299                 msgCenter().cannotCreateVirtualSystemDescription(comAppliance);
    300                 break;
    301             }
    302 
    303             /* Acquire virtual system description: */
    304             QVector<CVirtualSystemDescription> descriptions = comAppliance.GetVirtualSystemDescriptions();
    305             if (!comAppliance.isOk())
    306             {
    307                 msgCenter().cannotAcquireVirtualSystemDescription(comAppliance);
    308                 break;
    309             }
    310 
    311             /* Make sure there is at least one virtual system description created: */
    312             AssertReturnVoid(!descriptions.isEmpty());
    313             CVirtualSystemDescription comVSD = descriptions.at(0);
    314290
    315291            /* Remember Virtual System Description: */
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