9#include "art_io/artwork.h"
11namespace PxCryptPrivate
14class MultiPartWork :
public Artwork<MultiPartWork, 2>
22 using checksum_t = quint32;
23 using tag_length_t = quint16;
24 using payload_length_t = quint32;
25 using part_idx_t = quint16;
30 checksum_t mPartChecksum;
31 checksum_t mCompleteCheckum;
33 part_idx_t mPartCount;
39 MultiPartWork(
const QByteArray& tag,
const QByteArray& partPayload, checksum_t completeChecksum, part_idx_t partIdx, part_idx_t partCount);
43 static quint64 renditionSize(tag_length_t tagSize, payload_length_t payloadSize);
47 quint64 renditionSize()
const override;
48 ArtworkError renditionRead(
QDataStream& stream)
override;
49 ArtworkError renditionWrite(
QDataStream& stream)
const override;
53 checksum_t partChecksum()
const;
54 checksum_t completeChecksum()
const;
55 part_idx_t partIdx()
const;
56 part_idx_t partCount()
const;
60class MultiPartWork::Measure :
public IMeasure
69 Measure(tag_length_t tagSize, payload_length_t payloadSize);
73 quint64 renditionSize()
const override;