AusweisApp2
AppController.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ActivationHandler.h"
10 #include "EnumHelper.h"
11 
12 #include <QAbstractNativeEventFilter>
13 #include <QSharedPointer>
14 
15 class test_AppController;
16 
17 namespace governikus
18 {
19 
21  NONE,
22  AUTH,
23  SELF,
24  PIN,
25  READER_SETTINGS,
26  REMOTE_SERVICE)
27 
28 
29 class WorkflowController;
30 class WorkflowRequest;
31 class CommandLineParser;
32 
33 class AppController final
34  : public QObject
35  , public QAbstractNativeEventFilter
36 {
37  Q_OBJECT
38 
39  private:
40  friend class ::test_AppController;
41  Q_DISABLE_COPY(AppController)
42 
43  friend class SignalHandler;
44  friend class CommandLineParser;
45 
46  static bool cShowUi;
47  Action mCurrentAction;
48  QScopedPointer<WorkflowRequest> mWaitingRequest;
49  QScopedPointer<WorkflowController> mActiveController;
50  bool mShutdownRunning;
51  const UIPlugIn* mUiDomination;
52  bool mRestartApplication;
53 
54  bool canStartNewAction();
55  void completeShutdown();
56 
57  public:
58  AppController();
59  virtual ~AppController() override;
60 
61  virtual bool eventFilter(QObject* pObj, QEvent* pEvent) override;
62  bool nativeEventFilter(const QByteArray& pEventType, void* pMessage, long* pResult) override;
63 
64  bool start();
65 
66  bool shouldApplicationRestart() const;
67 
68  Q_SIGNALS:
69  void fireStarted();
70  void fireShutdown();
71  void fireWorkflowStarted(QSharedPointer<WorkflowContext> pContext);
72  void fireWorkflowFinished(QSharedPointer<WorkflowContext> pContext);
73  void fireShowUi(UiModule pModule);
74  void fireHideUi();
75  void fireShowUserInformation(const QString& pInformationMessage);
77  void fireProxyAuthenticationRequired(const QNetworkProxy& pProxy, QAuthenticator* pAuthenticator);
79  void fireUiDomination(const UIPlugIn* pUi, const QString& pInformation, bool pAccepted);
81 
82  private Q_SLOTS:
83  void doShutdown();
84  void onUiPlugin(UIPlugIn* pPlugin);
85  void onWorkflowFinished();
86  void onCloseReminderFinished(bool pDontRemindAgain);
87  void onChangePinRequested();
88  void onSelfAuthenticationRequested();
89  void onAuthenticationRequest(const QSharedPointer<ActivationContext>& pActivationContext);
90  void onRemoteServiceRequested();
91  void onLanguageChanged();
92  void onUILoaderShutdownComplete();
93  void onUiDominationRequested(const UIPlugIn* pUi, const QString& pInformation);
94  void onUiDominationRelease();
95  void onRestartApplicationRequested();
96 
97  private:
98  template<typename Controller, typename Context> bool startNewWorkflow(Action pAction, const QSharedPointer<Context>& pContext);
99 
100 };
101 
102 } // namespace governikus
governikus::AppController::fireHideUi
void fireHideUi()
governikus::AppController::fireShowReaderSettings
void fireShowReaderSettings()
AuthContext.h
ReaderManager.h
governikus::WorkflowController
Definition: WorkflowController.h:20
governikus::LanguageLoader::isLoaded
bool isLoaded() const
Definition: LanguageLoader.cpp:121
ActivationContext.h
governikus::ReaderManager::shutdown
void shutdown()
Shuts down the reader manager service.
Definition: ReaderManager.cpp:89
governikus::WorkflowRequest::WorkflowRequest
WorkflowRequest(Action pAction, const QSharedPointer< WorkflowContext > &pContext)
Definition: AppController.cpp:66
governikus::WorkflowRequest::getAction
Action getAction() const
Definition: AppController.cpp:74
governikus::LanguageLoader::unload
void unload()
Definition: LanguageLoader.cpp:156
governikus::AuthContext
Definition: AuthContext.h:48
governikus::AppController::fireShutdown
void fireShutdown()
governikus::NetworkManager::setApplicationProxyFactory
static void setApplicationProxyFactory()
Definition: NetworkManager.cpp:384
governikus::AppController::nativeEventFilter
bool nativeEventFilter(const QByteArray &pEventType, void *pMessage, long *pResult) override
Definition: AppController.cpp:547
governikus::LanguageLoader::load
void load(const QLocale &pLocale=getDefaultLanguage())
Definition: LanguageLoader.cpp:127
AppSettings.h
LogHandler.h
governikus::ChangePinContext
Definition: ChangePinContext.h:16
UILoader.h
SecureStorage.h
governikus::AppController::fireProxyAuthenticationRequired
void fireProxyAuthenticationRequired(const QNetworkProxy &pProxy, QAuthenticator *pAuthenticator)
RemoteClient.h
governikus::WorkflowController::fireComplete
void fireComplete()
NetworkManager.h
governikus::AppController::fireWorkflowFinished
void fireWorkflowFinished(QSharedPointer< WorkflowContext > pContext)
governikus::AppController::fireShowUi
void fireShowUi(UiModule pModule)
SelfAuthController.h
RemoteServiceController.h
HttpServerRequestor.h
ChangePinContext.h
governikus::GeneralSettings::fireLanguageChanged
void fireLanguageChanged()
ResourceLoader.h
governikus::LanguageLoader::getInstance
static LanguageLoader & getInstance()
Definition: LanguageLoader.cpp:42
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::WorkflowRequest::~WorkflowRequest
~WorkflowRequest()=default
governikus::AppController::fireApplicationActivated
void fireApplicationActivated()
governikus::ResourceLoader::init
void init()
Definition: ResourceLoader.cpp:41
governikus::defineEnumType
defineEnumType(KeyAgreementType, DH, ECDH) defineEnumType(MappingType
Method used for key agreement:
governikus::CommandLineParser
Definition: CommandLineParser.h:16
SelfAuthContext.h
governikus::AppController
Definition: AppController.h:36
governikus::ActivationContext
Definition: ActivationContext.h:19
governikus::WorkflowContext
Definition: WorkflowContext.h:23
governikus::AUTH
AUTH
Definition: MsgTypes.h:25
governikus::AppController::~AppController
virtual ~AppController() override
Definition: AppController.cpp:118
governikus::AppController::AppController
AppController()
Definition: AppController.cpp:92
governikus::WorkflowRequest
Definition: AppController.cpp:43
EnumHelper.h
UIPlugIn.h
governikus::ReaderManager::fireInitialized
void fireInitialized()
governikus::AppController::fireShowUserInformation
void fireShowUserInformation(const QString &pInformationMessage)
RemoteServiceContext.h
governikus::AppController::fireStarted
void fireStarted()
governikus::ResourceLoader::getInstance
static ResourceLoader & getInstance()
Definition: ResourceLoader.cpp:35
governikus::LanguageLoader
Definition: LanguageLoader.h:23
AppController.h
governikus::NetworkManager::onShutdown
void onShutdown()
Definition: NetworkManager.cpp:156
governikus::AppController::shouldApplicationRestart
bool shouldApplicationRestart() const
Definition: AppController.cpp:206
HttpServerStatusParser.h
governikus::AppController::fireUiDomination
void fireUiDomination(const UIPlugIn *pUi, const QString &pInformation, bool pAccepted)
governikus::NetworkManager::fireProxyAuthenticationRequired
void fireProxyAuthenticationRequired(const QNetworkProxy &pProxy, QAuthenticator *pAuthenticator)
governikus::AppController::start
bool start()
Definition: AppController.cpp:152
governikus::WorkflowRequest::getContext
QSharedPointer< WorkflowContext > getContext() const
Definition: AppController.cpp:80
ActivationHandler.h
governikus::ResourceLoader::shutdown
void shutdown()
Definition: ResourceLoader.cpp:65
governikus::AppController::fireWorkflowStarted
void fireWorkflowStarted(QSharedPointer< WorkflowContext > pContext)
AuthController.h
ChangePinController.h
governikus::AppController::fireUiDominationReleased
void fireUiDominationReleased()
LanguageLoader.h
governikus::SignalHandler
Definition: SignalHandler.h:25
governikus::LanguageLoader::getUsedLocale
const QLocale & getUsedLocale() const
Definition: LanguageLoader.cpp:176
governikus::AppController::eventFilter
virtual bool eventFilter(QObject *pObj, QEvent *pEvent) override
Definition: AppController.cpp:123