disable the unrecognized nls and x flags
[AROS-Contrib.git] / FryingPan / DTLib / rNRGSession.h
blobc5953730d9da0aacd9532246f86359de5dd1012e
1 /*
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
4 *
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.
9 *
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 _RNRGSESSION_H_
21 #define _RNRGSESSION_H_
23 #include "IFileReader.h"
24 #include "DTLib.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 rNRGSession : public IFileReader
35 protected:
36 DbgHandler *dbg;
38 const IOptItem *sess;
39 String name;
40 uint16 blockSize;
41 uint32 blockCount;
42 VectorT<class track*> tracks;
43 uint64 catalog;
45 String arranger;
46 String composer;
47 String performer;
48 String message;
49 String title;
50 String songwriter;
51 String upc_ean;
52 String disc_id;
54 class file *f;
55 int32 currtrk;
57 protected:
58 rNRGSession(const char* sFileName, EDtError &rc);
59 virtual ~rNRGSession();
60 bool analyse(const char* sFileName, EDtError &rc);
62 bool buildTrackList(struct nrg_cuex*, EDtError &rc);
63 bool updateTrackData(struct nrg_daox*, EDtError &rc);
64 bool updateTrackData(struct nrg_daoi*, EDtError &rc);
66 DbgHandler *getDebug();
67 void setDebug(DbgHandler*);
69 protected:
70 static bool freeTrack(track* const& t);
72 public:
73 static IFileReader *openRead(const char* sFile, EDtError &rc);
74 virtual const char* getName();
75 virtual bool readData(const IOptItem* item, void* pBuff, int pLen);
76 virtual bool setUp();
77 virtual void cleanUp();
78 virtual void dispose();
79 virtual const char *getTrackName();
80 virtual uint32 getBlockCount();
81 virtual uint16 getBlockSize();
82 virtual bool isAudio();
83 virtual bool isData();
84 virtual bool fillOptItem(IOptItem *disc);
85 static bool static_isAudio();
86 static bool static_isData();
87 static bool static_isSession();
88 static const char *static_getName();
89 static bool checkFile(const char* sFileName, EDtError &rc);
92 #endif