Exemple #1
0
        private void SubscribeIValueSymbol(IValueSymbol valueSymbol)
        {
            _iValueSymbols.Add(valueSymbol);
            var observer = Observer.Create <Object>(async val => {
                var message = new SymbolValueMessage()
                {
                    InstancePath = valueSymbol.InstancePath,
                    Type         = valueSymbol.TypeName,
                    Value        = val
                };

                //Console.WriteLine(string.Format("{0} Instance: {1}, Value: {2}", DateTime.Now.ToString("HH:mm:ss:fff"), message.InstancePath, val.ToString()));
                //await _eventAggregator.PublishOnCurrentThreadAsync(message);

                await _eventAggregator.PublishOnUIThreadAsync(message);
            });
            IDisposable subscription = valueSymbol.WhenValueChanged().Subscribe(observer);

            // push into dictionary
            _subscriptions.TryAdd(valueSymbol.InstancePath, subscription);
        }
Exemple #2
0
 public Task HandleAsync(SymbolValueMessage message, CancellationToken cancellationToken)
 {
     Info += $"{DateTime.Now.ToString("HH:mm:ss:fff")} {message.InstancePath} {message.Type} {message.Value.ToString()}\n";
     return(Task.CompletedTask);
 }