public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)
 {
   IConsumerBinding _ncb = new ConsumerBindingMonitoredValue<object>(field);
   string _key = String.Format("{0}.{1}", repositoryGroup, processValueName);
   m_Repository.Add(_key, _ncb);
   return _ncb;
 }
Ejemplo n.º 2
0
        /// <summary>
        ///     Creates new instance of <see cref="NetworkVariableEventSource{T}" />
        /// </summary>
        /// <param name="consumerBinding">Wrapped consumer binding.</param>
        /// <param name="variableName">The name of the variable which binding is being warpped.</param>
        public NetworkVariableEventSource(IConsumerBinding consumerBinding, string variableName)
        {
            Name = variableName;

            _monitoredValue = (ConsumerBindingMonitoredValue <T>)consumerBinding;
            _monitoredValue.PropertyChanged += MonitoredValueOnPropertyChanged;
        }
Ejemplo n.º 3
0
        //methods
        private IConsumerBinding AddBinding <type>(string variableName, UATypeInfo typeInfo)
        {
            ConsumerBindingMonitoredValue <type> _return = new ConsumerBindingMonitoredValue <type>(typeInfo);

            _return.PropertyChanged += (x, y) => Trace($"{DateTime.Now.ToLongTimeString()}:{DateTime.Now.Millisecond} {variableName} = {((ConsumerBindingMonitoredValue<type>)x).ToString()}");
            return(_return);
        }
Ejemplo n.º 4
0
        private IConsumerBinding AddBinding <type>(string variableName, UATypeInfo typeInfo)
        {
            _logger.EnteringMethodBinding();
            ConsumerBindingMonitoredValue <type> returnValue = new ConsumerBindingMonitoredValue <type>(typeInfo);

            returnValue.PropertyChanged += (x, y) => _ViewModel.Trace($"{DateTime.Now.ToLongTimeString()}:{DateTime.Now.Millisecond} {variableName} = {((ConsumerBindingMonitoredValue<type>)x).ToString()}");
            return(returnValue);
        }
 public void ToStringCLRArrayRankErrorTestMethod()
 {
     ConsumerBindingMonitoredValue<Int32[,,]> _binding = new ConsumerBindingMonitoredValue<int[,,]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));
       string _name = String.Empty;
       _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
       Assert.IsNotNull(_binding);
       IConsumerBinding _bindingInterface = _binding;
       Array _newValue = new int[,] { { 1, 2 }, { 3, 4 } };
       _bindingInterface.Assign2Repository(_newValue);
 }
Ejemplo n.º 6
0
        private IConsumerBinding AddBinding <T>(string repositoryGroup, string variableName, UATypeInfo typeInfo)
        {
            var monitoredValue = new ConsumerBindingMonitoredValue <T>(typeInfo);

            if (!_consumerBindings.ContainsKey(repositoryGroup))
            {
                _consumerBindings[repositoryGroup] = new Dictionary <string, IConsumerBinding>();
            }
            _consumerBindings[repositoryGroup][variableName] = monitoredValue;
            return(monitoredValue);
        }
 public void ToStringCLRArrayRank3TestMethod()
 {
     ConsumerBindingMonitoredValue<Int32[,,]> _binding = new ConsumerBindingMonitoredValue<int[,,]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));
       string _name = String.Empty;
       _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
       Assert.IsNotNull(_binding);
       IConsumerBinding _bindingInterface = _binding;
       Array _newValue = new int[,,] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };
       _bindingInterface.Assign2Repository(_newValue);
       CollectionAssert.AreEqual(_newValue, _binding.Value);
       Assert.AreEqual<string>(@"Array Rank=3 Values [1, 2, 3, 4, 5, 6, 7, 8]", _binding.ToString());
       Assert.AreEqual<string>("Value", _name);
 }
 public void ToStringArrayTestMethod()
 {
     ConsumerBindingMonitoredValue<Int32[]> _binding = new ConsumerBindingMonitoredValue<int[]>(new UATypeInfo(BuiltInType.Int32, 1));
       string _name = String.Empty;
       _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
       Assert.IsNotNull(_binding);
       IConsumerBinding _bindingInterface = _binding;
       int[] _newValue = new int[] { 1234567, 7654321 };
       _bindingInterface.Assign2Repository(_newValue);
       Assert.AreEqual<int[]>(_newValue, _binding.Value);
       Assert.AreEqual<string>(@"Array Rank=1 Values [1234567, 7654321]", _binding.ToString());
       Assert.AreEqual<string>("Value", _name);
 }
