AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
RemoteMessage.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "EnumHelper.h"
10 
11 #include <QJsonDocument>
12 #include <QJsonObject>
13 #include <QString>
14 
15 
16 #define VALUE_NAME(_name, _key)\
17  inline QLatin1String _name(){\
18  return QLatin1String(_key);\
19  }
20 
21 
22 namespace governikus
23 {
24 defineEnumType(RemoteCardMessageType,
25  IFDEstablishContext,
26  IFDEstablishContextResponse,
27  IFDGetStatus,
28  IFDStatus,
29  IFDConnect,
30  IFDConnectResponse,
31  IFDDisconnect,
32  IFDDisconnectResponse,
33  IFDError,
34  IFDTransmit,
35  IFDTransmitResponse,
36  IFDEstablishPACEChannel,
37  IFDEstablishPACEChannelResponse,
38  IFDModifyPIN,
39  IFDModifyPINResponse,
40  UNDEFINED)
41 
42 
43 class RemoteMessage
44 {
45  private:
46  bool mIsValid;
47  RemoteCardMessageType mMessageType;
48  QString mContextHandle;
49 
50  protected:
51  virtual QJsonObject createMessageBody(const QString& pContextHandle) const;
52  void missingValue(const QLatin1String& pName);
53  void invalidType(const QLatin1String& pName, const QLatin1String& pExpectedType);
54  bool getBoolValue(const QJsonObject& pJsonObject, const QLatin1String& pName);
55  int getIntValue(const QJsonObject& pJsonObject, const QLatin1String& pName);
56  QString getStringValue(const QJsonObject& pJsonObject, const QLatin1String& pName);
57 
58  public:
59  static QJsonObject parseByteArray(const QByteArray& pMessage);
60 
61  RemoteMessage(RemoteCardMessageType pType);
62  RemoteMessage(const QJsonObject& pMessageObject);
63  virtual ~RemoteMessage() = default;
64 
65  bool isValid() const;
66  RemoteCardMessageType getType() const;
67  const QString& getContextHandle() const;
68 
69  virtual QJsonDocument toJson(const QString& pContextHandle) const;
70 };
71 
72 
73 } /* namespace governikus */
toJson())
Definition: RemoteReaderAdvertiser.cpp:63
defineEnumType(UiModule, CURRENT, DEFAULT, IDENTIFY, SETTINGS, PINMANAGEMENT) defineEnumType(StatusFormat
UI modules that can be requested to show.