/// <summary> /// Sets private members to default values. /// </summary> private void Initialize() { m_applicationId = null; m_applicationUri = null; m_applicationType = ApplicationType.Server; m_applicationNames = new LocalizedTextCollection(); m_productUri = null; m_discoveryUrls = new StringCollection(); m_serverCapabilities = new StringCollection(); }
/// <summary> /// Reads an LocalizedText array from the stream. /// </summary> public LocalizedTextCollection ReadLocalizedTextArray(string fieldName) { bool isNil = false; LocalizedTextCollection values = new LocalizedTextCollection(); if (BeginField(fieldName, true, out isNil)) { PushNamespace(Namespaces.OpcUaXsd); while (MoveToElement("LocalizedText")) { values.Add(ReadLocalizedText("LocalizedText")); } // check the length. if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count) { throw new ServiceResultException(StatusCodes.BadEncodingLimitsExceeded); } PopNamespace(); EndField(fieldName); return values; } if (isNil) { return null; } return values; }
/// <summary> /// Reads an LocalizedText array from the stream. /// </summary> public LocalizedTextCollection ReadLocalizedTextArray(string fieldName) { int length = ReadArrayLength(); if (length == -1) { return null; } LocalizedTextCollection values = new LocalizedTextCollection(length); for (int ii = 0; ii < length; ii++) { values.Add(ReadLocalizedText(null)); } return values; }
public override ApplicationRecordDataType GetApplication( NodeId applicationId ) { Guid id = GetNodeIdGuid(applicationId); using (gdsdbEntities entities = new gdsdbEntities()) { var results = from x in entities.Applications where x.ApplicationId == id select x; var result = results.SingleOrDefault(); if (result == null) { return(null); } LocalizedTextCollection names = new LocalizedTextCollection(); if (result.ApplicationNames != null) { foreach (var entry in new List <ApplicationName>(result.ApplicationNames)) { names.Add(new LocalizedText(entry.Locale, entry.Text)); } } else { names.Add(new LocalizedText(result.ApplicationName)); } StringCollection discoveryUrls = null; if (result.ServerEndpoints != null) { discoveryUrls = new StringCollection(); foreach (var endpoint in result.ServerEndpoints) { discoveryUrls.Add(endpoint.DiscoveryUrl); } } string[] capabilities = null; if (result.ServerCapabilities != null && result.ServerCapabilities.Length > 0) { capabilities = result.ServerCapabilities.Split(','); } return(new ApplicationRecordDataType() { ApplicationId = new NodeId(result.ApplicationId, NamespaceIndex), ApplicationUri = result.ApplicationUri, ApplicationType = (ApplicationType)result.ApplicationType, ApplicationNames = names, ProductUri = result.ProductUri, DiscoveryUrls = discoveryUrls, ServerCapabilities = capabilities }); } }
/// <summary> /// Reads an LocalizedText array from the stream. /// </summary> public LocalizedTextCollection ReadLocalizedTextArray(string fieldName) { var values = new LocalizedTextCollection(); List<object> token = null; if (!ReadArrayField(fieldName, out token)) { return values; } for (int ii = 0; ii < token.Count; ii++) { try { m_stack.Push(token[ii]); var element = ReadLocalizedText(null); values.Add(element); } finally { m_stack.Pop(); } } return values; }