internal void BeginSection(string Header, MessageEventArgs e) { QuerySection Section; lock (this.result) { if (this.currentSection != null) { Section = new QuerySection(this.currentSection, Header); this.currentSection.Add(Section); } else { Section = new QuerySection(null, Header); this.result.Add(Section); this.resultFixed = null; } this.currentSection = Section; } this.Invoke(this.SectionAdded, Section, e); }
private void Invoke(NodeQuerySectionEventHandler Callback, QuerySection Section, MessageEventArgs e) { try { Callback?.Invoke(this, new NodeQuerySectionEventArgs(Section, this, e)); } catch (Exception ex) { Log.Critical(ex); } }
internal void EndSection(MessageEventArgs e) { QuerySection Section; lock (this.result) { if (this.currentSection is null) { return; } Section = this.currentSection; this.currentSection = this.currentSection.Parent as QuerySection; } this.Invoke(this.SectionCompleted, Section, e); }