/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* User.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: aortigos +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/05/07 10:22:52 by aortigos #+# #+# */ /* Updated: 2026/05/07 10:22:52 by aortigos ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef USER_HPP # define USER_HPP # include # include # include class User { private: int fd; std::string nick; std::string username; std::string realname; std::string buffer; bool authenticated; bool registered; std::set channels_; public: User(); User(int fd); User(const User &other); User& operator=(const User &other); ~User(); void send(const std::string &msg) const; // Channels void joinChannel(const std::string &channel); void leaveChannel( const std::string &channel); bool isInChannel(const std::string &channel) const; const std::set &getChannels() const; // Getters int getFd() const; std::string getNick() const; std::string getUsername() const; std::string getRealname() const; std::string &getBuffer(); bool isAuthenticated() const; bool isRegistered() const; // Setters void setNick(std::string nick); void setUsername(std::string username); void setRealname(std::string realname); void appendBuffer(std::string buff); void clearBuffer(); void setAuthenticated(bool value); void setRegistered(bool value); }; #endif