/
yaseeeeechka
/
CenterControl
Обзор
Документация
Войти
/
yaseeeeechka
/
CenterControl
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CenterControl_UDP/include/server/LoggedUsers.h
43 строки
1 KB
Yaroslava
Add UDP impl
11 дек 2025, 21:44
11 дек 2025, 21:44
b29a632
Код
Авторство
О чём код?
#ifndef CENTERCONTROL_LOGGEDUSERS_H #define CENTERCONTROL_LOGGEDUSERS_H class LoggedUsers { public: static LoggedUsers &Instance() { static LoggedUsers instance; return instance; } bool TryLogin(const std::string &usernameRaw) { const std::string u = NormalizeUsername(usernameRaw); std::lock_guard<std::mutex> lock(mutex_); return users_.insert(u).second; // false если уже был } void Logout(const std::string &usernameRaw) { const std::string u = NormalizeUsername(usernameRaw); std::lock_guard<std::mutex> lock(mutex_); users_.erase(u); } bool IsLoggedIn(const std::string &usernameRaw) { const std::string u = NormalizeUsername(usernameRaw); std::lock_guard<std::mutex> lock(mutex_); return users_.count(u) > 0; } private: LoggedUsers() = default; ~LoggedUsers() = default; LoggedUsers(const LoggedUsers &) = delete; LoggedUsers &operator=(const LoggedUsers &) = delete; std::unordered_set<std::string> users_; std::mutex mutex_; }; #endif //CENTERCONTROL_LOGGEDUSERS_H