getVouchers static method
Implementation
static List<MobiVoucher> getVouchers(MobiData data) {
final offset = data.mobiHeader!.drmOffset!;
final count = data.mobiHeader!.drmCount!;
final size = data.mobiHeader!.drmSize!;
if (offset == mobiNotSet || count == 0) {
return [];
}
final rec = data.mobiPdbRecord!;
if (offset + size > rec.size!) {
return [];
}
final buffer = MobiBuffer(rec.data!, offset);
List<MobiVoucher> drms =
List.generate(data.mobiHeader!.drmCount!, (int i) => MobiVoucher());
for (int i = 0; i < count; i++) {
drms[i].verification = buffer.getInt32();
drms[i].size = buffer.getInt32();
drms[i].type = buffer.getInt32();
drms[i].checksum = buffer.getInt32();
buffer.seek(3);
drms[i].cookie = buffer.getStringAsByte(cookieSize);
}
return drms;
}