public InstancesBuilder(IStateManagementEventsAggregator <TData> eventsAggregator) { EventsAggregator = eventsAggregator; EventsAggregator.InstanceChangedEvent += WhenInstanceChanged; BuildersByDescriptor = new Dictionary <ITerminalDescriptor, ICollection <IDataBuilder <TData> > >(); }
public CollectionsManager(IDataPool <TData> dataPool, IStateManagementEventsAggregator <TData> eventsAggregator) { DataPool = dataPool; EventsAggregator = eventsAggregator; CollectionsByDescriptor = new ConcurrentDictionary <INonTerminalDescriptor, ICollection <ICollection <TData> > >(); DescriptorByCollection = new ConcurrentDictionary <ICollection <TData>, INonTerminalDescriptor>(); BuilderByCollection = new ConcurrentDictionary <ICollection <TData>, IDataBuilder <TData> >(); EventsAggregator.CompositionChangedEvent += WhenCompositionChanged; }
public DataRepository(IDataRetriever <TData> dataRetriever, IDataPool <TData> dataPool, ICollectionsManager <TData> collectionsManager, IInstancesBuilder <TData> instancesBuilder, IStateManagementEventsAggregator <TData> eventsAggregator) { _semaphore = new DescriptorSemaphore(); DataRetriever = dataRetriever; DataPool = dataPool; CollectionsManager = collectionsManager; InstancesBuilder = instancesBuilder; EventsAggregator = eventsAggregator; EventsAggregator.TerminalDataAvailableEvent += OnTerminalDataAvailableEvent; EventsAggregator.NonTerminalDataAvailableEvent += OnNonTerminalDataAvailableEvent; }
public StateManagementSystem(IDataQualitySupervisor <TData> qualitySupervisor, IDataRepository <TData> repository, IStateManagementEventsAggregator <TData> eventsAggregator) { QualitySupervisor = qualitySupervisor; Repository = repository; EventsAggregator = eventsAggregator; }
public DataRefresher(IDataRetriever <TData> dataRetriever, IDataPool <TData> dataPool, IStateManagementEventsAggregator <TData> eventsAggregator) { EventsAggregator = eventsAggregator; DataRetriever = dataRetriever; DataPool = dataPool; }
public DataRetriever(ITerminalDescriptorsFactory <TData> terminalDescriptorsFactory, IStateManagementEventsAggregator <TData> eventsAggregator) { TerminalDescriptorsFactory = terminalDescriptorsFactory; EventsAggregator = eventsAggregator; }