+ 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;
+};