/* Copyright (c) 1996-2016, OPC Foundation. All rights reserved. The source code in this file is covered under a dual-license scenario: - RCL: for OPC Foundation members in good-standing - GPL V2: everybody else RCL license terms accompanied with this source code. See http://opcfoundation.org/License/RCL/1.00/ GNU General Public License as published by the Free Software Foundation; version 2 of the License are accompanied with this source code. See http://opcfoundation.org/License/GPLv2 This source code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ using System; using System.Collections.Generic; using System.Xml; using System.IO; using System.Reflection; using Opc.Ua; namespace TestData { public partial class TestSystemConditionState { #region Initialization /// /// Initializes the object as a collection of counters which change value on read. /// protected override void OnAfterCreate(ISystemContext context, NodeState node) { base.OnAfterCreate(context, node); this.MonitoredNodeCount.OnSimpleReadValue = OnReadMonitoredNodeCount; } #endregion #region Protected Methods /// /// Reads the value for the MonitoredNodeCount. /// protected virtual ServiceResult OnReadMonitoredNodeCount( ISystemContext context, NodeState node, ref object value) { TestDataSystem system = context.SystemHandle as TestDataSystem; if (system == null) { return StatusCodes.BadOutOfService; } value = system.MonitoredNodeCount; return ServiceResult.Good; } #endregion } }