Opc.Ua.Server.ServerUtils.CreateStatusCodeCollection C# (CSharp) Method

CreateStatusCodeCollection() public static method

Creates a collection of status codes and diagnostics from a set of errors.
public static CreateStatusCodeCollection ( OperationContext context, IList errors, DiagnosticInfoCollection &diagnosticInfos ) : StatusCodeCollection
context OperationContext
errors IList
diagnosticInfos DiagnosticInfoCollection
return StatusCodeCollection
        public static StatusCodeCollection CreateStatusCodeCollection(
            OperationContext             context,
            IList<ServiceResult>         errors, 
            out DiagnosticInfoCollection diagnosticInfos)
        {
            diagnosticInfos = null;

            bool noErrors = true;
            StatusCodeCollection results = new StatusCodeCollection(errors.Count);

            foreach (ServiceResult error in errors)
            {
                if (ServiceResult.IsBad(error))
                {
                    results.Add(error.Code);
                    noErrors = false;
                }
                else
                {
                    results.Add(StatusCodes.Good);
                }
            }

            // only generate diagnostics if errors exist.
            if (noErrors)
            {
                diagnosticInfos = CreateDiagnosticInfoCollection(context, errors);
            }
            
            return results;
        }