Table of Contents

Class S100FeedScope

Namespace
EncDotNet.S100.Collections.Library
Assembly
EncDotNet.S100.Collections.dll

A scope of an S-100 feed (issue #680), e.g. one served by s100 feed serve: by product.

public sealed class S100FeedScope : LibraryCatalogueScope
Inheritance
S100FeedScope
Inherited Members

Constructors

S100FeedScope(Uri, Func<Uri, CancellationToken, Task<S100FeedDocument>>)

Creates a scope of the feed at feedUri.

public S100FeedScope(Uri feedUri, Func<Uri, CancellationToken, Task<S100FeedDocument>> load)

Parameters

feedUri Uri

The feed's URL.

load Func<Uri, CancellationToken, Task<S100FeedDocument>>

Reads the feed.

Properties

CurrentFilter

The filter for the ticked products.

public S100FeedFilter CurrentFilter { get; }

Property Value

S100FeedFilter

EverythingSummary

"12,345 cells · 1.2 GB" for the whole catalogue.

public override string EverythingSummary { get; }

Property Value

string

Groups

The choice groups, once the catalogue has been read.

public override IReadOnlyList<LibraryChoiceGroup> Groups { get; }

Property Value

IReadOnlyList<LibraryChoiceGroup>

IsLoaded

True once the catalogue has been read.

public override bool IsLoaded { get; }

Property Value

bool

Products

The feed's products.

public IReadOnlyList<LibraryChoice> Products { get; }

Property Value

IReadOnlyList<LibraryChoice>

SelectionSummary

What the ticked choices (or, with none, the whole catalogue) amount to, e.g. "12 cells · 3 MB".

public override string SelectionSummary { get; }

Property Value

string

SingleEntry

The catalogue's only download, when it lists just one (there is nothing to choose); otherwise null.

public override LibraryChoice? SingleEntry { get; }

Property Value

LibraryChoice

Methods

Build(Guid, string?)

The source the scope describes.

public override CollectionSource Build(Guid id, string? name)

Parameters

id Guid

The new source's id.

name string

The source's name when everything is included (the catalogue's name); a selection names it after the selection. A manifest source always takes it.

Returns

CollectionSource

DescribeSelection()

The selected products, or null for all (the source is then named after the feed).

public override string? DescribeSelection()

Returns

string

LoadAsync(CancellationToken)

Reads the catalogue and creates its choices.

public override Task<string?> LoadAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Cancels the read.

Returns

Task<string>

Why the catalogue could not be read, or null when it was.