AusweisApp2
RemoteDispatcher.h
gehe zur Dokumentation dieser Datei
1 
9 #pragma once
10 
11 #include "DataChannel.h"
12 #include "GlobalStatus.h"
13 #include "messages/IfdVersion.h"
14 #include "messages/RemoteMessage.h"
15 
16 #include <QObject>
17 #include <QSharedPointer>
18 
19 
20 namespace governikus
21 {
22 
24  : public QObject
25 {
26  Q_OBJECT
27 
28  private:
29  const QSharedPointer<DataChannel> mDataChannel;
30 
31  virtual bool processContext(RemoteCardMessageType pMsgType, const QJsonObject& pMsgObject) = 0;
32 
33  private Q_SLOTS:
34  void onReceived(const QByteArray& pDataBlock);
35  void onClosed(GlobalStatus::Code pCloseCode);
36 
37  protected:
39  QString mContextHandle;
40 
41  public:
42  explicit RemoteDispatcher(IfdVersion::Version pVersion, const QSharedPointer<DataChannel>& pDataChannel);
43  ~RemoteDispatcher() override;
44 
45  [[nodiscard]] virtual QString getId() const;
46  [[nodiscard]] virtual const QString& getContextHandle() const;
47  void saveRemoteNameInSettings(const QString& pName);
48 
49  void close();
50  Q_INVOKABLE virtual void send(const QSharedPointer<const RemoteMessage>& pMessage);
51 
52  Q_SIGNALS:
53  void fireReceived(RemoteCardMessageType pMessageType, const QJsonObject& pJsonObject, const QString& pId);
54  void fireClosed(GlobalStatus::Code pCloseCode, const QString& pId);
55 };
56 
57 } // namespace governikus
governikus::DataChannel::fireClosed
void fireClosed(GlobalStatus::Code pCloseCode)
governikus::RemoteDispatcher::~RemoteDispatcher
~RemoteDispatcher() override
Definition: RemoteDispatcher.cpp:39
governikus::RemoteDispatcher::close
void close()
Definition: RemoteDispatcher.cpp:127
governikus::RemoteDispatcher::getContextHandle
virtual const QString & getContextHandle() const
Definition: RemoteDispatcher.cpp:96
Initializer.h
governikus::RemoteServiceSettings
Definition: RemoteServiceSettings.h:29
governikus::ECardApiResult::Minor::AL_Unkown_API_Function
@ AL_Unkown_API_Function
IfdError.h
governikus::GlobalStatus::Code
Code
Definition: GlobalStatus.h:26
governikus::RemoteDispatcher::fireReceived
void fireReceived(RemoteCardMessageType pMessageType, const QJsonObject &pJsonObject, const QString &pId)
AppSettings.h
governikus::RemoteDispatcher::send
virtual Q_INVOKABLE void send(const QSharedPointer< const RemoteMessage > &pMessage)
Definition: RemoteDispatcher.cpp:111
governikus::RemoteDispatcher
Definition: RemoteDispatcher.h:25
INIT_FUNCTION
INIT_FUNCTION([] { qRegisterMetaType< RemoteCardMessageType >("RemoteCardMessageType");}) RemoteDispatcher
Definition: RemoteDispatcher.cpp:21
governikus::RemoteServiceSettings::RemoteInfo::setNameUnescaped
void setNameUnescaped(const QString &pName)
Definition: RemoteServiceSettings.cpp:399
governikus::RemoteDispatcher::saveRemoteNameInSettings
void saveRemoteNameInSettings(const QString &pName)
Definition: RemoteDispatcher.cpp:102
GlobalStatus.h
RemoteDispatcher.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::IfdVersion::Version
Version
Definition: IfdVersion.h:17
RemoteMessage.h
governikus::RemoteServiceSettings::updateRemoteInfo
bool updateRemoteInfo(const RemoteInfo &pInfo)
Definition: RemoteServiceSettings.cpp:328
IfdVersion.h
governikus::RemoteDispatcher::mVersion
IfdVersion::Version mVersion
Definition: RemoteDispatcher.h:38
governikus::RemoteDispatcher::fireClosed
void fireClosed(GlobalStatus::Code pCloseCode, const QString &pId)
governikus::DataChannel::fireReceived
void fireReceived(const QByteArray &pDataBlock)
governikus::RemoteDispatcher::mContextHandle
QString mContextHandle
Definition: RemoteDispatcher.h:39
governikus::RemoteDispatcher::getId
virtual QString getId() const
Definition: RemoteDispatcher.cpp:85
governikus::RemoteDispatcher::RemoteDispatcher
RemoteDispatcher(IfdVersion::Version pVersion, const QSharedPointer< DataChannel > &pDataChannel)
governikus::RemoteServiceSettings::getRemoteInfo
RemoteInfo getRemoteInfo(const QSslCertificate &pCertificate) const
Definition: RemoteServiceSettings.cpp:248
DataChannel.h