#ifndef SESSION_MANAGER_HPP #define SESSION_MANAGER_HPP #include "server_structs.h" #include #include class SessionManager { private: trackAtributes track_info; carAtributes players[MAX_PLAYERS]; u_int8_t connected_players; u_int8_t server_id; public: SessionManager(u_int8_t sid); ~SessionManager(); void on_new_session(const trackAtributes &track); void on_player_connected(const carAtributes &car); void on_player_finished_loading(u_int8_t car_id); void on_player_disconnected(u_int8_t car_id); void on_car_update(const carAtributes &car); void on_lap_completed(u_int8_t car_id, u_int32_t lap_time, u_int32_t cuts); void on_collision(u_int8_t car1, u_int8_t car2); api_packet build_packet(u_int8_t message_type); const trackAtributes& get_track_info() const { return track_info; } const carAtributes* get_players() const { return players; } u_int8_t get_connected_players() const { return connected_players; } }; #endif