diff options
author | Florent Le Coz <louiz@louiz.org> | 2013-11-02 16:04:10 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2013-11-02 16:04:10 +0100 |
commit | 4027ef8c00ee2a5b808c11c7f3ae50cda117d92a (patch) | |
tree | cce962840cc301e98a26ad4679b163f044db1af0 /src/libirc/irc_client.hpp | |
parent | 64c1b28ce211f899ca0fbcae5049532e129f19c1 (diff) | |
download | biboumi-4027ef8c00ee2a5b808c11c7f3ae50cda117d92a.tar.gz biboumi-4027ef8c00ee2a5b808c11c7f3ae50cda117d92a.tar.bz2 biboumi-4027ef8c00ee2a5b808c11c7f3ae50cda117d92a.tar.xz biboumi-4027ef8c00ee2a5b808c11c7f3ae50cda117d92a.zip |
Basic IRC message parsing/sending
Diffstat (limited to 'src/libirc/irc_client.hpp')
-rw-r--r-- | src/libirc/irc_client.hpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/libirc/irc_client.hpp b/src/libirc/irc_client.hpp index 73e7efd..d1ecbd5 100644 --- a/src/libirc/irc_client.hpp +++ b/src/libirc/irc_client.hpp @@ -1,6 +1,8 @@ #ifndef IRC_CLIENT_INCLUDED # define IRC_CLIENT_INCLUDED +#include <libirc/irc_message.hpp> + #include <network/socket_handler.hpp> #include <string> @@ -31,6 +33,10 @@ public: */ void connect(const std::string& address, const std::string& port); /** + * Called when successfully connected to the server + */ + void on_connected(); + /** * Close the connection, remove us from the poller */ void close(); @@ -43,6 +49,24 @@ public: * 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: socket_t socket; |