private void ParseHeaders() { foreach (IMessageHeaderConfig hdrCfg in _msgCfg.Headers) { CheckToken(hdrCfg.Length, hdrCfg, null); MessageElement hdr = hdrCfg.GetNewHeader(); byte[] bytes = new byte[hdrCfg.Length]; Array.Copy(_bytes, _token, bytes, 0, hdrCfg.Length); hdr.SetValue(bytes); _struct.Headers.Add(hdr); if (hdrCfg is MessageBitMapConfig) { MessageBitMap bitMap = bytes; bitMap.FieldSeq = 0; _bitMap.Add(bitMap); } else if (hdrCfg is MessageTypeConfig) { _messageType = bytes; } else { MessageHeaderConfig cfg = (MessageHeaderConfig)hdrCfg; if (!String.IsNullOrEmpty(cfg.Name)) { _headers[cfg.Name] = bytes; } } _token += hdrCfg.Length; } }
private void CompileHeaders() { foreach (IMessageHeaderConfig hdrCfg in _msgCfg.Headers) { MessageElement hdr = hdrCfg.GetNewHeader(); _struct.AddHeader(hdr); } }
internal void AddHeader(MessageElement hdr) { _headers.Add(hdr); if (hdr is MessageBitMap) { ((MessageBitMap)hdr).FieldSeq = 0; _bitMap.Add((MessageBitMap)hdr); } if (hdr is MessageTypeHeader) { this.MessageType = (MessageTypeHeader)hdr; } }