public override void Read(FrontendPackage package, FrontendChunkBlock chunkBlock, FrontendChunkReader chunkReader, BinaryReader reader) { FrontendTagStream tagStream = new FrontendMessagesTagStream(reader, package, chunkBlock, chunkBlock.Size); while (tagStream.HasTag()) { FrontendTag tag = tagStream.NextTag(null); //Debug.WriteLine("PKG RESPONSES TAG {0}", tag); package = ProcessTag(package, tag); } }
public override FrontendObject Read(FrontendPackage package, ObjectReaderState readerState, BinaryReader reader) { FrontendObject newFrontendObject = FrontendObject; FrontendTagStream tagStream = new FrontendObjectTagStream(reader, readerState.CurrentChunkBlock, readerState.CurrentChunkBlock.Size); while (tagStream.HasTag()) { FrontendTag tag = tagStream.NextTag(newFrontendObject); //Debug.WriteLine("OBJECT TAG {0}", tag); newFrontendObject = ProcessTag(newFrontendObject, tag); } return(newFrontendObject); }
public override FrontendObject Read(FrontendPackage package, ObjectReaderState readerState, BinaryReader reader) { FrontendScriptTagStream tagStream = new FrontendScriptTagStream(reader, readerState.CurrentChunkBlock, readerState.CurrentChunkBlock.Size); FrontendScript script = new FrontendScript(); while (tagStream.HasTag()) { FrontendTag tag = tagStream.NextTag(FrontendObject, script); //Debug.WriteLine("SCRIPT TAG {0}", tag); ProcessTag(FrontendObject, script, tag); } //Debug.WriteLine("ADD SCRIPT: id={0:X8}", script.Id); FrontendObject.Scripts.Add(script); return(FrontendObject); }
private FrontendObject ProcessTag(FrontendObject frontendObject, FrontendTag tag) { switch (tag) { case ObjectTypeTag objectTypeTag: return(ProcessObjectTypeTag(frontendObject, objectTypeTag)); case StringBufferTextTag stringBufferTextTag when frontendObject is FrontendString frontendString: return(ProcessStringBufferTextTag(frontendString, stringBufferTextTag)); case StringBufferFormattingTag stringBufferFormattingTag when frontendObject is FrontendString frontendString: return(ProcessStringBufferFormattingTag(frontendString, stringBufferFormattingTag)); case StringBufferLeadingTag stringBufferLeadingTag when frontendObject is FrontendString frontendString: return(ProcessStringBufferLeadingTag(frontendString, stringBufferLeadingTag)); case StringBufferLabelHashTag stringBufferLabelHashTag when frontendObject is FrontendString frontendString: return(ProcessStringBufferLabelHashTag(frontendString, stringBufferLabelHashTag)); case StringBufferMaxWidthTag stringBufferMaxWidthTag when frontendObject is FrontendString frontendString: return(ProcessStringBufferMaxWidthTag(frontendString, stringBufferMaxWidthTag)); case ObjectHashTag objectHashTag: frontendObject.NameHash = objectHashTag.Hash; break; case ObjectReferenceTag objectReferenceTag: ProcessObjectReferenceTag(frontendObject, objectReferenceTag); break; case ImageInfoTag imageInfoTag when frontendObject is FrontendImage frontendImage: ProcessImageInfoTag(frontendImage, imageInfoTag); break; case ObjectDataTag objectDataTag: ProcessObjectDataTag(frontendObject, objectDataTag); break; default: //Debug.WriteLine("WARN: Unprocessed tag - {0}", tag.GetType()); break; } return(frontendObject); }
public FrontendTag AddFrontendTag(int tagId) { _logger.LogInformation($"Adding frontend tag - {tagId}"); var tag = _data.EfContext.Tags.Find(tagId); var frontendTag = new FrontendTag() { TagId = tagId, Tag = tag }; var tagEntity = _data.EfContext.FrontendTags.Add(frontendTag); _data.EfContext.SaveChanges(); _logger.LogInformation($"Frontend tag {tagId} has added successfully"); return(tagEntity.Entity); }
private FrontendPackage ProcessTag(FrontendPackage frontendPackage, FrontendTag tag) { switch (tag) { case MessageResponseInfoTag messageResponseInfoTag: ProcessMessageResponseInfoTag(frontendPackage, messageResponseInfoTag); break; case ResponseIdTag responseIdTag: ProcessResponseIdTag(frontendPackage, responseIdTag); break; case ResponseParamTag responseParamTag: ProcessResponseParamTag(frontendPackage, responseParamTag); break; case ResponseTargetTag responseTargetTag: ProcessResponseTargetTag(frontendPackage, responseTargetTag); break; } return(frontendPackage); }
private void ProcessTag(FrontendObject frontendObject, FrontendScript frontendScript, FrontendTag tag) { switch (tag) { case ScriptHeaderTag scriptHeaderTag: ProcessScriptHeaderTag(frontendObject, frontendScript, scriptHeaderTag); break; } }
private FrontendObject ProcessTag(FrontendObject frontendObject, FrontendChunkBlock frontendChunkBlock, FrontendTag tag) { switch (tag) { case MessageResponseInfoTag messageResponseInfoTag: ProcessMessageResponseInfoTag(frontendObject, frontendChunkBlock, messageResponseInfoTag); break; case ResponseIdTag responseIdTag: ProcessResponseIdTag(frontendObject, frontendChunkBlock, responseIdTag); break; case ResponseParamTag responseParamTag: ProcessResponseParamTag(frontendObject, frontendChunkBlock, responseParamTag); break; case ResponseTargetTag responseTargetTag: ProcessResponseTargetTag(frontendObject, frontendChunkBlock, responseTargetTag); break; } return(frontendObject); }