2 * FryingPan - Amiga CD/DVD Recording Software (User Interface and supporting Libraries only)
3 * Copyright (C) 2001-2011 Tomasz Wiszkowski Tomasz.Wiszkowski at gmail.com
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public License
7 * as published by the Free Software Foundation; either version 2.1
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 #ifndef __DISC_DVD_ROM_H
21 #define __DISC_DVD_ROM_H
23 #include "Disc_Generic.h"
24 #include <Generic/VectorT.h>
26 using namespace GenNS
;
28 class Disc_DVD_ROM
: public Disc
31 cmd_ReadDVDStructure rdvd
;
33 DVDStructure
<DVD_DiscControlBlock
> cb
;
35 Disc_DVD_ROM(class Drive
*);
36 virtual ~Disc_DVD_ROM(void);
38 virtual void Init(void); // OUGHT TO BE INHERITED EVERYWHERE!
40 virtual int LayoutTracks(const IOptItem
*) { return ODE_IllegalCommand
; };
41 virtual bool AllowMultiSessionLayout() { return false; };
42 virtual bool AllowMultiTrackLayout() { return false; };
43 virtual int SessionGapSize() { return 0; };
44 virtual int TrackGapSize() { return 0; };
45 virtual bool IsCD() { return false; };
46 virtual bool IsDVD() { return true; };
47 virtual bool IsFormatted() { return false; };
48 virtual bool IsWritable() { return false; };
49 virtual bool IsErasable() { return false; };
50 virtual bool IsFormatable() { return false; };
51 virtual bool IsOverwritable() { return false; };
52 virtual int EraseDisc(int) { return ODE_IllegalCommand
; };
53 virtual int FormatDisc(int) { return ODE_IllegalCommand
; };
54 virtual int StructureDisc() { return ODE_IllegalCommand
; };
55 virtual int DiscType() { return DRT_Profile_DVD_ROM
;};
56 virtual int DiscSubType() { return 0; };
57 virtual int LayoutAdjustment() { return 0; };
58 virtual int BeginTrackWrite(const IOptItem
*) { return ODE_IllegalCommand
; };
59 virtual int EndTrackWrite(const IOptItem
*) { return ODE_IllegalCommand
; };
61 virtual int CheckItemData(const IOptItem
*);
62 virtual void FillDiscSpeed(DiscSpeed
&);