SVN commit 659865 by ervin: Apply Danny's patches to add support for blue ray and hd dvd. M +7 -0 backends/fakehw/fakecdrom.cpp M +32 -0 backends/fakehw/fakeopticaldisc.cpp M +7 -0 backends/hal/halcdrom.cpp M +32 -0 backends/hal/halopticaldisc.cpp M +15 -3 opticaldisc.h M +13 -4 opticaldrive.h --- trunk/KDE/kdelibs/solid/solid/backends/fakehw/fakecdrom.cpp #659864:659865 @@ -46,6 +46,13 @@ map[Solid::OpticalDrive::Dvdplusr] ="dvdplusr"; map[Solid::OpticalDrive::Dvdplusrw] ="dvdplusrw"; map[Solid::OpticalDrive::Dvdplusdl] ="dvdplusrdl"; + map[Solid::OpticalDrive::Dvdplusdlrw] ="dvdplusrwdl"; + map[Solid::OpticalDrive::Bd] ="bd"; + map[Solid::OpticalDrive::Bdr] ="bdr"; + map[Solid::OpticalDrive::Bdre] ="bdre"; + map[Solid::OpticalDrive::HdDvd] ="hddvd"; + map[Solid::OpticalDrive::HdDvdr] ="hddvdr"; + map[Solid::OpticalDrive::HdDvdrw] ="hddvdrw"; QStringList supported_medialist = fakeDevice()->property("supportedMedia").toString().simplified().split(','); --- trunk/KDE/kdelibs/solid/solid/backends/fakehw/fakeopticaldisc.cpp #659864:659865 @@ -96,6 +96,38 @@ { return Solid::OpticalDisc::DvdPlusRewritable; } + else if (type == "dvd_plus_r_dl") + { + return Solid::OpticalDisc::DvdPlusRecordableDuallayer; + } + else if (type == "dvd_plus_rw_dl") + { + return Solid::OpticalDisc::DvdPlusRewritableDuallayer; + } + else if (type == "bd_rom") + { + return Solid::OpticalDisc::BluRayRom; + } + else if (type == "bd_r") + { + return Solid::OpticalDisc::BluRayRecordable; + } + else if (type == "bd_re") + { + return Solid::OpticalDisc::BluRayRewritable; + } + else if (type == "hddvd_rom") + { + return Solid::OpticalDisc::HdDvdRom; + } + else if (type == "hddvd_r") + { + return Solid::OpticalDisc::HdDvdRecordable; + } + else if (type == "hddvd_rw") + { + return Solid::OpticalDisc::HdDvdRewritable; + } else { return Solid::OpticalDisc::UnknownDiscType; --- trunk/KDE/kdelibs/solid/solid/backends/hal/halcdrom.cpp #659864:659865 @@ -48,6 +48,13 @@ map[Solid::OpticalDrive::Dvdplusr] ="storage.cdrom.dvdplusr"; map[Solid::OpticalDrive::Dvdplusrw] ="storage.cdrom.dvdplusrw"; map[Solid::OpticalDrive::Dvdplusdl] ="storage.cdrom.dvdplusrdl"; + map[Solid::OpticalDrive::Dvdplusdlrw] ="storage.cdrom.dvdplusrwdl"; + map[Solid::OpticalDrive::Bd] ="storage.cdrom.bd"; + map[Solid::OpticalDrive::Bdr] ="storage.cdrom.bdr"; + map[Solid::OpticalDrive::Bdre] ="storage.cdrom.bdre"; + map[Solid::OpticalDrive::HdDvd] ="storage.cdrom.hddvd"; + map[Solid::OpticalDrive::HdDvdr] ="storage.cdrom.hddvdr"; + map[Solid::OpticalDrive::HdDvdrw] ="storage.cdrom.hddvdrw"; foreach (const Solid::OpticalDrive::MediumType type, map.keys()) { --- trunk/KDE/kdelibs/solid/solid/backends/hal/halopticaldisc.cpp #659864:659865 @@ -93,6 +93,38 @@ { return Solid::OpticalDisc::DvdPlusRewritable; } + else if (type == "dvd_plus_r_dl") + { + return Solid::OpticalDisc::DvdPlusRecordableDuallayer; + } + else if (type == "dvd_plus_rw_dl") + { + return Solid::OpticalDisc::DvdPlusRewritableDuallayer; + } + else if (type == "bd_rom") + { + return Solid::OpticalDisc::BluRayRom; + } + else if (type == "bd_r") + { + return Solid::OpticalDisc::BluRayRecordable; + } + else if (type == "bd_re") + { + return Solid::OpticalDisc::BluRayRewritable; + } + else if (type == "hddvd_rom") + { + return Solid::OpticalDisc::HdDvdRom; + } + else if (type == "hddvd_r") + { + return Solid::OpticalDisc::HdDvdRecordable; + } + else if (type == "hddvd_rw") + { + return Solid::OpticalDisc::HdDvdRewritable; + } else { return Solid::OpticalDisc::UnknownDiscType; --- trunk/KDE/kdelibs/solid/solid/opticaldisc.h #659864:659865 @@ -68,6 +68,7 @@ /** * This enum type defines the type of optical disc it can be. * + * - UnknownDiscType : An undetermined disc type * - CdRom : A Compact Disc Read-Only Memory (CD-ROM) * - CdRecordable : A Compact Disc Recordable (CD-R) * - CdRewritable : A Compact Disc ReWritable (CD-RW) @@ -77,11 +78,22 @@ * - DvdRewritable : A Digital Versatile Disc ReWritable (DVD-RW) * - DvdPlusRecordable : A Digital Versatile Disc Recordable (DVD+R) * - DvdPlusRewritable : A Digital Versatile Disc ReWritable (DVD+RW) - * - UnknownDiscType : An undetermined disc type + * - DvdPlusRecordableDuallayer : A Digital Versatile Disc Recordable Dual-Layer (DVD+R DL) + * - DvdPlusRewritableDuallayer : A Digital Versatile Disc ReWritable Dual-Layer (DVD+RW DL) + * - BluRayRom : A Blu-ray Disc (BD) + * - BluRayRecordable : A Blu-ray Disc Recordable (BD-R) + * - BluRayRewritable : A Blu-ray Disc (BD-RE) + * - HdDvdRom: A High Density Digital Versatile Disc (HD DVD) + * - HdDvdRecordable : A High Density Digital Versatile Disc Recordable (HD DVD-R) + * - HdDvdRewritable : A High Density Digital Versatile Disc ReWritable (HD DVD-RW) */ - enum DiscType { CdRom, CdRecordable, CdRewritable, DvdRom, DvdRam, + enum DiscType { UnknownDiscType = -1, + CdRom, CdRecordable, CdRewritable, DvdRom, DvdRam, DvdRecordable, DvdRewritable, - DvdPlusRecordable, DvdPlusRewritable, UnknownDiscType }; + DvdPlusRecordable, DvdPlusRewritable, + DvdPlusRecordableDuallayer, DvdPlusRewritableDuallayer, + BluRayRom, BluRayRecordable, BluRayRewritable, + HdDvdRom, HdDvdRecordable, HdDvdRewritable }; private: --- trunk/KDE/kdelibs/solid/solid/opticaldrive.h #659864:659865 @@ -61,11 +61,20 @@ * - Dvdplusr : A Recordable Digital Versatile Disc (DVD+R) * - Dvdplusrw : A ReWritable Digital Versatile Disc (DVD+RW) * - Dvdplusdl : A Dual Layer Digital Versatile Disc (DVD+R DL) + * - Dvdplusdlrw : A Dual Layer Digital Versatile Disc (DVD+RW DL) + * - Bd : A Blu-ray Disc (BD) + * - Bdr : A Blu-ray Disc Recordable (BD-R) + * - Bdre : A Blu-ray Disc (BD-RE) + * - HdDvd : A High Density Digital Versatile Disc (HD DVD) + * - HdDvdr : A High Density Digital Versatile Disc Recordable (HD DVD-R) + * - HdDvdrw : A High Density Digital Versatile Disc ReWritable (HD DVD-RW) */ - enum MediumType { Cdr=0x001, Cdrw=0x002, Dvd=0x004, Dvdr=0x008, - Dvdrw=0x010, Dvdram=0x020, Dvdplusr=0x040, - Dvdplusrw=0x080, Dvdplusdl=0x100 }; - + enum MediumType { Cdr=0x00001, Cdrw=0x00002, Dvd=0x00004, Dvdr=0x00008, + Dvdrw=0x00010, Dvdram=0x00020, Dvdplusr=0x00040, + Dvdplusrw=0x00080, Dvdplusdl=0x00100, Dvdplusdlrw=0x00200, + Bd=0x00400, Bdr=0x00800, Bdre=0x01000, + HdDvd=0x02000, HdDvdr=0x04000, HdDvdrw=0x08000 }; + /** * This type stores an OR combination of MediumType values. */