summaryrefslogtreecommitdiff
path: root/src/bridge/bridge.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bridge/bridge.hpp')
-rw-r--r--src/bridge/bridge.hpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/bridge/bridge.hpp b/src/bridge/bridge.hpp
index cc9d042..72a8e90 100644
--- a/src/bridge/bridge.hpp
+++ b/src/bridge/bridge.hpp
@@ -9,6 +9,7 @@
#include <unordered_map>
#include <functional>
+#include <exception>
#include <string>
#include <memory>
@@ -193,11 +194,15 @@ private:
*/
IrcClient* get_irc_client(const std::string& hostname, const std::string& username);
/**
- * This version does not create the IrcClient if it does not exist, and
- * returns nullptr in that case
+ * This version does not create the IrcClient if it does not exist, throws
+ * a IRCServerNotConnected error in that case.
*/
IrcClient* get_irc_client(const std::string& hostname);
/**
+ * Idem, but returns nullptr if the server does not exist.
+ */
+ IrcClient* find_irc_client(const std::string& hostname);
+ /**
* The JID of the user associated with this bridge. Messages from/to this
* JID are only managed by this bridge.
*/
@@ -240,4 +245,11 @@ private:
Bridge& operator=(Bridge&&) = delete;
};
+struct IRCNotConnected: public std::exception
+{
+ IRCNotConnected(const std::string& hostname):
+ hostname(hostname) {}
+ const std::string hostname;
+};
+
#endif // BRIDGE_INCLUDED