public ExternalTraceEventParser(TraceEventSource source) : base(source) { if (source == null) return; m_state = (ExternalTraceEventParserState)StateObject; if (m_state == null) { StateObject = m_state = new ExternalTraceEventParserState(); m_state.m_templates = new List<DynamicTraceEventData>(); this.source.RegisterUnhandledEvent(delegate(TraceEvent unknown) { var ret = TryLookup(unknown); if (ret != null) { RegisterTemplate(ret); ret.source = unknown.source; ret.eventRecord = unknown.eventRecord; ret.userData = unknown.userData; return ret; } return unknown; }); } else if (m_allCallbackCalled) { foreach (var template in m_state.m_templates) { this.source.RegisterEventTemplate(template); template.Action += m_allCallback; } } }
public ExternalTraceEventParser(TraceEventSource source) : base(source) { if (source == null) return; m_state = (ExternalTraceEventParserState)StateObject; if (m_state == null) { StateObject = m_state = new ExternalTraceEventParserState(); m_state.m_templates = new List<DynamicTraceEventData>(); this.source.RegisterUnhandledEvent(delegate(TraceEvent unknown) { var ret = TryLookup(unknown); if (ret != null) { RegisterTemplate(ret); ret.source = unknown.source; ret.eventRecord = unknown.eventRecord; ret.userData = unknown.userData; return ret; } return unknown; }); } else if (m_allCallbackCalled) { foreach (var template in m_state.m_templates) { this.source.RegisterEventTemplate(template); template.Action += m_allCallback; } } }