private void AddRowToPulseGrid(int Id, ClousotAnalysisState obj) { var fields = typeof(ClousotAnalysisState).GetFields(); var row = new string[fields.Count() + 1]; row[0] = Id.ToString(); var i = 1; foreach (var f in fields) { var v = f.GetValue(obj); if (v != null) { if (v is double) { row[i] = string.Format("{0,6:P1}", v); } else { row[i] = v.ToString(); } } i++; } InsertOrUpdate(this.clousotPulseGrid, Id, row); }
private void UpdateGrids() { // Clear the pulse grid this.clousotPulseGrid.Rows.Clear(); var ClousotProcesses = Process.GetProcessesByName("Clousot").Union(Process.GetProcessesByName("cccheck")); foreach (var proc in ClousotProcesses) { var pipeName = CommonNames.GetPipeNameForCCCheckPulse(proc.Id); var namedPipeClient = new NamedPipeClientStream(".", pipeName, PipeDirection.InOut); try { InsertOrUpdateRowToProcessesGrid(proc); namedPipeClient.Connect(20); var stream = new PipeStreamSimple(namedPipeClient); stream.WriteIfConnected(this.myCallBackPipe); List <Tuple <string, object> > result; if (stream.TryRead(out result)) { var obj = new ClousotAnalysisState(result); AddRowToPulseGrid(proc.Id, obj); } else { Trace.TraceWarning("failed to get a meaningfull answer from proc id {0}", proc.Id); } } catch { // does nothing } namedPipeClient.Close(); } }
private void UpdateGrids() { // Clear the pulse grid this.clousotPulseGrid.Rows.Clear(); var ClousotProcesses = Process.GetProcessesByName("Clousot").Union(Process.GetProcessesByName("cccheck")); foreach (var proc in ClousotProcesses) { var pipeName = CommonNames.GetPipeNameForCCCheckPulse(proc.Id); var namedPipeClient = new NamedPipeClientStream(".", pipeName, PipeDirection.InOut); try { InsertOrUpdateRowToProcessesGrid(proc); namedPipeClient.Connect(20); var stream = new PipeStreamSimple(namedPipeClient); stream.WriteIfConnected(this.myCallBackPipe); List<Tuple<string, object>> result; if (stream.TryRead(out result)) { var obj = new ClousotAnalysisState(result); AddRowToPulseGrid(proc.Id, obj); } else { Trace.TraceWarning("failed to get a meaningfull answer from proc id {0}", proc.Id); } } catch { // does nothing } namedPipeClient.Close(); } }