Opc.Ua.BinaryDecoder.ReadExpandedNodeId C# (CSharp) Method

ReadExpandedNodeId() public method

Reads an ExpandedNodeId from the stream.
public ReadExpandedNodeId ( string fieldName ) : Opc.Ua.ExpandedNodeId
fieldName string
return Opc.Ua.ExpandedNodeId
        public ExpandedNodeId ReadExpandedNodeId(string fieldName)
        {
            byte encodingByte = m_reader.ReadByte();
            
            ExpandedNodeId value = new ExpandedNodeId();

            NodeId body = new NodeId();
            ReadNodeIdBody(encodingByte, body);
            value.InnerNodeId = body;

            string namespaceUri = null;
            uint   serverIndex  = 0;

            // read the namespace uri if present.
            if ((encodingByte & 0x80) != 0)
            {
                namespaceUri = ReadString(null);
                value.SetNamespaceUri(namespaceUri);
            }
                    
            // read the server index if present.
            if ((encodingByte & 0x40) != 0)
            {
                serverIndex = ReadUInt32(null);
                value.SetServerIndex(serverIndex);
            }

            if (m_namespaceMappings != null && m_namespaceMappings.Length > value.NamespaceIndex)
            {
                value.SetNamespaceIndex(m_namespaceMappings[value.NamespaceIndex]);
            }

            if (m_serverMappings != null && m_serverMappings.Length > value.ServerIndex)
            {
                value.SetServerIndex(m_serverMappings[value.NamespaceIndex]);
            }

            return value;

        }