/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* Channel.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: aortigos +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/05/08 16:41:40 by aortigos #+# #+# */ /* Updated: 2026/05/08 16:41:40 by aortigos ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef CHANNEL_HPP # define CHANNEL_HPP # include # include # include # include "../User/User.hpp" class Channel { private: std::string name_; std::set members_; std::set operators_; public: Channel(); Channel(std::string name); Channel(const Channel &other); Channel& operator=(const Channel &other); ~Channel(); // Getters std::string getName() const { return (this->name); } // Users void addMember(int fd); void removeMember(int fd); bool hasMember(int fd) const; // Operators void addOperator(int fd); void removeOperator(int fd); bool hasOperator(int fd) const; void broadcast(const std::string &msg, const std::map& clients_, int excludeFd); }; #endif