+ void networkDestroyed();
+ void coreIdentityCreated(const Identity&);
+ void coreIdentityRemoved(IdentityId);
+ void coreNetworkCreated(NetworkId);
+ void coreNetworkRemoved(NetworkId);
+
+ void corePasswordChanged(PeerPtr, bool success);
+
+ void finishConnectionInitialization();
+
+ void sendBufferedUserInput();
+
+private:
+ void requestInitialBacklog();
+
+ /**
+ * Deletes and resynchronizes the CoreInfo object for legacy (pre-0.13) cores
+ *
+ * This provides compatibility with updating core information for legacy cores, and can be
+ * removed after protocol break.
+ *
+ * NOTE: On legacy (pre-0.13) cores, any existing connected signals will be destroyed and must
+ * be re-added after calling this, in addition to checking for existing data in coreInfo().
+ */
+ void requestLegacyCoreInfo();
+
+ static void addNetwork(Network*);
+
+ SignalProxy* _signalProxy{nullptr};
+ std::unique_ptr<AbstractUi> _mainUi;
+ NetworkModel* _networkModel{nullptr};
+ BufferModel* _bufferModel{nullptr};
+ BufferSyncer* _bufferSyncer{nullptr};
+ ClientAliasManager* _aliasManager{nullptr};
+ ClientBacklogManager* _backlogManager{nullptr};
+ ClientBufferViewManager* _bufferViewManager{nullptr};
+ BufferViewOverlay* _bufferViewOverlay{nullptr};
+ CoreInfo* _coreInfo{nullptr};
+ DccConfig* _dccConfig{nullptr};
+ ClientIrcListHelper* _ircListHelper{nullptr};
+ ClientUserInputHandler* _inputHandler{nullptr};
+ NetworkConfig* _networkConfig{nullptr};
+ ClientIgnoreListManager* _ignoreListManager{nullptr};
+ HighlightRuleManager* _highlightRuleManager{nullptr};
+ ClientTransferManager* _transferManager{nullptr};
+ TransferModel* _transferModel{nullptr};
+
+ MessageModel* _messageModel{nullptr};
+ AbstractMessageProcessor* _messageProcessor{nullptr};
+
+ CoreAccountModel* _coreAccountModel{nullptr};
+ CoreConnection* _coreConnection{nullptr};
+
+ ClientMode clientMode{};
+
+ QHash<NetworkId, Network*> _networks;
+ QHash<IdentityId, Identity*> _identities;
+
+ bool _connected{false};
+
+ QList<QPair<BufferInfo, QString>> _userInputBuffer;
+
+ friend class CoreConnection;
+};