internal LoadLinker(Func <IReferenceLoader> getReferenceLoader, IReadOnlyList <IReadOnlyList <Type> > referenceTypesToBeLoadedForEachLoadingLevel, LoadLinkProtocol loadLinkProtocol, LoadLinkDetails <TRootLinkedSource, TRootLinkedSourceModel> loadLinkDetails) { _referenceLoader = getReferenceLoader(); _referenceTypesToBeLoadedForEachLoadingLevel = referenceTypesToBeLoadedForEachLoadingLevel; _loadLinkProtocol = loadLinkProtocol; _loadLinkDetails = loadLinkDetails; _linker = new Linker(_loadLinkProtocol, _dataStore); }
private void OnLoadLinkCompleted(LoadLinkDetails <TRootLinkedSource, TRootLinkedSourceModel> loadLinkDetails) { if (!_isDebugModeEnabled || loadLinkDetails is null) { return; } loadLinkDetails.LoadLinkEnd(); _onLoadLinkCompleted?.Invoke(loadLinkDetails); }
private LoadLinker <TRootLinkedSource, TRootLinkedSourceModel> CreateLoadLinker(LoadLinkDetails <TRootLinkedSource, TRootLinkedSourceModel> loadLinkDetails) { return(new LoadLinker <TRootLinkedSource, TRootLinkedSourceModel>(_createReferenceLoader, _referenceTypeToBeLoadedForEachLoadingLevel, _loadLinkProtocol, loadLinkDetails)); }