Fix repeated signal connects on reconnect in irc server (#1576)

This commit is contained in:
pajlada
2020-03-01 06:05:08 -05:00
committed by GitHub
parent 26d3078def
commit 20612a1381
5 changed files with 92 additions and 41 deletions
+13
View File
@@ -21,6 +21,10 @@ public:
virtual ~AbstractIrcServer() = default;
// initializeIrc must be called from the derived class
// this allows us to initialize the abstract irc server based on the derived class's parameters
void initializeIrc();
// connection
void connect();
void disconnect();
@@ -45,8 +49,15 @@ public:
protected:
AbstractIrcServer();
// initializeConnectionSignals is called on a connection once in its lifetime.
// it can be used to connect signals to your class
virtual void initializeConnectionSignals(IrcConnection *connection,
ConnectionType type){};
// initializeConnection is called every time before we try to connect to the irc server
virtual void initializeConnection(IrcConnection *connection,
ConnectionType type) = 0;
virtual std::shared_ptr<Channel> createChannel(
const QString &channelName) = 0;
@@ -83,6 +94,8 @@ private:
// bool autoReconnect_ = false;
pajlada::Signals::SignalHolder connections_;
bool initialized_{false};
};
} // namespace chatterino