8#include "dosipasfactory_p.h"
9#include "fcbreader_p.h"
11#include "asn1/uperdecoder.h"
15void Dosipas::v2::DataType::decode(
UPERDecoder &decoder)
17 decodeSequence(decoder);
22QVariant Dosipas::v2::DataType::content()
const
24 return DosipasFactory::decodeDataType(*
this);
27std::optional<Fcb::UicRailTicketData> Dosipas::v2::DataType::fcb()
const
29 return DosipasFactory::decodeFcb(*
this);
32void Dosipas::v2::Level1DataType::decode(UPERDecoder &decoder)
34 decodeSequence(decoder);
35 FCB_READ_INT_IA5_PAIR(securityProvider, 1, 32000);
36 FCB_READ_CONSTRAINED_INT(keyId, 0, 99999);
37 FCB_READ_SEQUENCE_OF_CUSTOM(dataSequence);
38 FCB_READ_OBJECT_IDENTIFIER(level1KeyAlg);
39 FCB_READ_OBJECT_IDENTIFIER(level2KeyAlg);
40 FCB_READ_OBJECT_IDENTIFIER(level1SigningAlg);
41 FCB_READ_OBJECT_IDENTIFIER(level2SigningAlg);
42 FCB_READ_OCTETSTRING(level2PublicKey);
43 FCB_READ_CONSTRAINED_INT(endOfValidityYear, 2016, 2269);
44 FCB_READ_CONSTRAINED_INT(endOfValidityDay, 1, 366);
45 FCB_READ_CONSTRAINED_INT(endOfValidityTime, 0, 1439);
46 FCB_READ_CONSTRAINED_INT(validityDuration, 1, 3600);
49void Dosipas::v2::Level2DataType::decode(UPERDecoder &decoder)
51 decodeSequence(decoder);
52 FCB_READ_CUSTOM(level1Data);
53 FCB_READ_OCTETSTRING(level1Signature);
54 FCB_READ_CUSTOM(level2Data);
57void Dosipas::v2::UicBarcodeHeader::decode(UPERDecoder &decoder)
59 decodeSequence(decoder);
60 FCB_READ_IA5STRING(format);
61 FCB_READ_CUSTOM(level2SignedData);
62 FCB_READ_OCTETSTRING(level2Signature);
65Dosipas::v2::UicBarcodeHeader::UicBarcodeHeader() =
default;
67Dosipas::v2::UicBarcodeHeader::UicBarcodeHeader(
const QByteArray &data)
73 qCWarning(
Log) << decoder.errorMessage();
81bool Dosipas::v2::UicBarcodeHeader::isValid()
const
83 return !m_data.isEmpty();
86QByteArray Dosipas::v2::UicBarcodeHeader::rawData()
const
91#include "moc_dosipas2.cpp"
Non-owning bit-level view for working with data that isn't byte-aligned.
Decoder for data encoded according to X.691 ASN.1 Unaligned Packed Encoding Rules (UPER).
QByteArray readOctetString()
Read unconstrained octet string (8 bit data).
bool hasError() const
Reading at any point encountered an error.
QByteArray readIA5String()
Read an unconstrained IA5String (7 bit ASCII).
Classes for reservation/travel data models, data extraction and data augmentation.
const char * constData() const const
qsizetype size() const const