internal P_LoadedPackageState(DefaultDescriptionPackageService service, DescriptionPackageLocator locator) { service.EnsureNotNull(nameof(service)); locator.EnsureNotNull(nameof(locator)); // _service = service; _locator = locator; _disposeCts = new CancellationTokenSource(); _loader = new AsyncOperator <IDescriptionPackage>(asyncFactory: P_LoadNewPackageInstanceAsync, ownsResult: true); }
internal P_LoadedPackageState(DefaultDescriptionPackageService service, IDescriptionPackage package, DescriptionPackageLocator locator, bool ownsPackage = false) { service.EnsureNotNull(nameof(service)); package.EnsureNotNull(nameof(package)); locator.EnsureNotNull(nameof(locator)); // _service = service; _locator = locator; _disposeCts = null; _loader = new AsyncOperator <IDescriptionPackage>(result: package, ownsResult: ownsPackage); }
// TODO: Put strings into the resources. // public virtual IDescriptionPackageLoadContext CreateLoadContext(DescriptionPackageLocator locator, IContext outerCtx = default) { locator.EnsureNotNull(nameof(locator)); // var locationBaseUri = locator.PackageLocationBaseUri; if (locationBaseUri is null || !locationBaseUri.IsAbsoluteUri || locationBaseUri.IsFileUri().Value) { // По умолчанию полагается, что базовое расположение пакета — файл. // return(new DescriptionPackageFileLoadContext(locator: locator, fileUri: GetFileLoadSourceUri(locator: locator), skipLinkedMetadata: true, outerCtx: outerCtx)); }