BF2MC-Matchmaker
gpsp/client.h
1 #ifndef GPSP_CLIENT_H
2 #define GPSP_CLIENT_H
3 
4 #include <gamespy.h>
5 #include <net/socket.h>
6 
7 namespace GPSP
8 {
12  class Client : public Net::Socket
13  {
14  public:
21  Client(int socket, struct sockaddr_in address);
22 
26  ~Client();
27 
31  void Listen();
32 
36  void Disconnect();
37 
38  /*
39  Events
40  */
46  void onRequest(const std::string& msg);
47 
48  /*
49  Requests
50  */
56  void requestNicks(const GameSpy::Parameter& parameter) const;
57 
63  void requestValid(const GameSpy::Parameter& parameter) const;
64 
70  void requestNewUser(const GameSpy::Parameter& parameter) const;
71 
77  void requestSearch(const GameSpy::Parameter& parameter) const;
78 
79  private:
89  void _LogTransaction(const std::string& direction, const std::string& response) const;
90  };
91 }
92 
93 #endif // GPSP_CLIENT_H
Client class for GPSP protocol.
Definition: gpsp/client.h:13
void _LogTransaction(const std::string &direction, const std::string &response) const
Log a transaction with direction and response.
void requestNicks(const GameSpy::Parameter &parameter) const
Request nicknames.
void Disconnect()
Disconnect the client.
Definition: gpsp/client.cpp:67
Client(int socket, struct sockaddr_in address)
Construct a new Client object.
Definition: gpsp/client.cpp:25
void requestValid(const GameSpy::Parameter &parameter) const
Request validation.
void requestNewUser(const GameSpy::Parameter &parameter) const
Request a new user.
void onRequest(const std::string &msg)
Handle incoming requests.
Definition: gpsp/client.cpp:75
void Listen()
Listen for incoming messages.
Definition: gpsp/client.cpp:37
void requestSearch(const GameSpy::Parameter &parameter) const
Search for users.
~Client()
Destroy the Client object.
Definition: gpsp/client.cpp:32
A base class representing a network socket.
Definition: socket.h:15