8#include "dosipasfactory_p.h"
9#include "fcbreader_p.h"
11#include "asn1/uperdecoder.h"
15void Dosipas::v1::DataType::decode(
UPERDecoder &decoder)
17 decodeSequence(decoder);
22QVariant Dosipas::v1::DataType::content()
const
24 return DosipasFactory::decodeDataType(*
this);
27std::optional<Fcb::UicRailTicketData> Dosipas::v1::DataType::fcb()
const
29 return DosipasFactory::decodeFcb(*
this);
32void Dosipas::v1::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);
45void Dosipas::v1::Level2DataType::decode(UPERDecoder &decoder)
47 decodeSequence(decoder);
48 FCB_READ_CUSTOM(level1Data);
49 FCB_READ_OCTETSTRING(level1Signature);
50 FCB_READ_CUSTOM(level2Data);
53void Dosipas::v1::UicBarcodeHeader::decode(UPERDecoder &decoder)
55 decodeSequence(decoder);
56 FCB_READ_IA5STRING(format);
57 FCB_READ_CUSTOM(level2SignedData);
58 FCB_READ_OCTETSTRING(level2Signature);
61Dosipas::v1::UicBarcodeHeader::UicBarcodeHeader() =
default;
63Dosipas::v1::UicBarcodeHeader::UicBarcodeHeader(
const QByteArray &data)
69 qCWarning(
Log) << decoder.errorMessage();
77bool Dosipas::v1::UicBarcodeHeader::isValid()
const
79 return !m_data.isEmpty();
82QByteArray Dosipas::v1::UicBarcodeHeader::rawData()
const
87#include "moc_dosipas1.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