- static void addNetwork(Network *);
-
- static QPointer<Client> instanceptr;
-
- SignalProxy *_signalProxy;
- AbstractUi *_mainUi;
- NetworkModel *_networkModel;
- BufferModel *_bufferModel;
- BufferSyncer *_bufferSyncer;
- ClientAliasManager *_aliasManager;
- ClientBacklogManager *_backlogManager;
- ClientBufferViewManager *_bufferViewManager;
- BufferViewOverlay *_bufferViewOverlay;
- CoreInfo *_coreInfo;
- DccConfig *_dccConfig;
- ClientIrcListHelper *_ircListHelper;
- ClientUserInputHandler *_inputHandler;
- NetworkConfig *_networkConfig;
- ClientIgnoreListManager *_ignoreListManager;
- HighlightRuleManager *_highlightRuleManager;
- ClientTransferManager *_transferManager;
- TransferModel *_transferModel;
-
- MessageModel *_messageModel;
- AbstractMessageProcessor *_messageProcessor;
-
- CoreAccountModel *_coreAccountModel;
- CoreConnection *_coreConnection;
-
- ClientMode clientMode;
-
- QHash<NetworkId, Network *> _networks;
- QHash<IdentityId, Identity *> _identities;
-
- bool _connected;
-
- QString _debugLogBuffer;
- QTextStream _debugLog;
-
- QList<QPair<BufferInfo, QString> > _userInputBuffer;
+ /**
+ * 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;