summaryrefslogtreecommitdiff
path: root/src/irc
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2014-02-22 21:42:24 +0100
committerFlorent Le Coz <louiz@louiz.org>2014-02-22 21:42:24 +0100
commit99aba5667d0d7ba6657f9c175a9342126bc4b0f2 (patch)
tree2448f73a7e4129f1a8f9f51e230dd00111452a30 /src/irc
parent61ca40fa0e6c819aa72f3f2364667c7b990855d4 (diff)
downloadbiboumi-99aba5667d0d7ba6657f9c175a9342126bc4b0f2.tar.gz
biboumi-99aba5667d0d7ba6657f9c175a9342126bc4b0f2.tar.bz2
biboumi-99aba5667d0d7ba6657f9c175a9342126bc4b0f2.tar.xz
biboumi-99aba5667d0d7ba6657f9c175a9342126bc4b0f2.zip
Connection to servers does not block the process anymore
Diffstat (limited to 'src/irc')
-rw-r--r--src/irc/irc_client.cpp11
-rw-r--r--src/irc/irc_client.hpp4
2 files changed, 11 insertions, 4 deletions
diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp
index 0d5c4e3..d35437c 100644
--- a/src/irc/irc_client.cpp
+++ b/src/irc/irc_client.cpp
@@ -29,10 +29,13 @@ void IrcClient::start()
{
this->bridge->send_xmpp_message(this->hostname, "", std::string("Connecting to ") +
this->hostname + ":" + "6667");
- std::pair<bool, std::string> res = this->connect(this->hostname, "6667");
- if (!res.first)
- this->bridge->send_xmpp_message(this->hostname, "",
- std::string("Connection failed: ") + res.second);
+ this->connect(this->hostname, "6667");
+}
+
+void IrcClient::on_connection_failed(const std::string& reason)
+{
+ this->bridge->send_xmpp_message(this->hostname, "",
+ std::string("Connection failed: ") + reason);
}
void IrcClient::on_connected()
diff --git a/src/irc/irc_client.hpp b/src/irc/irc_client.hpp
index 5cd1403..28a1424 100644
--- a/src/irc/irc_client.hpp
+++ b/src/irc/irc_client.hpp
@@ -30,6 +30,10 @@ public:
*/
void start();
/**
+ * Called when the connection to the server cannot be established
+ */
+ void on_connection_failed(const std::string& reason) override final;
+ /**
* Called when successfully connected to the server
*/
void on_connected() override final;