24 quitMessage = args[0];
31 for (
size_t i = 0; i < channelsToNotify.
size(); ++i) {
32 Channel *channel = channelsToNotify[i];
34 channel->
broadcast(fullQuitMessage, client);
Manages channel members and states.
Manages client connection and state.
Handles the QUIT command.
Defines IRC numeric replies and error messages.
Core IRC server implementation.
void broadcast(const std::string &message, Client *excludeClient)
void removeMember(Client *client)
Represents an IRC client connected to the server.
const std::vector< Channel * > & getChannels() const
Gets the list of channels the client is in.
void removeChannel(Channel *channel)
Removes a channel from the client's list of joined channels.
std::string getPrefix() const
Generates the client's IRC prefix (e.g., :nick!user@host).
void markForDisconnect(const std::string &message)
Marks the client for disconnection with a specified message.
Abstract base class (interface) for all IRC commands.
QuitCommand(Server *server)
Constructs a QuitCommand object.
void execute(Client *client, const std::vector< std::string > &args)
Executes the QUIT command.
~QuitCommand()
Destroys the QuitCommand object.
Implements the core IRC server functionality as a Singleton.