/// <summary> /// Send device trace to the database. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void Device_OnTrace(object sender, TraceEventArgs e) { if (m_Trace != null) { GXAmiTrace trace = new GXAmiTrace(); trace.DeviceId = Device.ID; trace.Type = e.Type; if (e.Data is byte[]) { trace.Data = BitConverter.ToString(e.Data as byte[]).Replace('-', ' '); } else if (e.Data != null) { trace.Data = Convert.ToString(e.Data); } if (trace.Data != null) { trace.DataType = trace.Data.GetType().FullName; } m_Trace(new GXAmiTrace[] { trace }); } }
void Client_OnTraceAdded(object sender, GXAmiTrace[] e) { if (TracePause) { return; } if (InvokeRequired) { this.BeginInvoke(new TraceAddedEventHandler(Client_OnTraceAdded), sender, e); return; } lock (TraceEvents) { foreach (GXAmiTrace it in e) { AddTrace(it); } } }
void AddTrace(GXAmiTrace e) { //Remove first item if maximum item count is reached. if (Gurux.DeviceSuite.Properties.Settings.Default.TraceMaximumCount > 0 && TraceEvents.Count == Gurux.DeviceSuite.Properties.Settings.Default.TraceMaximumCount) { TraceEvents.RemoveAt(0); } TraceEvents.Add(e); TraceView.VirtualListSize = TraceEvents.Count; if (TraceFollowLast) { TraceView.EnsureVisible(TraceEvents.Count - 1); } }
void media_OnTrace(object sender, TraceEventArgs e) { if (DC != null) { GXAmiTrace trace = new GXAmiTrace(); trace.Type = e.Type; trace.Data = e.DataToString(false); trace.DataType = e.Data.GetType().FullName; DC.AddTraces(new GXAmiTrace[] { trace }); } }
/// <summary> /// Constructor. /// </summary> /// <param name="traces"></param> public GXTracesResponse(GXAmiTrace[] traces) { this.Traces = traces; }
void pc_OnTrace(GXAmiTrace[] traces) { DC.AddTraces(traces); }