AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
UIPlugInWebSocket.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "UIPlugInJsonApi.h"
10 #include "view/UIPlugIn.h"
11 
12 #include <QDir>
13 #include <QScopedPointer>
14 #include <QWebSocket>
15 #include <QWebSocketServer>
16 
17 namespace governikus
18 {
19 
20 #define WEBSOCKET_PORT_FILENAME(PID) (QDir::tempPath() + QDir::separator() + QStringLiteral("web_socket_port-") + QString::number(PID))
21 
23  : public UIPlugIn
24 {
25  Q_OBJECT
26  Q_PLUGIN_METADATA(IID "governikus.UIPlugIn" FILE "metadata.json")
27  Q_INTERFACES(governikus::UIPlugIn)
28 
29  private:
30  QWebSocketServer mServer;
31  QScopedPointer<QWebSocket> mConnection;
32  UIPlugInJsonApi* mJsonApi;
33  QSharedPointer<WorkflowContext> mContext;
34 
35  static quint16 cWebSocketPort;
36 
37  private Q_SLOTS:
38  virtual void doShutdown() override;
39  virtual void onWorkflowStarted(QSharedPointer<WorkflowContext> pContext) override;
40  virtual void onWorkflowFinished(QSharedPointer<WorkflowContext> pContext) override;
41  void onNewConnection();
42  void onClientDisconnected();
43  void onTextMessageReceived(const QString& pMessage);
44 
45  void onJsonApiMessage(const QByteArray& pMessage);
46 
47  public:
49  virtual ~UIPlugInWebSocket() override;
50 
51  static void setPort(quint16 pPort);
52  static quint16 getPort();
53 
54  static const quint16 WEBSOCKET_DEFAULT_PORT = 14727;
55 };
56 
57 } /* namespace governikus */
Definition: UIPlugInJsonApi.h:16
Definition: UIPlugInWebSocket.h:22
virtual ~UIPlugInWebSocket() override
Definition: UIPlugInWebSocket.cpp:69
UIPlugInWebSocket()
Definition: UIPlugInWebSocket.cpp:23
static const quint16 WEBSOCKET_DEFAULT_PORT
Definition: UIPlugInWebSocket.h:54
static void setPort(quint16 pPort)
Definition: UIPlugInWebSocket.cpp:74
static quint16 getPort()
Definition: UIPlugInWebSocket.cpp:80
Definition: UIPlugIn.h:20