AusweisApp2
UIPlugIn.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "EnumHelper.h"
10 
11 #include <QNetworkProxy>
12 #include <QObject>
13 
14 namespace governikus
15 {
16 
17 class WorkflowRequest;
18 class WorkflowContext;
19 
23 defineEnumType(UiModule,
24  CURRENT,
25  DEFAULT,
26  IDENTIFY,
27  SETTINGS,
28  PINMANAGEMENT,
29  HISTORY,
30  HELP,
31  PROVIDER,
32  SELF_AUTHENTICATION,
33 
34  // Desktop only
35  TUTORIAL,
36  UPDATEINFORMATION,
37 
38  // Mobile only
39  REMOTE_SERVICE,
40  CHECK_ID_CARD,
41  SMART
42  )
43 
44 class UIPlugIn
45  : public QObject
46 {
47  Q_OBJECT
48 
49  public:
50  UIPlugIn() = default;
51  ~UIPlugIn() override = default;
52 
53  [[nodiscard]] virtual bool initialize();
54 
55  public Q_SLOTS:
56  virtual void doShutdown() = 0;
57  virtual void onWorkflowStarted(QSharedPointer<WorkflowContext> pContext) = 0;
58  virtual void onWorkflowFinished(QSharedPointer<WorkflowContext> pContext) = 0;
59  virtual void onApplicationInitialized();
60  virtual void onApplicationStarted();
61  virtual void onShowUi(UiModule pModule);
62  virtual void onHideUi();
63  virtual void onTranslationChanged();
64  virtual void onProxyAuthenticationRequired(const QNetworkProxy& pProxy, QAuthenticator* pAuthenticator);
65  virtual void onUiDomination(const UIPlugIn* pUi, const QString& pInformation, bool pAccepted);
66  virtual void onUiDominationReleased();
67  virtual void onShowUserInformation(const QString& pInformationMessage);
68 
69  Q_SIGNALS:
70  void fireWorkflowRequested(const QSharedPointer<WorkflowRequest>& pRequest);
71  void fireShowUiRequested(UiModule pModule);
72  void fireShowUserInformationRequested(const QString& pMsg);
73  void fireQuitApplicationRequest(int pExitCode = EXIT_SUCCESS);
74  void fireCloseReminderFinished(bool pDontRemindAgain);
75  void fireApplicationActivated();
76 
77  void fireUiDominationRequest(const UIPlugIn* pUi, const QString& pInformation);
78  void fireUiDominationRelease();
79  void fireRestartApplicationRequested();
80 };
81 
82 } // namespace governikus
83 
84 Q_DECLARE_INTERFACE(governikus::UIPlugIn, "governikus.UIPlugIn")
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
defineEnumType(KnownOid, ID_SIGNED_DATA, EC_PS_PUBLICKEY, STANDARDIZED_DOMAINPARAMETERS, BSI_DE_PROTOCOLS_SMARTCARD, ID_PK, ID_PK_DH, ID_PK_ECDH, ID_PS_PK, ID_PS_PK_ECDH_ESCHNORR, ID_TA, ID_TA_RSA, ID_TA_RSA_V1_5_SHA_1, ID_TA_RSA_V1_5_SHA_256, ID_TA_RSA_PSS_SHA_1, ID_TA_RSA_PSS_SHA_256, ID_TA_RSA_V1_5_SHA_512, ID_TA_RSA_PSS_SHA_512, ID_TA_ECDSA, ID_TA_ECDSA_SHA_1, ID_TA_ECDSA_SHA_224, ID_TA_ECDSA_SHA_256, ID_TA_ECDSA_SHA_384, ID_TA_ECDSA_SHA_512, ID_CA, ID_CA_DH, ID_CA_DH_3DES_CBC_CBC, ID_CA_DH_AES_CBC_CMAC_128, ID_CA_DH_AES_CBC_CMAC_192, ID_CA_DH_AES_CBC_CMAC_256, ID_CA_ECDH, ID_CA_ECDH_3DES_CBC_CBC, ID_CA_ECDH_AES_CBC_CMAC_128, ID_CA_ECDH_AES_CBC_CMAC_192, ID_CA_ECDH_AES_CBC_CMAC_256, ID_PACE, ID_PACE_DH_GM, ID_PACE_DH_GM_3DES_CBC_CBC, ID_PACE_DH_GM_AES_CBC_CMAC_128, ID_PACE_DH_GM_AES_CBC_CMAC_192, ID_PACE_DH_GM_AES_CBC_CMAC_256, ID_PACE_ECDH_GM, ID_PACE_ECDH_GM_3DES_CBC_CBC, ID_PACE_ECDH_GM_AES_CBC_CMAC_128, ID_PACE_ECDH_GM_AES_CBC_CMAC_192, ID_PACE_ECDH_GM_AES_CBC_CMAC_256, ID_PACE_DH_IM, ID_PACE_DH_IM_3DES_CBC_CBC, ID_PACE_DH_IM_AES_CBC_CMAC_128, ID_PACE_DH_IM_AES_CBC_CMAC_192, ID_PACE_DH_IM_AES_CBC_CMAC_256, ID_PACE_ECDH_IM, ID_PACE_ECDH_IM_3DES_CBC_CBC, ID_PACE_ECDH_IM_AES_CBC_CMAC_128, ID_PACE_ECDH_IM_AES_CBC_CMAC_192, ID_PACE_ECDH_IM_AES_CBC_CMAC_256, ID_PACE_ECDH_CAM, ID_PACE_ECDH_CAM_AES_CBC_CMAC_128, ID_PACE_ECDH_CAM_AES_CBC_CMAC_192, ID_PACE_ECDH_CAM_AES_CBC_CMAC_256, ID_RI, ID_RI_DH, ID_RI_DH_SHA_1, ID_RI_DH_SHA_224, ID_RI_DH_SHA_256, ID_RI_DH_SHA_384, ID_RI_DH_SHA_512, ID_RI_ECDH, ID_RI_ECDH_SHA_1, ID_RI_ECDH_SHA_224, ID_RI_ECDH_SHA_256, ID_RI_ECDH_SHA_384, ID_RI_ECDH_SHA_512, ID_CI, ID_EID_SECURITY, ID_PT, ID_PS, ID_PSA, ID_PSA_ECDH_ECSCHNORR, ID_PSA_ECDH_ECSCHNORR_SHA_256, ID_PSA_ECDH_ECSCHNORR_SHA_384, ID_PSA_ECDH_ECSCHNORR_SHA_512, ID_PASSWORDTYPE, ID_PASSWORDTYPE_MRZ, ID_PASSWORDTYPE_CAN, ID_PASSWORDTYPE_PIN, ID_PASSWORDTYPE_PUK, ID_AUXILIARY_DATA, ID_DATE_OF_BIRTH, ID_DATE_OF_EXPIRY, ID_MUNICIPALITY_ID, ID_PSM_MESSAGE, ID_SECURITY_OBJECT, ID_ROLES, ID_IS, ID_AT, ID_ST, ID_EXTENSIONS, ID_DESCRIPTION, ID_PLAIN_FORMAT, ID_HTML_FORMAT, ID_PFD_FORMAT, ID_SECTOR, ID_EID_TYPE, ID_CARD_EID_TYPE, ID_MOBILE_EID_TYPE, ID_MOBILE_EID_TYPE_SE_CERTIFIED, ID_MOBILE_EID_TYPE_SE_ENDORSED, ID_MOBILE_EID_TYPE_HW_KEYSTORE) class Oid
Definition: Oid.h:21