diff options
Diffstat (limited to 'libk9copy/k9cellcopylist.h')
-rw-r--r-- | libk9copy/k9cellcopylist.h | 97 |
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 |