From 87aaacdb420341bf3619922332d58b95249971bc Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Sun, 3 Nov 2013 00:22:32 +0100 Subject: Rename libirc and libxmpp to irc and xmpp --- src/irc/irc_client.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++++++ src/irc/irc_client.hpp | 60 ++++++++++++++++++++++++++++++++++++++ src/irc/irc_message.cpp | 65 +++++++++++++++++++++++++++++++++++++++++ src/irc/irc_message.hpp | 28 ++++++++++++++++++ src/libirc/irc_client.cpp | 72 ---------------------------------------------- src/libirc/irc_client.hpp | 60 -------------------------------------- src/libirc/irc_message.cpp | 65 ----------------------------------------- src/libirc/irc_message.hpp | 28 ------------------ src/main.cpp | 2 +- 9 files changed, 226 insertions(+), 226 deletions(-) create mode 100644 src/irc/irc_client.cpp create mode 100644 src/irc/irc_client.hpp create mode 100644 src/irc/irc_message.cpp create mode 100644 src/irc/irc_message.hpp delete mode 100644 src/libirc/irc_client.cpp delete mode 100644 src/libirc/irc_client.hpp delete mode 100644 src/libirc/irc_message.cpp delete mode 100644 src/libirc/irc_message.hpp (limited to 'src') diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp new file mode 100644 index 0000000..83d1b0d --- /dev/null +++ b/src/irc/irc_client.cpp @@ -0,0 +1,72 @@ +#include +#include + +#include +#include + +IrcClient::IrcClient() +{ + std::cout << "IrcClient()" << std::endl; +} + +IrcClient::~IrcClient() +{ + std::cout << "~IrcClient()" << std::endl; +} + +void IrcClient::on_connected() +{ +} + +void IrcClient::on_connection_close() +{ + std::cout << "Connection closed by remote server." << std::endl; + this->close(); +} + +void IrcClient::parse_in_buffer() +{ + while (true) + { + auto pos = this->in_buf.find("\r\n"); + if (pos == std::string::npos) + break ; + IrcMessage message(this->in_buf.substr(0, pos)); + this->in_buf = this->in_buf.substr(pos + 2, std::string::npos); + std::cout << message << std::endl; + } +} + +void IrcClient::send_message(IrcMessage&& message) +{ + std::string res; + if (!message.prefix.empty()) + res += ":" + std::move(message.prefix) + " "; + res += std::move(message.command); + for (const std::string& arg: message.arguments) + { + if (arg.find(" ") != std::string::npos) + { + res += " :" + arg; + break; + } + res += " " + arg; + } + res += "\r\n"; + this->send_data(std::move(res)); +} + +void IrcClient::send_user_command(const std::string& username, const std::string& realname) +{ + this->send_message(IrcMessage("USER", {username, "NONE", "NONE", realname})); +} + +void IrcClient::send_nick_command(const std::string& nick) +{ + this->send_message(IrcMessage("NICK", {nick})); +} + +void IrcClient::send_join_command(const std::string& chan_name) +{ + this->send_message(IrcMessage("JOIN", {chan_name})); +} diff --git a/src/irc/irc_client.hpp b/src/irc/irc_client.hpp new file mode 100644 index 0000000..e380f5b --- /dev/null +++ b/src/irc/irc_client.hpp @@ -0,0 +1,60 @@ +#ifndef IRC_CLIENT_INCLUDED +# define IRC_CLIENT_INCLUDED + +#include + +#include + +#include + +/** + * Represent one IRC client, i.e. an endpoint connected to a single IRC + * server, through a TCP socket, receiving and sending commands to it. + * + * TODO: TLS support, maybe, but that's not high priority + */ +class IrcClient: public SocketHandler +{ +public: + explicit IrcClient(); + ~IrcClient(); + /** + * Called when successfully connected to the server + */ + void on_connected(); + /** + * Close the connection, remove us from the poller + */ + void on_connection_close(); + /** + * Parse the data we have received so far and try to get one or more + * complete messages from it. + */ + void parse_in_buffer(); + /** + * Serialize the given message into a line, and send that into the socket + * (actually, into our out_buf and signal the poller that we want to wach + * for send events to be ready) + */ + void send_message(IrcMessage&& message); + /** + * Send the USER irc command + */ + void send_user_command(const std::string& username, const std::string& realname); + /** + * Send the NICK irc command + */ + void send_nick_command(const std::string& username); + /** + * Send the JOIN irc command + */ + void send_join_command(const std::string& chan_name); + +private: + IrcClient(const IrcClient&) = delete; + IrcClient(IrcClient&&) = delete; + IrcClient& operator=(const IrcClient&) = delete; + IrcClient& operator=(IrcClient&&) = delete; +}; + +#endif // IRC_CLIENT_INCLUDED diff --git a/src/irc/irc_message.cpp b/src/irc/irc_message.cpp new file mode 100644 index 0000000..18fa3ec --- /dev/null +++ b/src/irc/irc_message.cpp @@ -0,0 +1,65 @@ +#include +#include + +IrcMessage::IrcMessage(std::string&& line) +{ + std::string::size_type pos; + + // optional prefix + if (line[0] == ':') + { + pos = line.find(" "); + this->prefix = line.substr(1, pos); + line = line.substr(pos + 1, std::string::npos); + } + // command + pos = line.find(" "); + this->command = line.substr(0, pos); + line = line.substr(pos + 1, std::string::npos); + // arguments + do + { + if (line[0] == ':') + { + this->arguments.emplace_back(line.substr(1, std::string::npos)); + break ; + } + pos = line.find(" "); + this->arguments.emplace_back(line.substr(0, pos)); + line = line.substr(pos + 1, std::string::npos); + } while (pos != std::string::npos); +} + +IrcMessage::IrcMessage(std::string&& prefix, + std::string&& command, + std::vector&& args): + prefix(std::move(prefix)), + command(std::move(command)), + arguments(std::move(args)) +{ +} + +IrcMessage::IrcMessage(std::string&& command, + std::vector&& args): + prefix(), + command(std::move(command)), + arguments(std::move(args)) +{ +} + +IrcMessage::~IrcMessage() +{ +} + +std::ostream& operator<<(std::ostream& os, const IrcMessage& message) +{ + os << "IrcMessage"; + os << "[" << message.command << "]"; + for (const std::string& arg: message.arguments) + { + os << "{" << arg << "}"; + } + if (!message.prefix.empty()) + os << "(from: " << message.prefix << ")"; + return os; +} diff --git a/src/irc/irc_message.hpp b/src/irc/irc_message.hpp new file mode 100644 index 0000000..a0bd772 --- /dev/null +++ b/src/irc/irc_message.hpp @@ -0,0 +1,28 @@ +#ifndef IRC_MESSAGE_INCLUDED +# define IRC_MESSAGE_INCLUDED + +#include +#include +#include + +class IrcMessage +{ +public: + explicit IrcMessage(std::string&& line); + explicit IrcMessage(std::string&& prefix, std::string&& command, std::vector&& args); + explicit IrcMessage(std::string&& command, std::vector&& args); + ~IrcMessage(); + + std::string prefix; + std::string command; + std::vector arguments; + + IrcMessage(const IrcMessage&) = delete; + IrcMessage(IrcMessage&&) = delete; + IrcMessage& operator=(const IrcMessage&) = delete; + IrcMessage& operator=(IrcMessage&&) = delete; +}; + +std::ostream& operator<<(std::ostream& os, const IrcMessage& message); + +#endif // IRC_MESSAGE_INCLUDED diff --git a/src/libirc/irc_client.cpp b/src/libirc/irc_client.cpp deleted file mode 100644 index a427026..0000000 --- a/src/libirc/irc_client.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include -#include - -#include -#include - -IrcClient::IrcClient() -{ - std::cout << "IrcClient()" << std::endl; -} - -IrcClient::~IrcClient() -{ - std::cout << "~IrcClient()" << std::endl; -} - -void IrcClient::on_connected() -{ -} - -void IrcClient::on_connection_close() -{ - std::cout << "Connection closed by remote server." << std::endl; - this->close(); -} - -void IrcClient::parse_in_buffer() -{ - while (true) - { - auto pos = this->in_buf.find("\r\n"); - if (pos == std::string::npos) - break ; - IrcMessage message(this->in_buf.substr(0, pos)); - this->in_buf = this->in_buf.substr(pos + 2, std::string::npos); - std::cout << message << std::endl; - } -} - -void IrcClient::send_message(IrcMessage&& message) -{ - std::string res; - if (!message.prefix.empty()) - res += ":" + std::move(message.prefix) + " "; - res += std::move(message.command); - for (const std::string& arg: message.arguments) - { - if (arg.find(" ") != std::string::npos) - { - res += " :" + arg; - break; - } - res += " " + arg; - } - res += "\r\n"; - this->send_data(std::move(res)); -} - -void IrcClient::send_user_command(const std::string& username, const std::string& realname) -{ - this->send_message(IrcMessage("USER", {username, "NONE", "NONE", realname})); -} - -void IrcClient::send_nick_command(const std::string& nick) -{ - this->send_message(IrcMessage("NICK", {nick})); -} - -void IrcClient::send_join_command(const std::string& chan_name) -{ - this->send_message(IrcMessage("JOIN", {chan_name})); -} diff --git a/src/libirc/irc_client.hpp b/src/libirc/irc_client.hpp deleted file mode 100644 index 9778876..0000000 --- a/src/libirc/irc_client.hpp +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef IRC_CLIENT_INCLUDED -# define IRC_CLIENT_INCLUDED - -#include - -#include - -#include - -/** - * Represent one IRC client, i.e. an endpoint connected to a single IRC - * server, through a TCP socket, receiving and sending commands to it. - * - * TODO: TLS support, maybe, but that's not high priority - */ -class IrcClient: public SocketHandler -{ -public: - explicit IrcClient(); - ~IrcClient(); - /** - * Called when successfully connected to the server - */ - void on_connected(); - /** - * Close the connection, remove us from the poller - */ - void on_connection_close(); - /** - * Parse the data we have received so far and try to get one or more - * complete messages from it. - */ - void parse_in_buffer(); - /** - * Serialize the given message into a line, and send that into the socket - * (actually, into our out_buf and signal the poller that we want to wach - * for send events to be ready) - */ - void send_message(IrcMessage&& message); - /** - * Send the USER irc command - */ - void send_user_command(const std::string& username, const std::string& realname); - /** - * Send the NICK irc command - */ - void send_nick_command(const std::string& username); - /** - * Send the JOIN irc command - */ - void send_join_command(const std::string& chan_name); - -private: - IrcClient(const IrcClient&) = delete; - IrcClient(IrcClient&&) = delete; - IrcClient& operator=(const IrcClient&) = delete; - IrcClient& operator=(IrcClient&&) = delete; -}; - -#endif // IRC_CLIENT_INCLUDED diff --git a/src/libirc/irc_message.cpp b/src/libirc/irc_message.cpp deleted file mode 100644 index fc691b4..0000000 --- a/src/libirc/irc_message.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include -#include - -IrcMessage::IrcMessage(std::string&& line) -{ - std::string::size_type pos; - - // optional prefix - if (line[0] == ':') - { - pos = line.find(" "); - this->prefix = line.substr(1, pos); - line = line.substr(pos + 1, std::string::npos); - } - // command - pos = line.find(" "); - this->command = line.substr(0, pos); - line = line.substr(pos + 1, std::string::npos); - // arguments - do - { - if (line[0] == ':') - { - this->arguments.emplace_back(line.substr(1, std::string::npos)); - break ; - } - pos = line.find(" "); - this->arguments.emplace_back(line.substr(0, pos)); - line = line.substr(pos + 1, std::string::npos); - } while (pos != std::string::npos); -} - -IrcMessage::IrcMessage(std::string&& prefix, - std::string&& command, - std::vector&& args): - prefix(std::move(prefix)), - command(std::move(command)), - arguments(std::move(args)) -{ -} - -IrcMessage::IrcMessage(std::string&& command, - std::vector&& args): - prefix(), - command(std::move(command)), - arguments(std::move(args)) -{ -} - -IrcMessage::~IrcMessage() -{ -} - -std::ostream& operator<<(std::ostream& os, const IrcMessage& message) -{ - os << "IrcMessage"; - os << "[" << message.command << "]"; - for (const std::string& arg: message.arguments) - { - os << "{" << arg << "}"; - } - if (!message.prefix.empty()) - os << "(from: " << message.prefix << ")"; - return os; -} diff --git a/src/libirc/irc_message.hpp b/src/libirc/irc_message.hpp deleted file mode 100644 index a0bd772..0000000 --- a/src/libirc/irc_message.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef IRC_MESSAGE_INCLUDED -# define IRC_MESSAGE_INCLUDED - -#include -#include -#include - -class IrcMessage -{ -public: - explicit IrcMessage(std::string&& line); - explicit IrcMessage(std::string&& prefix, std::string&& command, std::vector&& args); - explicit IrcMessage(std::string&& command, std::vector&& args); - ~IrcMessage(); - - std::string prefix; - std::string command; - std::vector arguments; - - IrcMessage(const IrcMessage&) = delete; - IrcMessage(IrcMessage&&) = delete; - IrcMessage& operator=(const IrcMessage&) = delete; - IrcMessage& operator=(IrcMessage&&) = delete; -}; - -std::ostream& operator<<(std::ostream& os, const IrcMessage& message); - -#endif // IRC_MESSAGE_INCLUDED diff --git a/src/main.cpp b/src/main.cpp index aeeda34..fe3b2e5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,4 +1,4 @@ -#include +#include #include int main() -- cgit v1.2.3