VirtualBox

Changeset 16306 in vbox


Ignore:
Timestamp:
Jan 28, 2009 1:05:58 PM (16 years ago)
Author:
vboxsync
Message:

OVF: parse floppy, cd-rom, usb controller, sound card

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ApplianceImpl.cpp

    r16302 r16306  
    182182            // (one for each VirtualSystem/Item[@ResourceType=17] element with accumulated data from children)
    183183
    184     string              strLicenceInfo;     // license info if any; receives contents of VirtualSystem/EulaSection/Info
    185     string              strLicenceText;     // license info if any; receives contents of VirtualSystem/EulaSection/License
     184    bool                fHasFloppyDrive;        // true if there's a floppy item in mapHardwareItems
     185    bool                fHasCdromDrive;         // true if there's a CD-ROM item in mapHardwareItems; ISO images are not yet supported by OVFtool
     186    bool                fHasUsbController;      // true if there's a USB controller item in mapHardwareItems
     187
     188    string              strSoundCardType;       // if not empty, then the system wants a soundcard; this then specifies the hardware;
     189                                                // VMware Workstation 6.5 uses "ensoniq1371" for example
     190
     191    string              strLicenceInfo;         // license info if any; receives contents of VirtualSystem/EulaSection/Info
     192    string              strLicenceText;         // license info if any; receives contents of VirtualSystem/EulaSection/License
    186193
    187194    VirtualSystem()
    188         : ullMemorySize(0), cCPUs(1)
     195        : ullMemorySize(0), cCPUs(1), fHasFloppyDrive(false), fHasCdromDrive(false), fHasUsbController(false)
    189196    {
    190197    }
     
    674681                    break;
    675682
     683                    case OVFResourceType_FloppyDrive: // 14
     684                        d.fHasFloppyDrive = true;           // we have no additional information
     685                    break;
     686
     687                    case OVFResourceType_CdDrive:       // 15
     688                        /*  <Item ovf:required="false">
     689                                <rasd:Caption>cdrom1</rasd:Caption>
     690                                <rasd:InstanceId>7</rasd:InstanceId>
     691                                <rasd:ResourceType>15</rasd:ResourceType>
     692                                <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
     693                                <rasd:Parent>5</rasd:Parent>
     694                                <rasd:AddressOnParent>0</rasd:AddressOnParent>
     695                            </Item> */
     696                            // I tried to see what happens if I set an ISO for the CD-ROM in VMware Workstation,
     697                            // but then the ovftool dies with "Device backing not supported". So I guess if
     698                            // VMware can't export ISOs, then we don't need to be able to import them right now.
     699                        d.fHasCdromDrive = true;           // we have no additional information
     700                    break;
     701
    676702                    case OVFResourceType_HardDisk: // 17
    677703                    {
     
    721747                    }
    722748                    break;
     749
     750                    case OVFResourceType_UsbController: // 23
     751                        /*  <Item ovf:required="false">
     752                                <rasd:Caption>usb</rasd:Caption>
     753                                <rasd:Description>USB Controller</rasd:Description>
     754                                <rasd:InstanceId>3</rasd:InstanceId>
     755                                <rasd:ResourceType>23</rasd:ResourceType>
     756                                <rasd:Address>0</rasd:Address>
     757                                <rasd:BusNumber>0</rasd:BusNumber>
     758                            </Item> */
     759                        d.fHasUsbController = true;           // we have no additional information
     760                    break;
     761
     762                    case OVFResourceType_SoundCard: // 35
     763                        /*  <Item ovf:required="false">
     764                                <rasd:Caption>sound</rasd:Caption>
     765                                <rasd:Description>Sound Card</rasd:Description>
     766                                <rasd:InstanceId>10</rasd:InstanceId>
     767                                <rasd:ResourceType>35</rasd:ResourceType>
     768                                <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
     769                                <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
     770                                <rasd:AddressOnParent>3</rasd:AddressOnParent>
     771                            </Item> */
     772                        d.strSoundCardType = i.strResourceSubType;
     773                    break;
     774
     775                    default:
     776                        return setError(VBOX_E_FILE_ERROR,
     777                                        tr("Error reading \"%s\": Unknown resource type %d in hardware item, line %d"),
     778                                        pcszPath,
     779                                        i.resourceType,
     780                                        i.ulLineNumber);
    723781                }
    724782            }
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r16302 r16306  
    28712871    <const name="DvdDrive" value="16" />
    28722872    <const name="HardDisk" value="17" />
     2873    <const name="UsbController" value="23" />
     2874    <const name="SoundCard" value="35" />
    28732875  </enum>
    28742876
     
    29993001    <const name="Floppy" value="10" />
    30003002    <const name="NetworkAdapter" value="11" />
     3003    <const name="USBController" value="12" />
    30013004
    30023005  </enum>
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