#ifndef CHANNEL_HPP #define CHANNEL_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include "Client.hpp" #include #include #include class Channel { private: std::string Channelname; std::string topic; std::string key; std::string pass; int limit; std::map userFdMap; std::map invitedUsers; std::map operators; public: Channel(); Channel(const std::string& name); ~Channel(); void setTopic(const std::string& newTopic); std::string getTopic() const; void setlimitchannel(int value); int getChannelLimit(); void addClient(const std::string& client, int fd); void addClientinveted(const std::string& client, int fd); void addOperator(const std::string& operatorName, int fd); int getUserFd(const std::string& username) const; bool isUserInChannel(const std::string& nickname) const; std::vector getClients() const; std::string getNickname(int fd) const; bool isOperator(int fd); bool isInvited(std::string nickname); int findUserFdForKickRegulars(const std::string& username); void ejectUserfromusers(int fd); void ejectUserfromivited(std::string nickname); std::string getOperatorNickname(int fd) const; void removeOperator(const std::string& operatorName ); void setPass(const std::string &Newpass); std::string getPass(); std::map& getUserFdMap(); std::map& invitedUserss(); std::map& getOperators(); }; #endif