AusweisApp
Lade ...
Suche ...
Keine Treffer
FileRef.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include <QByteArray>
8#include <QDebug>
9
10
11namespace governikus
12{
13
15{
16 public:
17 enum TYPE : uchar
18 {
22 UNKNOWN = 0xFF
23 };
24
25 private:
26 TYPE mType;
27 QByteArray mIdentifier;
28 QByteArray mShortIdentifier;
29
30 public:
31 static FileRef masterFile();
32 static FileRef efDir();
33 static FileRef efCardAccess();
34 static FileRef efCardSecurity();
35 static FileRef appCIA();
36 static FileRef appEId();
37 static FileRef appESign();
38 static FileRef appPassport();
39 static FileRef appPersosim();
40
41 FileRef();
42 FileRef(uchar pType, const QByteArray& pIdentifier, const QByteArray& pShortIdentifier = QByteArray());
43 FileRef(TYPE pType, const QByteArray& pIdentifier, const QByteArray& pShortIdentifier = QByteArray());
44
45 [[nodiscard]] TYPE getType() const;
46 [[nodiscard]] const QByteArray& getIdentifier() const;
47 [[nodiscard]] const QByteArray& getShortIdentifier() const;
48 [[nodiscard]] QString getName() const;
49};
50
51
52inline bool operator==(const FileRef& pFileRefA, const FileRef& pFileRefB)
53{
54 return pFileRefA.getType() == pFileRefB.getType()
55 && pFileRefA.getIdentifier() == pFileRefB.getIdentifier()
56 && pFileRefA.getShortIdentifier() == pFileRefB.getShortIdentifier();
57}
58
59
60inline QDebug operator<<(QDebug pDbg, const FileRef& pFileRef)
61{
62 QDebugStateSaver saver(pDbg);
63 pDbg.noquote().nospace() << pFileRef.getIdentifier().toHex().toUpper() << " (" << pFileRef.getName() << ")";
64 return pDbg;
65}
66
67
68} // namespace governikus
Definition FileRef.h:15
static FileRef efDir()
Definition FileRef.cpp:19
static FileRef appPassport()
Definition FileRef.cpp:64
const QByteArray & getIdentifier() const
Definition FileRef.cpp:119
static FileRef efCardAccess()
Definition FileRef.cpp:28
static FileRef masterFile()
Definition FileRef.cpp:13
const QByteArray & getShortIdentifier() const
Definition FileRef.cpp:125
TYPE
Definition FileRef.h:18
@ ELEMENTARY_FILE
Definition FileRef.h:20
@ APPLICATION
Definition FileRef.h:21
@ UNKNOWN
Definition FileRef.h:22
@ MASTER_FILE
Definition FileRef.h:19
static FileRef appCIA()
Definition FileRef.cpp:46
FileRef()
Definition FileRef.cpp:76
static FileRef efCardSecurity()
Definition FileRef.cpp:37
static FileRef appEId()
Definition FileRef.cpp:52
static FileRef appPersosim()
Definition FileRef.cpp:70
QString getName() const
Definition FileRef.cpp:131
TYPE getType() const
Definition FileRef.cpp:113
static FileRef appESign()
Definition FileRef.cpp:58
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition CommandApdu.h:96
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition CommandApdu.h:105