AusweisApp2
PortWrapper.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 #include "HttpRequest.h"
8 
9 #ifdef Q_OS_WIN
10  #include <windows.h>
11 
12  #include <iphlpapi.h>
13  #include <tlhelp32.h>
14 #else
15  #include <QFileInfoList>
16 #endif
17 
18 namespace governikus
19 {
21 {
22  private:
23 #ifdef Q_OS_WIN
24  quint16 mPort;
25 
26 #else
27  QFileInfoList mPortFiles;
28 #endif
29 
30 #ifdef Q_OS_WIN
31  static QString getUserOfProcessID(DWORD pPid);
32  static QString getExecutableOfProcessID(DWORD pPid);
33  static quint16 getPortOfRunningProcess(const QVector<MIB_TCPROW_OWNER_PID>& pConnections, const QString& pUser, int pSelfPort, const in_addr& pRemoteAddr);
34  static QString getUserOfConnection(const QVector<MIB_TCPROW_OWNER_PID>& pConnections, int pLocalPort, int pRemotePort, const in_addr& pProxyAddr);
35  static QVector<MIB_TCPROW_OWNER_PID> getConnections();
36  static quint16 getProcessPort(int pLocalPort, int pRemotePort);
37 #else
38  static quint16 readPortFile(const QString& pFile);
39 #endif
40 
41  public:
42  explicit PortWrapper(const QSharedPointer<HttpRequest>& pRequest);
43 
44  [[nodiscard]] bool isEmpty() const;
45  quint16 fetchPort();
46  void invalidate();
47 };
48 
49 } // namespace governikus
Definition: PortWrapper.h:21
void invalidate()
Definition: PortWrapper_generic.cpp:30
PortWrapper(const QSharedPointer< HttpRequest > &pRequest)
Definition: PortWrapper_generic.cpp:17
bool isEmpty() const
Definition: PortWrapper_generic.cpp:24
quint16 fetchPort()
Definition: PortWrapper_generic.cpp:48
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16