Apply all the clang-tidy modernize-* fixes
Add a None type for the Iid class (when the iid is completely empty)
Fix some compilation warning/errors that appear on FreeBSD
Add the missing & for 3 std::string function arguments
Don’t use ! as the separator for nicknames, use % instead
It’s now easier to use. The distinction between a nick and a channel name is
based on the first character (by default it's '#' and '&'). The user doesn’t
have to worry about which separator to use anymore.
Merge remote-tracking branch 'linkmauve/escaped-iid-support'
Add XEP-0106 support to the bridge
This allows the user to join channels containing forbidden characters
in the local part, like #r&d or #group/project.
Support multiple nick session, except for IQs
Move all constructors at the top of classes
Decode incoming JIDs local part according to xep 0106
This let users send message to nicks such as Q@CServe.quakenet.org
Merge branch 'fixed_server'
Do not handle the "%" char in a special way, in the fixed_server mode
Also fix some doc
Implement a way to add callbacks, waiting for an IRC event to return an iq
Rewrite the whole IID usage
IRC users and channels are now distinguished by the separator used in the
IID (% or !).
Send and receive messages
Also correctly respond to PING with the id, escape some XML content, but not
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.