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 _RCUESESSION_H_
21 #define _RCUESESSION_H_
23 #include "IFileReader.h"
25 #include <Generic/String.h>
26 #include <Generic/VectorT.h>
27 #include <Generic/LibrarySpool.h>
28 #include <Optical/Optical.h>
29 #include <Generic/Debug.h>
31 using namespace GenNS
;
33 class rCUESession
: public IFileReader
42 VectorT
<class track
*> tracks
;
54 VectorT
<class file
*> files
;
58 rCUESession(const char* sFileName
, EDtError
&rc
);
59 virtual ~rCUESession();
60 bool analyse(const char* sFileName
, EDtError
&rc
);
61 uint32
parseLocation(String
&s
);
62 DbgHandler
*getDebug();
63 void setDebug(DbgHandler
*);
66 static bool freeTrack(track
* const& t
);
69 static IFileReader
*openRead(const char* sFile
, EDtError
&rc
);
70 virtual const char* getName();
71 virtual bool readData(const IOptItem
* item
, void* pBuff
, int pLen
);
73 virtual void cleanUp();
74 virtual void dispose();
75 virtual const char *getTrackName();
76 virtual uint32
getBlockCount();
77 virtual uint16
getBlockSize();
78 virtual bool isAudio();
79 virtual bool isData();
80 virtual bool fillOptItem(IOptItem
*disc
);
81 static bool static_isAudio();
82 static bool static_isData();
83 static bool static_isSession();
84 static const char *static_getName();
85 static bool checkFile(const char* sFileName
, EDtError
&rc
);