VirtualBox

Changeset 51578 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 9, 2014 9:45:16 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
94273
Message:

Mac OS X host: improve support for host optical drives; add support for CD and BlueRay drives.

Location:
trunk/src/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DrvHostBase.cpp

    r50695 r51578  
    794794
    795795    /*
    796      * Create a matching dictionary for searching for DVD services in the IOKit.
     796     * Create a matching dictionary for searching for CD, DVD and BlueRay services in the IOKit.
    797797     *
    798      * [If I understand this correctly, plain CDROMs doesn't show up as
    799      * IODVDServices. Too keep things simple, we will only support DVDs
    800      * until somebody complains about it and we get hardware to test it on.
    801      * (Unless I'm much mistaken, there aren't any (orignal) intel macs with
    802      * plain cdroms.)]
    803      */
    804     CFMutableDictionaryRef RefMatchingDict = IOServiceMatching("IODVDServices");
     798     * The idea is to find all the devices which are of class IOCDBlockStorageDevice.
     799     * CD devices are represented by IOCDBlockStorageDevice class itself, while DVD and BlueRay ones
     800     * have it as a parent class.
     801     */
     802    CFMutableDictionaryRef RefMatchingDict = IOServiceMatching("IOCDBlockStorageDevice");
    805803    AssertReturn(RefMatchingDict, NULL);
    806804
     
    814812
    815813    /*
    816      * Enumerate the DVD drives (services).
    817      * (This enumeration must be identical to the one performed in DrvHostBase.cpp.)
     814     * Enumerate the matching drives (services).
     815     * (This enumeration must be identical to the one performed in Main/src-server/darwin/iokit.cpp.)
    818816     */
    819817    int rc = VERR_FILE_NOT_FOUND;
  • trunk/src/VBox/Main/src-server/darwin/iokit.cpp

    r51163 r51578  
    12761276
    12771277/**
    1278  * Enumerate the DVD drives returning a FIFO of device name strings.
     1278 * Enumerate the CD, DVD and BlueRay drives returning a FIFO of device name strings.
    12791279 *
    12801280 * @returns Pointer to the head.
     
    12861286
    12871287    /*
    1288      * Create a matching dictionary for searching for DVD services in the IOKit.
     1288     * Create a matching dictionary for searching for CD, DVD and BlueRay services in the IOKit.
    12891289     *
    1290      * [If I understand this correctly, plain CDROMs doesn't show up as
    1291      * IODVDServices. Too keep things simple, we will only support DVDs
    1292      * until somebody complains about it and we get hardware to test it on.
    1293      * (Unless I'm much mistaken, there aren't any (orignal) intel macs with
    1294      * plain cdroms.)]
     1290     * The idea is to find all the devices which are of class IOCDBlockStorageDevice.
     1291     * CD devices are represented by IOCDBlockStorageDevice class itself, while DVD and BlueRay ones
     1292     * have it as a parent class.
    12951293     */
    1296     CFMutableDictionaryRef RefMatchingDict = IOServiceMatching("IODVDServices");
     1294    CFMutableDictionaryRef RefMatchingDict = IOServiceMatching("IOCDBlockStorageDevice");
    12971295    AssertReturn(RefMatchingDict, NULL);
    12981296
     
    13061304
    13071305    /*
    1308      * Enumerate the DVD services.
     1306     * Enumerate the matching services.
    13091307     * (This enumeration must be identical to the one performed in DrvHostBase.cpp.)
    13101308     */
Note: See TracChangeset for help on using the changeset viewer.

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