Opc.Ua.Com.Server.ComDaGroupManager.Read C# (CSharp) Method

Read() public method

Reads the attribute values from the server.
public Read ( ReadValueIdCollection valuesToRead ) : DaValue[]
valuesToRead ReadValueIdCollection The values to read.
return DaValue[]
        public DaValue[] Read(ReadValueIdCollection valuesToRead)
        {
            TraceState("Read", valuesToRead.Count);

            // check for valid session.
            Session session = m_session;

            if (session == null)
            {
                throw ComUtils.CreateComException(ResultIds.E_FAIL);
            }

            int masterError = ResultIds.E_FAIL;
            DaValue[] results = new DaValue[valuesToRead.Count];

            if (session != null)
            {
                try
                {
                    // read the values.
                    DataValueCollection values = null;
                    DiagnosticInfoCollection diagnosticInfos = null;

                    session.Read(
                        null,
                        0,
                        TimestampsToReturn.Both,
                        valuesToRead,
                        out values,
                        out diagnosticInfos);

                    ClientBase.ValidateResponse(values, valuesToRead);
                    ClientBase.ValidateDiagnosticInfos(diagnosticInfos, valuesToRead);

                    // convert the response.
                    for (int ii = 0; ii < values.Count; ii++)
                    {
                        results[ii] = m_mapper.GetLocalDataValue(values[ii]);
                    }

                    // return the results.
                    return results;
                }
                catch (Exception e)
                {
                    masterError = ComUtils.GetErrorCode(e, ResultIds.E_FAIL);
                }
            }

            // report any unexpected errors.
            for (int ii = 0; ii < results.Length; ii++)
            {
                DaValue result = results[ii] = new DaValue();
                result.Error = masterError;
            }

            return results;
        }