11#include " server.hpp"
22#include < math.h>
3+ #include < iostream>
34
45using nlohmann::json;
56
@@ -8,13 +9,13 @@ std::string roundfloat(const float, int);
89size_t getUTF8strlen (const std::string&);
910
1011#ifndef VANILLA_SERVER
11- void server::msg::bin_n (server* sv, const char * msg, size_t len, uWS::WebSocket<uWS::SERVER> s){
12+ void server::msg::bin_n (server* sv, const char * msg, size_t len, uWS::WebSocket<uWS::SERVER> * s){
1213 if (len < 12 ) return ;
1314 /* very simple filter */
1415 for (size_t x = 9 ; x < len; x += 3 )
1516 if ((uint8_t )msg[x] > 87 )
1617 return ;
17- auto search = sv->clients .find (*(std::string *) s. getUserData ());
18+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
1819 if (search != sv->clients .end ()){
1920 auto ssearch = sv->rooms .find (search->second .sockets .at (s));
2021 if (ssearch != sv->rooms .end () && (!ssearch->second ->is_crownsolo ()
@@ -38,10 +39,10 @@ void server::msg::bin_n(server* sv, const char* msg, size_t len, uWS::WebSocket<
3839}
3940#endif
4041
41- void server::msg::n (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
42+ void server::msg::n (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
4243 /* TODO: validate note data before sending */
4344 if (j[" n" ].is_array () && j[" t" ].is_number ()){
44- auto search = sv->clients .find (*(std::string *) s. getUserData ());
45+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
4546 if (search != sv->clients .end ()){
4647 auto ssearch = sv->rooms .find (search->second .sockets .at (s));
4748 if (ssearch != sv->rooms .end () && (!ssearch->second ->is_crownsolo ()
@@ -58,8 +59,8 @@ void server::msg::n(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
5859 }
5960}
6061
61- void server::msg::a (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
62- auto search = sv->clients .find (*(std::string *) s. getUserData ());
62+ void server::msg::a (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
63+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
6364 if (search != sv->clients .end () &&
6465 j[" message" ].is_string () &&
6566 getUTF8strlen (j[" message" ].get <std::string>()) <= 512 ){
@@ -77,13 +78,13 @@ void server::msg::a(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
7778 res[0 ][" p" ][" id" ] = usr->id ;
7879 ssearch->second ->push_chat (res[0 ]);
7980 ssearch->second ->broadcast (res, s);
80- s. send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
81+ s-> send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
8182 }
8283 }
8384 }
8485}
8586
86- void server::msg::m (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
87+ void server::msg::m (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
8788 auto res = json::array ();
8889 float x = 0 ;
8990 float y = 0 ;
@@ -96,7 +97,7 @@ void server::msg::m(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
9697 x = j[" x" ].get <float >();
9798 y = j[" y" ].get <float >();
9899 } else { return ; }
99- auto search = sv->clients .find (*(std::string *) s. getUserData ());
100+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
100101 if (search != sv->clients .end ()){
101102 auto ssearch = sv->rooms .find (search->second .sockets .at (s));
102103 if (ssearch != sv->rooms .end ()){
@@ -116,20 +117,20 @@ void server::msg::m(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
116117 }
117118}
118119
119- void server::msg::t (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
120+ void server::msg::t (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
120121 auto res = json::array ();
121122 if (j[" e" ].is_number ()){
122123 res[0 ] = {
123124 {" m" , " t" },
124125 {" t" , js_date_now ()},
125126 {" e" , j[" e" ].get <long int >()}
126127 };
127- s. send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
128+ s-> send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
128129 }
129130}
130- void server::msg::ch (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
131+ void server::msg::ch (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
131132 auto res = json::array ();
132- auto search = sv->clients .find (*(std::string *) s. getUserData ());
133+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
133134 if (j[" _id" ].is_string () && search != sv->clients .end () && search->second .user ->quota .room .can_spend ()){
134135 std::string nr = j[" _id" ].get <std::string>();
135136 json set = {};
@@ -155,29 +156,29 @@ void server::msg::ch(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
155156 {" m" , " c" },
156157 {" c" , room->get_chatlog_json ()}
157158 };
158- s. send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
159+ s-> send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
159160 }
160161}
161162
162163
163164
164- void server::msg::hi (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
165+ void server::msg::hi (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
165166 auto res = json::array ();
166- auto search = sv->clients .find (*(std::string *) s. getUserData ());
167+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
167168 if (search == sv->clients .end () || search->second .sockets .find (s) == search->second .sockets .end ()){
168169 res[0 ] = json::object ({
169170 {" m" , " hi" },
170171 {" u" , sv->genusr (s)},
171172 {" t" , js_date_now ()}
172173 });
173- s. send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
174+ s-> send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
174175 }
175176}
176177
177178
178179
179- void server::msg::chown (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
180- auto search = sv->clients .find (*(std::string *) s. getUserData ());
180+ void server::msg::chown (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
181+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
181182 if (search == sv->clients .end ()) return ;
182183 auto ssearch = sv->rooms .find (search->second .sockets .at (s));
183184 if (ssearch == sv->rooms .end ()) return ;
@@ -192,13 +193,12 @@ void server::msg::chown(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
192193 ssearch->second ->set_owner (newowner);
193194 json res = json::array ();
194195 res[0 ] = ssearch->second ->get_json (ssearch->first , true );
195- uWS::WebSocket<uWS::SERVER> a;
196- ssearch->second ->broadcast (res, a);
196+ ssearch->second ->broadcast (res, nullptr );
197197 }
198198}
199199
200- void server::msg::chset (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
201- auto search = sv->clients .find (*(std::string *) s. getUserData ());
200+ void server::msg::chset (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
201+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
202202 if (search == sv->clients .end ()) return ;
203203 if (!search->second .user ->quota .room .can_spend ()) return ; /* ! */
204204 auto ssearch = sv->rooms .find (search->second .sockets .at (s));
@@ -209,9 +209,9 @@ void server::msg::chset(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
209209 }
210210}
211211
212- void server::msg::userset (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
212+ void server::msg::userset (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
213213 if (j[" set" ].is_object () && j[" set" ][" name" ].is_string ()){
214- std::string ip = *(std::string *) s. getUserData ();
214+ std::string ip = *(std::string *) s-> getUserData ();
215215 auto search = sv->clients .find (ip);
216216 if (search != sv->clients .end () && search->second .user ->quota .name .can_spend ()){
217217 std::string newn = j[" set" ][" name" ].get <std::string>();
@@ -223,9 +223,9 @@ void server::msg::userset(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
223223 }
224224}
225225
226- void server::msg::adminmsg (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
226+ void server::msg::adminmsg (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
227227 if (j[" password" ].is_string () && sv->is_adminpw (j[" password" ].get <std::string>()) && j[" message" ].is_object ()){
228- std::string ip (*(std::string *) s. getUserData ());
228+ std::string ip (*(std::string *) s-> getUserData ());
229229 auto search = sv->clients .find (ip);
230230 if (search == sv->clients .end ()) return ;
231231 auto ssearch = sv->rooms .find (search->second .sockets .at (s));
@@ -256,18 +256,18 @@ void server::msg::adminmsg(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
256256 }
257257}
258258
259- void server::msg::kickban (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
259+ void server::msg::kickban (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
260260 return ;
261261}
262262
263263
264264
265- void server::msg::lsl (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
265+ void server::msg::lsl (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
266266 sv->roomlist_watchers .erase (s);
267267}
268268
269- void server::msg::lsp (server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
270- auto search = sv->clients .find (*(std::string *) s. getUserData ());
269+ void server::msg::lsp (server* sv, json& j, uWS::WebSocket<uWS::SERVER> * s){
270+ auto search = sv->clients .find (*(std::string *) s-> getUserData ());
271271 if (search == sv->clients .end ()) return ;
272272 if (!search->second .user ->quota .rmls .can_spend ()) return ;
273273 json res = json::array ();
@@ -277,5 +277,5 @@ void server::msg::lsp(server* sv, json& j, uWS::WebSocket<uWS::SERVER> s){
277277 {" u" , sv->get_roomlist ()}
278278 };
279279 sv->roomlist_watchers .emplace (s);
280- s. send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
280+ s-> send ((char *)res.dump ().c_str (), res.dump ().size (), uWS::TEXT);
281281}
0 commit comments