Bridges-C++  3.2.0
Bridges(C++API)
sio_client.h
Go to the documentation of this file.
1 //
2 // sio_client.h
3 //
4 // Created by Melo Yao on 3/25/15.
5 //
6 
7 #ifndef SIO_CLIENT_H
8 #define SIO_CLIENT_H
9 #include <string>
10 #include <functional>
11 #include "sio_message.h"
12 #include "sio_socket.h"
13 
14 namespace sio {
15  class client_impl;
16 
17  class client {
18  public:
19  enum close_reason {
22  };
23 
24  typedef std::function<void(void)> con_listener;
25 
26  typedef std::function<void(close_reason const& reason)> close_listener;
27 
28  typedef std::function<void(unsigned, unsigned)> reconnect_listener;
29 
30  typedef std::function<void(std::string const& nsp)> socket_listener;
31 
32  client();
33  ~client();
34 
35  //set listeners and event bindings.
36  void set_open_listener(con_listener const& l);
37 
38  void set_fail_listener(con_listener const& l);
39 
40  void set_reconnecting_listener(con_listener const& l);
41 
42  void set_reconnect_listener(reconnect_listener const& l);
43 
44  void set_close_listener(close_listener const& l);
45 
46  void set_socket_open_listener(socket_listener const& l);
47 
48  void set_socket_close_listener(socket_listener const& l);
49 
50  void clear_con_listeners();
51 
53 
54  // Client Functions - such as send, etc.
55  void connect(const std::string& uri);
56 
57  void connect(const std::string& uri, const std::map<std::string, std::string>& query);
58 
59  void connect(const std::string& uri, const std::map<std::string, std::string>& query,
60  const std::map<std::string, std::string>& http_extra_headers);
61 
62  void set_reconnect_attempts(int attempts);
63 
64  void set_reconnect_delay(unsigned millis);
65 
66  void set_reconnect_delay_max(unsigned millis);
67 
68  sio::socket::ptr const& socket(const std::string& nsp = "");
69 
70  // Closes the connection
71  void close();
72 
73  void sync_close();
74 
75  bool opened() const;
76 
77  std::string const& get_sessionid() const;
78 
79  private:
80  //disable copy constructor and assign operator.
81  client(client const&) {}
82  void operator=(client const&) {}
83 
84  client_impl* m_impl;
85  };
86 
87 }
88 
89 
90 #endif // __SIO_CLIENT__H__
Definition: sio_client.h:21
void set_reconnecting_listener(con_listener const &l)
void set_close_listener(close_listener const &l)
bool opened() const
void set_reconnect_attempts(int attempts)
Definition: sio_client.h:17
Definition: sio_client.h:14
std::shared_ptr< socket > ptr
Definition: sio_socket.h:52
void clear_con_listeners()
sio::socket::ptr const & socket(const std::string &nsp="")
std::function< void(std::string const &nsp)> socket_listener
Definition: sio_client.h:30
void set_reconnect_delay_max(unsigned millis)
void set_reconnect_delay(unsigned millis)
Definition: sio_client.h:20
std::function< void(void)> con_listener
Definition: sio_client.h:24
void set_socket_close_listener(socket_listener const &l)
void connect(const std::string &uri)
close_reason
Definition: sio_client.h:19
std::function< void(unsigned, unsigned)> reconnect_listener
Definition: sio_client.h:28
void set_reconnect_listener(reconnect_listener const &l)
void close()
std::string const & get_sessionid() const
void clear_socket_listeners()
void set_socket_open_listener(socket_listener const &l)
void sync_close()
std::function< void(close_reason const &reason)> close_listener
Definition: sio_client.h:26
void set_fail_listener(con_listener const &l)
void set_open_listener(con_listener const &l)