Ejemplo n.º 9
0
        private IConsumerBinding AddBinding <type>(string repositoryGroup, string variableName, UATypeInfo typeInfo)
        {
            ConsumerBindingMonitoredValue <type> toBeReturned = new ConsumerBindingMonitoredValue <type>(typeInfo);

            if (!_processReplica.ContainsKey(repositoryGroup))
            {
                _processReplica.Add(repositoryGroup, new RepositoryGroup());
            }
            Action <type> updater = _processReplica[repositoryGroup].AddProperty <type>(variableName);

            toBeReturned.PropertyChanged += (x, y) => updater(((ConsumerBindingMonitoredValue <type>)x).Value);
            return(toBeReturned);
        }
Ejemplo n.º 10
0
        public void ToStringCLRArrayRankErrorTestMethod()
        {
            ConsumerBindingMonitoredValue <Int32[, , ]> _binding = new ConsumerBindingMonitoredValue <int[, , ]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));
            string _name = String.Empty;

            _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
            Assert.IsNotNull(_binding);
            IConsumerBinding _bindingInterface = _binding;
            Array            _newValue         = new int[, ] {
                { 1, 2 }, { 3, 4 }
            };

            _bindingInterface.Assign2Repository(_newValue);
        }
Ejemplo n.º 11
0
 /// <summary>
 /// Helper method that creates the consumer binding. 
 /// </summary>
 /// <param name="variableName">Name of the variable.</param>
 /// <returns>IConsumerBinding.</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">variableName</exception>
 public IConsumerBinding GetConsumerBinding(string variableName, BuiltInType encoding)
 {
     UATypeInfo _uaTypeInfo = new UATypeInfo(encoding);
       if (variableName == "Value1")
       {
     Value1 = new ConsumerBindingMonitoredValue<string>(_uaTypeInfo);
     return Value1;
       }
       else if (variableName == "Value2")
       {
     Value2 = new ConsumerBindingMonitoredValue<double>(_uaTypeInfo);
     return Value2;
       }
       throw new ArgumentOutOfRangeException("variableName");
 }
Ejemplo n.º 12
0
        public void ToStringCLRArrayTestMethod()
        {
            ConsumerBindingMonitoredValue <Int32[]> _binding = new ConsumerBindingMonitoredValue <int[]>(new UATypeInfo(BuiltInType.Int32, 1));
            string _name = String.Empty;

            _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
            Assert.IsNotNull(_binding);
            IConsumerBinding _bindingInterface = _binding;
            Array            _newValue         = new int[] { 1234567, 7654321 };

            _bindingInterface.Assign2Repository(_newValue);
            CollectionAssert.AreEqual(_newValue, _binding.Value);
            Assert.AreEqual <string>(@"Array Rank=1 Values [1234567, 7654321]", _binding.ToString());
            Assert.AreEqual <string>("Value", _name);
        }
