AusweisApp2
FileRef.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include <QByteArray>
10 #include <QDebug>
11 
12 
13 namespace governikus
14 {
15 
16 class FileRef
17 {
18  public:
19  enum TYPE : uchar
20  {
21  MASTER_FILE = 0x00,
23  APPLICATION = 0x04,
24  UNKNOWN = 0xFF
25  };
26 
27  private:
28  TYPE mType;
29  QByteArray mIdentifier;
30  QByteArray mShortIdentifier;
31 
32  public:
33  static FileRef masterFile();
34  static FileRef efDir();
35  static FileRef efCardAccess();
36  static FileRef efCardSecurity();
37  static FileRef appCIA();
38  static FileRef appEId();
39  static FileRef appESign();
40  static FileRef appPassport();
41  static FileRef appPersosim();
42 
43  FileRef();
44  FileRef(uchar pType, const QByteArray& pIdentifier, const QByteArray& pShortIdentifier = QByteArray());
45  FileRef(TYPE pType, const QByteArray& pIdentifier, const QByteArray& pShortIdentifier = QByteArray());
46 
47  [[nodiscard]] TYPE getType() const;
48  [[nodiscard]] const QByteArray& getIdentifier() const;
49  [[nodiscard]] const QByteArray& getShortIdentifier() const;
50  [[nodiscard]] QString getName() const;
51 };
52 
53 
54 inline QDebug operator<<(QDebug pDbg, const FileRef& pFileRef)
55 {
56  QDebugStateSaver saver(pDbg);
57  pDbg.noquote().nospace() << pFileRef.getIdentifier().toHex().toUpper() << " (" << pFileRef.getName() << ")";
58  return pDbg;
59 }
60 
61 
62 } // namespace governikus
Definition: FileRef.h:17
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:20
@ ELEMENTARY_FILE
Definition: FileRef.h:22
@ APPLICATION
Definition: FileRef.h:23
@ UNKNOWN
Definition: FileRef.h:24
@ MASTER_FILE
Definition: FileRef.h:21
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
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition: CommandApdu.h:94