summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-11-28Implement IRC format to xhtml-im conversionFlorent Le Coz
The generated XML is very verbose because each IRC formatting tag makes us close a <span/> element and reopen it with the new style applied. However, this works quite well and is easy to implement.
2013-11-27Remove incomplete implementation of remove_irc_colorsFlorent Le Coz
2013-11-27Set the parent of a node passed to add_child, and return it for convenianceFlorent Le Coz
2013-11-21TIL override and finalFlorent Le Coz
2013-11-21Send XMPP multi-line messages as multiple IRC messagesFlorent Le Coz
2013-11-21Merge branch 'epolletc'Florent Le Coz
2013-11-21Let the user choose the poller to use through cmake POLLER optionFlorent Le Coz
Use ccmake, or cmake -i, or cmake -DPOLLER=EPOLL, for example
2013-11-21Use epollFlorent Le Coz
2013-11-21Send the motd as one single big messageFlorent Le Coz
We append each line to a string, and when the MOTD is complete, we send that string at once.
2013-11-16Add a test for xml escape/unescapeFlorent Le Coz
2013-11-14Fix a warningFlorent Le Coz
2013-11-14Fix JID parsingEmmanuel Gil Peyrot
2013-11-13Include stdlib.h for atoiFlorent Le Coz
2013-11-13Do not crash on special chars in the content of messageFlorent Le Coz
That’s ugly, and we need to sanitize everything properly, and also handle these special messages.
2013-11-13Handle KICK in irc channel, both waysFlorent Le Coz
2013-11-12Map irc commands to callbacks, in a clean wayFlorent Le Coz
2013-11-12Basic handling of modes, both waysFlorent Le Coz
2013-11-12Read the served hostname from the config fileFlorent Le Coz
2013-11-11Unescape XML before sending messages over IRCFlorent Le Coz
2013-11-11Handle nick changes, both waysFlorent Le Coz
2013-11-10Add a Config module, and use it to get the password from a fileFlorent Le Coz
2013-11-10Handle private messages, both waysFlorent Le Coz
2013-11-10Handle the ACTION (/me) IRC command, both waysFlorent Le Coz
2013-11-10Connect to localhost instead of the served hostnameFlorent Le Coz
Because the XMPP component connection is only available locally, the XMPP servers proably only listen on 127.0.0.1 instead of 0.0.0.0.
2013-11-10Handle IRC QUIT commandFlorent Le Coz
2013-11-10Fix the include of the config.hFlorent Le Coz
2013-11-10And actually use the values found by cmakeFlorent Le Coz
2013-11-10Properly detect iconv features to compileFlorent Le Coz
2013-11-10Add include for perrorFlorent Le Coz
2013-11-10Use the Expat library directly instead of relying on expatppFlorent Le Coz
And now we handle namespaces, yay. And a nice little test.
2013-11-09Aaaand, I forgot to add filesFlorent Le Coz
2013-11-09Implement part and join, both waysFlorent Le Coz
2013-11-09Remove IRC colors from the body when forwarding it to XMPPFlorent Le Coz
2013-11-09CosmeticFlorent Le Coz
2013-11-09Check UTF-8 encoding, and convert strings to UTF-8Florent Le Coz
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-07Send and receive messagesFlorent Le Coz
Also correctly respond to PING with the id, escape some XML content, but not always
2013-11-06Add make_unique.hpp and split.hppFlorent Le Coz
2013-11-06Implement the Bridge class to translate between the two protocolsFlorent Le Coz
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-03Exit the poller when it handles no connection at allFlorent Le Coz
2013-11-03Add a basic XMPP component implementation, doing the authenticationFlorent Le Coz
2013-11-03Add an XmppParser, and Stanza classesFlorent Le Coz
Generate events on stanza and stream open/close. Create Stanza and serialize them. Note: XML namespaces are not handled yet.
2013-11-03Rename libirc and libxmpp to irc and xmppFlorent Le Coz
2013-11-02Move the basic socket implementation into the SocketHandler classFlorent Le Coz
(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-02Add irc_message.hppFlorent Le Coz
2013-11-02Basic IRC message parsing/sendingFlorent Le Coz
2013-11-02Add some dummy mainFlorent Le Coz
2013-11-02First step of the connection skeletonFlorent Le Coz
Basic connect, socket creating, polling, recving, etc.