Ejemplo n.º 13
0
        public void ToStringScalarTestMethod()
        {
            ConsumerBindingMonitoredValue <Int32> _binding = new ConsumerBindingMonitoredValue <int>(new UATypeInfo(BuiltInType.Int32));
            string _name = String.Empty;

            _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
            Assert.IsNotNull(_binding);
            IConsumerBinding _bindingInterface = _binding;
            const int        _newValue         = 1234567;

            _bindingInterface.Assign2Repository(_newValue);
            Assert.AreEqual <int>(_newValue, _binding.Value);
            Assert.AreEqual <string>(_newValue.ToString(), _binding.ToString());
            Assert.AreEqual <string>("Value", _name);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Helper method that creates the consumer binding.
        /// </summary>
        /// <param name="variableName">Name of the variable.</param>
        /// <returns>IConsumerBinding.</returns>
        /// <exception cref="System.ArgumentOutOfRangeException">variableName</exception>
        public IConsumerBinding GetConsumerBinding(string variableName, BuiltInType encoding)
        {
            UATypeInfo _uaTypeInfo = new UATypeInfo(encoding);

            if (variableName == "Value1")
            {
                Value1 = new ConsumerBindingMonitoredValue <string>(_uaTypeInfo);
                return(Value1);
            }
            else if (variableName == "Value2")
            {
                Value2 = new ConsumerBindingMonitoredValue <double>(_uaTypeInfo);
                return(Value2);
            }
            throw new ArgumentOutOfRangeException("variableName");
        }
Ejemplo n.º 15
0
        public void ToStringCLRArrayRank3TestMethod()
        {
            ConsumerBindingMonitoredValue <Int32[, , ]> _binding = new ConsumerBindingMonitoredValue <int[, , ]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));
            string _name = String.Empty;

            _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
            Assert.IsNotNull(_binding);
            IConsumerBinding _bindingInterface = _binding;
            Array            _newValue         = new int[, , ] {
                { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } }
            };

            _bindingInterface.Assign2Repository(_newValue);
            CollectionAssert.AreEqual(_newValue, _binding.Value);
            Assert.AreEqual <string>(@"Array Rank=3 Values [1, 2, 3, 4, 5, 6, 7, 8]", _binding.ToString());
            Assert.AreEqual <string>("Value", _name);
        }
        private IConsumerBinding Bind <type>(UaTypeMetadata typeMetadata, UATypeInfo typeInfo)
        {
            ConsumerBindingMonitoredValue <type> binding = new ConsumerBindingMonitoredValue <type>(typeInfo);

            binding.PropertyChanged += (sender, args) =>
            {
                if (_subscriptions.TryGetValue(typeMetadata, out ISubscription subscription))
                {
                    _logger?.LogInfo($"Value updated to {sender.ToString()} for subscription {subscription.UaTypeMetadata.ToString()}");
                    subscription.InvokeValueUpdated();
                }
            };
            ISubscription subscription = new Subscription(
                typeInfo,
                typeMetadata,
                _configuration.GetAliasForRepositoryGroup(typeMetadata.RepositoryGroupName),
                binding
                );

            _subscriptions[typeMetadata] = subscription;
            _consumerViewModel.AddSubscription(subscription);
            return(binding);
        }
 public void ToStringScalarTestMethod()
 {
     ConsumerBindingMonitoredValue<Int32> _binding = new ConsumerBindingMonitoredValue<int>(new UATypeInfo(BuiltInType.Int32));
       string _name = String.Empty;
       _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;
       Assert.IsNotNull(_binding);
       IConsumerBinding _bindingInterface = _binding;
       const int _newValue = 1234567;
       _bindingInterface.Assign2Repository(_newValue);
       Assert.AreEqual<int>(_newValue, _binding.Value);
       Assert.AreEqual<string>(_newValue.ToString(), _binding.ToString());
       Assert.AreEqual<string>("Value", _name);
 }
 public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)
 {
     IConsumerBinding _ncb = new ConsumerBindingMonitoredValue<object>(field);
     string _key = String.Format("{0}.{1}", repositoryGroup, processValueName);
     m_Repository.Add(_key, _ncb);
     return _ncb;
 }
Ejemplo n.º 19
0
        public void ConstructorTest()
        {
            ConsumerBindingMonitoredValue <Int32> _binding = new ConsumerBindingMonitoredValue <int>(new UATypeInfo(BuiltInType.Int32));

            Assert.IsNotNull(_binding);
        }
 public void ConstructorTest()
 {
     ConsumerBindingMonitoredValue<Int32> _binding = new ConsumerBindingMonitoredValue<int>(new UATypeInfo(BuiltInType.Int32));
       Assert.IsNotNull(_binding);
 }