AusweisApp
Lade ...
Suche ...
Keine Treffer
AppController.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "EnumHelper.h"
8#include "UiPlugin.h"
9#include "WorkflowRequest.h"
10
11#include <QAbstractNativeEventFilter>
12#include <QAuthenticator>
13#include <QNetworkProxy>
14#include <QSharedPointer>
15
16
17class test_AppController;
18
19
20namespace governikus
21{
24
25class AppController final
26 : public QObject
27 , public QAbstractNativeEventFilter
28{
29 Q_OBJECT
30 Q_DISABLE_COPY(AppController)
31 friend class ::test_AppController;
32 friend int initApp(int&, char**);
33 friend class CommandLineParser;
34
35 private:
36 static bool cShowUi;
37 QSharedPointer<WorkflowRequest> mActiveWorkflow;
38 QSharedPointer<WorkflowRequest> mWaitingRequest;
39 bool mShutdownRunning;
40 const UiPlugin* mUiDomination;
41 bool mRestartApplication;
42 int mExitCode;
43
44 [[nodiscard]] bool canStartNewWorkflow() const;
45 void completeShutdown();
46 void waitForNetworkConnections(const std::function<void()>& pExitFunc);
47
48 public:
50
51 bool eventFilter(QObject* pObj, QEvent* pEvent) override;
52 bool nativeEventFilter(const QByteArray& pEventType, void* pMessage, qintptr* pResult) override;
53
54 void start();
55
56 [[nodiscard]] bool shouldApplicationRestart() const;
57
58 Q_SIGNALS:
62 void fireWorkflowStarted(const QSharedPointer<WorkflowRequest>& pRequest);
63 void fireWorkflowFinished(const QSharedPointer<WorkflowRequest>& pRequest);
64 void fireWorkflowUnhandled(const QSharedPointer<WorkflowRequest>& pRequest);
65 void fireShowUi(UiModule pModule);
66 void fireHideUi();
67 void fireShowUserInformation(const QString& pInformationMessage);
69 void fireProxyAuthenticationRequired(const QNetworkProxy& pProxy, QAuthenticator* pAuthenticator);
72 void fireUiDomination(const UiPlugin* pUi, const QString& pInformation, bool pAccepted);
74
75 private Q_SLOTS:
76 void doShutdown(int pExitCode = EXIT_SUCCESS);
77 void onUiPlugin(const UiPlugin* pPlugin) const;
78 void onWorkflowFinished();
79 void onWorkflowRequested(const QSharedPointer<WorkflowRequest>& pRequest);
80 void onCloseReminderFinished(bool pDontRemindAgain) const;
81 void onLanguageChanged();
82 void onUiDominationRequested(const UiPlugin* pUi, const QString& pInformation);
83 void onUiDominationRelease();
84 void onRestartApplicationRequested();
85
86 private:
87 bool startNewWorkflow(const QSharedPointer<WorkflowRequest>& pRequest);
88 static void clearCacheFolders();
89
90};
91
92} // namespace governikus
friend class CommandLineParser
Definition AppController.h:33
bool nativeEventFilter(const QByteArray &pEventType, void *pMessage, qintptr *pResult) override
Definition AppController.cpp:490
bool shouldApplicationRestart() const
Definition AppController.cpp:182
void fireWorkflowStarted(const QSharedPointer< WorkflowRequest > &pRequest)
void fireUiDomination(const UiPlugin *pUi, const QString &pInformation, bool pAccepted)
void fireProxyAuthenticationRequired(const QNetworkProxy &pProxy, QAuthenticator *pAuthenticator)
void fireShowUserInformation(const QString &pInformationMessage)
void start()
Definition AppController.cpp:114
void fireWorkflowFinished(const QSharedPointer< WorkflowRequest > &pRequest)
friend int initApp(int &, char **)
bool eventFilter(QObject *pObj, QEvent *pEvent) override
Definition AppController.cpp:79
void fireWorkflowUnhandled(const QSharedPointer< WorkflowRequest > &pRequest)
void fireShowUi(UiModule pModule)
AppController()
Definition AppController.cpp:45
friend class ::test_AppController
Definition AppController.h:31
Definition CommandLineParser.h:14
Definition WorkflowController.h:20
Definition WorkflowRequest.h:26
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17