BF2MC-Matchmaker
qr/client.h
1 #ifndef QR_CLIENT_H
2 #define QR_CLIENT_H
3 
4 #include <gamespy.h>
5 #include <net/socket.h>
6 
7 namespace QR
8 {
12  class Client : public Net::Socket
13  {
14  public:
20  Client(int socket, struct sockaddr_in address);
21 
25  ~Client();
26 
27  /*
28  Events
29  */
34  void onRequest(const std::vector<unsigned char>& request);
35 
36  /*
37  Requests
38  */
43  void requestChallenge(const std::vector<unsigned char>& request) const;
44 
49  void requestAvailable(const std::vector<unsigned char>& request) const;
50 
55  void requestHeartbeat(const std::vector<unsigned char>& request) const;
56 
61  void requestKeepAlive(const std::vector<unsigned char>& request) const;
62 
63  private:
69  void _LogTransaction(const std::string& direction, const std::string& response) const;
70  };
71 }
72 
73 #endif // QR_CLIENT_H
A base class representing a network socket.
Definition: socket.h:15
Represents a client for QR protocol.
Definition: qr/client.h:13
void requestAvailable(const std::vector< unsigned char > &request) const
Sends a request for available servers to the client.
Definition: qr/client.cpp:72
~Client()
Destructor for Client.
Definition: qr/client.cpp:30
void _LogTransaction(const std::string &direction, const std::string &response) const
Logs a transaction with direction and response.
Definition: qr/client.cpp:294
void requestChallenge(const std::vector< unsigned char > &request) const
Sends a request for challenge to the client.
Definition: qr/client.cpp:59
void requestKeepAlive(const std::vector< unsigned char > &request) const
Sends a keep-alive request to the client.
Definition: qr/client.cpp:278
Client(int socket, struct sockaddr_in address)
Constructor for Client.
Definition: qr/client.cpp:24
void requestHeartbeat(const std::vector< unsigned char > &request) const
Sends a heartbeat request to the client.
Definition: qr/client.cpp:137
void onRequest(const std::vector< unsigned char > &request)
Event handler for incoming requests.
Definition: qr/client.cpp:37