summaryrefslogtreecommitdiffstats
path: root/libk9copy/k9cellcopylist.h
diff options
context:
space:
mode:
Diffstat (limited to 'libk9copy/k9cellcopylist.h')
-rw-r--r--libk9copy/k9cellcopylist.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/libk9copy/k9cellcopylist.h b/libk9copy/k9cellcopylist.h
new file mode 100644
index 0000000..c338567
--- /dev/null
+++ b/libk9copy/k9cellcopylist.h
@@ -0,0 +1,97 @@
+/***************************************************************************
+* Copyright (C) 2005 by Jean-Michel Petit *
+* jm_petit@laposte.net *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program; if not, write to the *
+* Free Software Foundation, Inc., *
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+***************************************************************************/
+#ifndef K9CELLCOPYLIST_H
+#define K9CELLCOPYLIST_H
+
+#include "k9common.h"
+#include "k9dvd.h"
+#include "k9cell.h"
+#include "k9dvdread.h"
+
+class k9CellCopyVTS {
+private:
+ uint num;
+ uint64_t size;
+public:
+ k9CellCopyVTS (int _num) {
+ num=_num;
+ size=0;
+ };
+ uint getnum() ;
+ void addsize(uint32_t _size) ;
+ uint64_t getsize() ;
+};
+
+
+/**
+@author Jean-Michel PETIT
+*/
+
+class k9CellVTSList : public QPtrList<k9CellCopyVTS> {
+protected:
+ int compareItems ( QPtrCollection::Item item1, QPtrCollection::Item item2 );
+};
+
+
+class k9CellCopyList : public QObjectList {
+public:
+ k9CellCopyList(k9DVDRead * _dvdHandle,k9DVD *_DVD);
+ double getfactor(bool _withMenus,bool _streams);
+ double gettotalSize();
+ double getforcedSize(bool _withFactor);
+ double getMinFactor(bool _withMenus);
+ k9CellVTSList VTSList;
+ ~k9CellCopyList();
+
+ void addInbytes(const uint64_t& _value) {
+ m_inbytes += _value;
+ }
+
+
+ void addOutbytes(const uint64_t& _value) {
+ m_outbytes += _value;
+ }
+
+ void addFrcinbytes(const uint64_t& _value) {
+ m_frcinbytes += _value;
+ }
+
+ void addFrcoutbytes(const uint64_t& _value) {
+ m_frcoutbytes += _value;
+ }
+
+private:
+ k9DVD *DVD;
+ k9DVDRead *dvdHandle;
+ uint64_t m_inbytes,m_outbytes;
+ uint64_t m_frcinbytes,m_frcoutbytes;
+
+ void fill();
+ k9Cell *addCell(int _VTS,int _pgc,int _id,uint32_t startSector,uint32_t lastSector,uchar _angleBlock);
+ bool checkSelected(k9Cell *_cell);
+ void addStreams(k9DVDTitle *_title,k9Cell *_cell);
+ void setVTS(uint _numVTS,uint32_t _size);
+
+ //QPtrList <k9CellCopyVTS> VTSList;
+ void sortVTSList();
+
+};
+
+#endif