28 #define LGP_COMPANY_NAME_SIZE 12 29 #define LGP_PRODUCT_NAME_SIZE 14 31 #define LOOKUP_VALUE_MAX 30 32 #define LOOKUP_TABLE_ENTRIES LOOKUP_VALUE_MAX * LOOKUP_VALUE_MAX 34 #define MAX_CONFLICTS 4096 37 # define PACK(structure) \ 38 __pragma(pack(push, 1)) \ 42 # define PACK(structure) structure Q_PACKED 46 struct LgpLookupTableEntry
65 conflict(conflict), tocIndex(tocIndex) {}
75 const QString &fileName()
const;
77 QString filePath()
const;
78 quint32 filePosition()
const;
79 qint64 fileSize()
const;
80 void setFileName(
const QString &fileName);
81 void setFileDir(
const QString &fileDir);
82 void setFilePath(
const QString &filePath);
83 void setFilePosition(quint32 filePosition);
84 void setFileSize(quint32 fileSize);
85 QIODevice *file(QIODevice *lgp);
86 QIODevice *modifiedFile(QIODevice *lgp);
87 void setFile(QIODevice *io);
88 void setModifiedFile(QIODevice *io);
90 QIODevice *createFile(QIODevice *lgp);
104 bool open(OpenMode mode);
106 bool canReadLine()
const;
108 qint64 readData(
char *data, qint64 maxSize);
109 qint64 writeData(
const char *data, qint64 maxSize);
125 QList<LgpHeaderEntry *> entries(quint16
id)
const;
126 const QMultiHash<quint16, LgpHeaderEntry *> &table()
const;
127 bool hasEntries(quint16
id)
const;
128 bool removeEntry(
const QString &filePath);
129 static bool isNameValid(
const QString &filePath);
130 bool renameEntry(
const QString &filePath,
const QString &newFilePath);
131 bool contains(
const QString &filePath)
const;
133 bool isEmpty()
const;
135 QList<const LgpHeaderEntry *> filesSortedByPosition()
const;
139 static qint32 lookupValue(
const QString &filePath);
140 static quint8 lookupValue(
const QChar &qc);
141 QMultiHash<quint16, LgpHeaderEntry *>
_header;
QMultiHash< quint16, LgpHeaderEntry * > _header
LgpConflictEntry(const QString &fileDir, quint16 tocIndex=0)
const LgpHeaderEntry * _header
LgpTocEntry(quint16 tocIndex, quint16 conflict=0)