VirtualBox

Ignore:
Timestamp:
Sep 19, 2023 10:01:39 AM (15 months ago)
Author:
vboxsync
Message:

doc/manual,Frontends/VBoxManage,Main/{Global,GuestOSType,VirtualBox.xidl}:
Extend the OSType struct by including a new element named 'variant'
to provide further guest OS details and aid in guest OS categorization
for the GUI when creating VMs. Populate this field in the
Global::sOSTypes[] table for Linux using the distro name and for BSD
using the BSD flavour. Include the variant information in 'VBoxManage
list ostypes' and add a new 'VBoxManage list osvariants' subcommand.
Add new IVirtualBox methods for accessing the guest OS variant
information: getGuestOSVariantsByFamilyId() and getGuestOSDescsByVariant().
bugref:5936

File:
1 edited

Legend:

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

    r101128 r101164  
    20142014    kListRunningVMs,
    20152015    kListOsTypes,
     2016    kListOsVariants,
    20162017    kListHostDvds,
    20172018    kListHostFloppies,
     
    21752176                    guestOS->COMGETTER(FamilyDescription)(familyDescription.asOutParam());
    21762177                    RTPrintf(List::tr("Family Desc: %ls\n"), familyDescription.raw());
     2178                    Bstr guestOSVariant;
     2179                    guestOS->COMGETTER(Variant)(guestOSVariant.asOutParam());
     2180                    if (guestOSVariant.isNotEmpty())
     2181                        RTPrintf(List::tr("OS Variant:  %ls\n"), guestOSVariant.raw());
    21772182                    BOOL is64Bit;
    21782183                    guestOS->COMGETTER(Is64Bit)(&is64Bit);
    21792184                    RTPrintf(List::tr("64 bit:      %RTbool\n"), is64Bit);
    21802185                    RTPrintf("\n");
     2186                }
     2187            }
     2188            break;
     2189        }
     2190
     2191        case kListOsVariants:
     2192        {
     2193            com::SafeArray<BSTR> GuestOSFamilies;
     2194            CHECK_ERROR(pVirtualBox, COMGETTER(GuestOSFamilies)(ComSafeArrayAsOutParam(GuestOSFamilies)));
     2195            if (SUCCEEDED(hrc))
     2196            {
     2197                for (size_t i = 0; i < GuestOSFamilies.size(); ++i)
     2198                {
     2199                    const Bstr bstrOSFamily = GuestOSFamilies[i];
     2200                    com::SafeArray<BSTR> GuestOSVariants;
     2201                    CHECK_ERROR(pVirtualBox,
     2202                                COMGETTER(GuestOSVariantsByFamilyId)(bstrOSFamily.raw(),
     2203                                          ComSafeArrayAsOutParam(GuestOSVariants)));
     2204                    if (SUCCEEDED(hrc))
     2205                    {
     2206                        RTPrintf("%ls\n", bstrOSFamily.raw());
     2207                        for (size_t j = 0; j < GuestOSVariants.size(); ++j)
     2208                        {
     2209                            RTPrintf("\t%ls\n", GuestOSVariants[j]);
     2210                            com::SafeArray<BSTR> GuestOSDescs;
     2211                            const Bstr bstrOSVariant = GuestOSVariants[j];
     2212                            CHECK_ERROR(pVirtualBox,
     2213                                        COMGETTER(GuestOSDescsByVariant)(bstrOSVariant.raw(),
     2214                                                  ComSafeArrayAsOutParam(GuestOSDescs)));
     2215                            if (SUCCEEDED(hrc))
     2216                                for (size_t k = 0; k < GuestOSDescs.size(); ++k)
     2217                                    RTPrintf("\t\t%ls\n", GuestOSDescs[k]);
     2218                        }
     2219                    }
    21812220                }
    21822221            }
     
    24202459        { "runningvms",         kListRunningVMs,         RTGETOPT_REQ_NOTHING },
    24212460        { "ostypes",            kListOsTypes,            RTGETOPT_REQ_NOTHING },
     2461        { "osvariants",         kListOsVariants,         RTGETOPT_REQ_NOTHING },
    24222462        { "hostdvds",           kListHostDvds,           RTGETOPT_REQ_NOTHING },
    24232463        { "hostfloppies",       kListHostFloppies,       RTGETOPT_REQ_NOTHING },
     
    24862526            case kListRunningVMs:
    24872527            case kListOsTypes:
     2528            case kListOsVariants:
    24882529            case kListHostDvds:
    24892530            case kListHostFloppies:
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