Emergency 20 Dokumentation  4.2.0
MatchmakingProtocol.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
15 
16 
17 //[-------------------------------------------------------]
18 //[ Forward declarations ]
19 //[-------------------------------------------------------]
20 namespace em5
21 {
22  class MatchmakingClient;
23 }
24 
25 
26 //[-------------------------------------------------------]
27 //[ Namespace ]
28 //[-------------------------------------------------------]
29 namespace em5
30 {
31 
32 
33  //[-------------------------------------------------------]
34  //[ Classes ]
35  //[-------------------------------------------------------]
41  {
42 
43 
44  //[-------------------------------------------------------]
45  //[ Public methods ]
46  //[-------------------------------------------------------]
47  public:
52  MatchmakingProtocol(QsfProtocol* parent, MatchmakingClient* client);
53 
58  virtual ~MatchmakingProtocol();
59 
60  void requestRegisterHost(const multiplayer::HostEntry& hostEntry, const std::string& gameModificationString) const;
61 
62  void requestTestOpenPort() const;
63 
64  void updateHost(const multiplayer::HostEntry& hostEntry) const;
65 
66  void unregisterHost() const;
67 
68  void requestHostList(const std::string& gameModificationString) const;
69 
70  void requestProxyServerProperties() const;
71 
72 
73  //[-------------------------------------------------------]
74  //[ Public virtual em5::MatchmakingProtocol methods ]
75  //[-------------------------------------------------------]
76  public:
77  virtual void handlePacket(const qsf::packet::BinaryPacketBase& packet) override;
78 
79 
80  //[-------------------------------------------------------]
81  //[ Private data ]
82  //[-------------------------------------------------------]
83  private:
84  MatchmakingClient* mClient;
85 
86 
87  };
88 
89 
90 //[-------------------------------------------------------]
91 //[ Namespace ]
92 //[-------------------------------------------------------]
93 } // em5
Definition: ActionPriority.h:13
EM5 matchmaking network client class.
Definition: MatchmakingClient.h:49
#define EM5_API_EXPORT
Definition: Export.h:28
Matchmaking protocol class.
Definition: MatchmakingProtocol.h:40
Definition: BinaryPacket.h:36
Abstract matchmaking protocol base class.
Definition: MatchmakingProtocolBase.h:32
Definition: MatchmakingTypes.h:47