1666 Commits
Author SHA1 Message Date
Florent Le Coz af5548897a Cosmetic 2013-11-09 06:29:15 +01:00
Florent Le Coz ccebe901d7 Check UTF-8 encoding, and convert strings to UTF-8
Handle conversion errors properly by inserting � instead.  Add a binary
header to provide portable way to write binary literals (I like them) Also
add a test file.  ref #2404
2013-11-09 06:01:47 +01:00
Florent Le Coz a418b6ed5d Send and receive messages
Also correctly respond to PING with the id, escape some XML content, but not
always
2013-11-07 01:53:09 +01:00
Florent Le Coz 4b76a30d04 Add make_unique.hpp and split.hpp 2013-11-06 21:01:18 +01:00
Florent Le Coz bf7b05ef72 Implement the Bridge class to translate between the two protocols
Add all useful classes as well: Jid, Iid, IrcChannel, IrcUser etc to
properly keep the informations about what we receive from the IRC server.

Only handle the MUC join stanza, and send the list of users in the IRC
channel to the XMPP user, and the IRC channel’s topic, for now.
2013-11-06 21:01:18 +01:00
Florent Le Coz dea7f60fa1 Add FindCryptoPP to the cmake search stuf 2013-11-03 17:55:39 +01:00
Florent Le Coz d834d6ed06 Exit the poller when it handles no connection at all 2013-11-03 17:55:23 +01:00
Florent Le Coz f2f94618fc Add a basic XMPP component implementation, doing the authentication 2013-11-03 17:51:32 +01:00
Florent Le Coz 5bbd34a3a9 Add an XmppParser, and Stanza classes
Generate events on stanza and stream open/close.
Create Stanza and serialize them.

Note: XML namespaces are not handled yet.
2013-11-03 17:19:48 +01:00
Florent Le Coz 87aaacdb42 Rename libirc and libxmpp to irc and xmpp 2013-11-03 00:22:32 +01:00
Florent Le Coz e332d7a2c0 Add initial CMakeLists.txt that compiles the current code 2013-11-02 23:49:12 +01:00
Florent Le Coz 358b53faef Move the basic socket implementation into the SocketHandler class
(that is, the read/write/connect/etc)
Because this code is actually common for both the IrcClient and
XmppComponent class. These two classes have to implement some higher level
callbacks (parsing the data provided in the buffers, doing stuff when the
connection is done) instead of doing the read/write/connect low level
things.
2013-11-02 23:39:00 +01:00
Florent Le Coz 7f580dbc0e Add irc_message.hpp 2013-11-02 16:05:55 +01:00
Florent Le Coz 4027ef8c00 Basic IRC message parsing/sending 2013-11-02 16:04:10 +01:00
Florent Le Coz 64c1b28ce2 Add some dummy main 2013-11-02 03:23:17 +01:00
Florent Le Coz 7869ef2ace First step of the connection skeleton
Basic connect, socket creating, polling, recving, etc.
2013-11-02 03:19:24 +01:00