summaryrefslogtreecommitdiff
path: root/src/irc/iid.hpp
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2013-11-06 20:51:05 +0100
committerFlorent Le Coz <louiz@louiz.org>2013-11-06 21:01:18 +0100
commitbf7b05ef72bbdac97704d262ddfe418908267535 (patch)
treeb23b3a5a5d469c47c37422559be76ee34238649a /src/irc/iid.hpp
parentdea7f60fa1ae6a46228daa36bcb3fec1a6c6ffc3 (diff)
downloadbiboumi-bf7b05ef72bbdac97704d262ddfe418908267535.tar.gz
biboumi-bf7b05ef72bbdac97704d262ddfe418908267535.tar.bz2
biboumi-bf7b05ef72bbdac97704d262ddfe418908267535.tar.xz
biboumi-bf7b05ef72bbdac97704d262ddfe418908267535.zip
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.
Diffstat (limited to 'src/irc/iid.hpp')
-rw-r--r--src/irc/iid.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/irc/iid.hpp b/src/irc/iid.hpp
new file mode 100644
index 0000000..aacc9e6
--- /dev/null
+++ b/src/irc/iid.hpp
@@ -0,0 +1,34 @@
+#ifndef IID_INCLUDED
+# define IID_INCLUDED
+
+#include <string>
+
+/**
+ * A name representing an IRC channel, on the same model than the XMPP JIDs (but much simpler).
+ * The separator between the server and the channel name is '%'
+ * #test%irc.freenode.org has :
+ * - chan: "#test" (the # is part of the name, it could very well be absent, or & instead
+ * - server: "irc.freenode.org"
+ * #test has:
+ * - chan: "#test"
+ * - server: ""
+ * %irc.freenode.org:
+ * - chan: ""
+ * - server: "irc.freenode.org"
+ */
+class Iid
+{
+public:
+ explicit Iid(const std::string& iid);
+
+ std::string chan;
+ std::string server;
+
+private:
+ Iid(const Iid&) = delete;
+ Iid(Iid&&) = delete;
+ Iid& operator=(const Iid&) = delete;
+ Iid& operator=(Iid&&) = delete;
+};
+
+#endif // IID_INCLUDED