public TimelineSystemDirectory(ISystemEntry parent, string name, Func<CancellationToken, Timeline> timeline) : base(parent, name) { this._SeedTimeline = timeline; this._StatusReadOnlyList = new WrappedReadOnlyObservableList<StatusSystemEntry>(this._StatusList); }
private void InitListIfFirst(CancellationToken token) { if(this._SeedTimeline != null){ var timeline = this._SeedTimeline(token); this._StatusList = new ObservableSortedSkipList<StatusSystemEntry>( timeline.Select(status => new StatusSystemEntry(this, status)), new ReversedComparer<StatusSystemEntry>(Comparer<StatusSystemEntry>.Default), false); this._OldestTimeline = this._NewestTimeline = timeline; this._StatusReadOnlyList = new WrappedReadOnlyObservableList<StatusSystemEntry>(this._StatusList); this._SeedTimeline = null; } }