Opc.Ua.TypeTable.AddEncoding C# (CSharp) Method

AddEncoding() public method

Adds an encoding for an existing data type.
public AddEncoding ( Opc.Ua.NodeId dataTypeId, Opc.Ua.ExpandedNodeId encodingId ) : bool
dataTypeId Opc.Ua.NodeId
encodingId Opc.Ua.ExpandedNodeId
return bool
        public bool AddEncoding(NodeId dataTypeId, ExpandedNodeId encodingId)
        {
            NodeId localId = ExpandedNodeId.ToNodeId(encodingId, m_namespaceUris);

            if (localId == null)
            {
                return false;
            }

            lock (m_lock)
            {
                TypeInfo typeInfo = null;
                
                if (!m_nodes.TryGetValue(dataTypeId, out typeInfo))
                {
                    return false;
                }

                if (typeInfo.Encodings == null)
                {
                    typeInfo.Encodings = new NodeId[] { localId };
                }
                else
                {
                    NodeId[] encodings = new NodeId[typeInfo.Encodings.Length + 1];
                    System.Array.Copy(typeInfo.Encodings, encodings, typeInfo.Encodings.Length);
                    encodings[encodings.Length - 1] = localId;
                    typeInfo.Encodings = encodings;
                }

                m_encodings[localId] = typeInfo;
                return true;
            }
        }