28#include "ff7tkformats_export.h" 
   30#define LGP_COMPANY_NAME_SIZE    12 
   31#define LGP_PRODUCT_NAME_SIZE    14 
   33#define LOOKUP_VALUE_MAX 30 
   34#define LOOKUP_TABLE_ENTRIES LOOKUP_VALUE_MAX * LOOKUP_VALUE_MAX 
   36#define MAX_CONFLICTS 4096 
   39#   define PACK(structure)      \ 
   40        __pragma(pack(push, 1)) \ 
   44#   define PACK(structure) structure Q_PACKED 
   48struct FF7TKFORMATS_EXPORT LgpLookupTableEntry {
 
   56        fileDir(fileDir), tocIndex(tocIndex) {}
 
   64        conflict(conflict), tocIndex(tocIndex) {}
 
   74    const QString &fileName() 
const;
 
   75    const QString &fileDir() 
const;
 
   76    QString filePath() 
const;
 
   77    quint32 filePosition() 
const;
 
   78    qint64 fileSize() 
const;
 
   79    void setFileName(
const QString &fileName);
 
   80    void setFileDir(
const QString &fileDir);
 
   81    void setFilePath(
const QString &filePath);
 
   82    void setFilePosition(quint32 filePosition);
 
   83    void setFileSize(quint32 fileSize);
 
   84    QIODevice *file(QIODevice *lgp);
 
   85    QIODevice *modifiedFile(QIODevice *lgp);
 
   86    void setFile(QIODevice *io);
 
   87    void setModifiedFile(QIODevice *io);
 
   89    QIODevice *createFile(QIODevice *lgp);
 
   92    quint32 _filePosition;
 
   99class FF7TKFORMATS_EXPORT 
LgpIO : 
public QIODevice
 
  103    bool open(OpenMode mode) 
override;
 
  104    qint64 size() 
const override;
 
  105    bool canReadLine() 
const override;
 
  107    qint64 readData(
char *data, qint64 maxSize) 
override;
 
  108    qint64 writeData(
const char *data, qint64 maxSize) 
override;
 
  124    QList<LgpHeaderEntry *> entries(quint16 
id) 
const;
 
  125    const QMultiHash<quint16, LgpHeaderEntry *> &table() 
const;
 
  126    bool hasEntries(quint16 
id) 
const;
 
  127    bool removeEntry(
const QString &filePath);
 
  128    static bool isNameValid(
const QString &filePath);
 
  129    bool renameEntry(
const QString &filePath, 
const QString &newFilePath);
 
  130    bool contains(
const QString &filePath) 
const;
 
  132    bool isEmpty() 
const;
 
  134    QList<const LgpHeaderEntry *> filesSortedByPosition() 
const;
 
  138    static qint32 lookupValue(
const QString &filePath);
 
  139    static quint8 lookupValue(
const QChar &qc);
 
  140    QMultiHash<quint16, LgpHeaderEntry *> _header;
 
#define PACK(structure)
Definition: Lgp_p.h:44
LgpConflictEntry(const QString &fileDir, quint16 tocIndex=0)
Definition: Lgp_p.h:55
QString fileDir
Definition: Lgp_p.h:57
LgpConflictEntry()
Definition: Lgp_p.h:54
quint16 tocIndex
Definition: Lgp_p.h:58
quint16 tocIndex
Definition: Lgp_p.h:66
quint16 conflict
Definition: Lgp_p.h:65
LgpTocEntry(quint16 tocIndex, quint16 conflict=0)
Definition: Lgp_p.h:63
LgpTocEntry()
Definition: Lgp_p.h:62