#ifndef USER_MANAGER_H #define USER_MANAGER_H #include "core/object.h" #include #include #include #include class User; class UserManager : public Object { public: void add_user(User *user); void remove_user(User *user); void logout_user(User *user); User *get_user_for_session(const std::string &session_id); User *get_user_with_id(const int user_id); void logout_all(); void clear(); static UserManager* get_singleton(); UserManager(); ~UserManager(); std::map _sessions; std::vector _users; std::mutex _mutex; protected: static UserManager* _self; }; #endif