using DevComponents.DotNetBar; using Org.BouncyCastle.Utilities; using System; using System.Collections.Generic; using System.IO; using System.Net.NetworkInformation; using System.Text; namespace Volian.Base.Library { public class DebugPrint:IDisposable { public void Dispose() { Close(); } private StreamWriter _MyStreamWriter = null; public StreamWriter MyStreamWriter { get { return _MyStreamWriter; } set { if (_MyStreamWriter != null) { _MyStreamWriter.Flush(); _MyStreamWriter.Close(); } _MyStreamWriter = value; } } public bool IsOpen { get { return MyStreamWriter != null; } } private string _FileName = null; public string FileName { get { return _FileName; } set { if (IsOpen) Close(); _FileName = value; MyFileInfo = new FileInfo(value); } } private FileInfo _MyFileInfo; public FileInfo MyFileInfo { get { return _MyFileInfo; } set { _MyFileInfo = value; } } public void Open(string fileName) { FileName = fileName; MyStreamWriter = MyFileInfo.CreateText(); } public void Close() { MyStreamWriter = null; } public void Write(string format, params object[] args) { if (IsOpen) MyStreamWriter.Write(format, args); } public void WriteLine(string format, params object[] args) { if (IsOpen) MyStreamWriter.WriteLine(format, args); } public void Show() { Close(); if (FileName != null) System.Diagnostics.Process.Start(FileName); //System.Diagnostics.Process.Start("Explorer", "/select," + FileName); } } public static class DebugPagination { private static int _TotalPages = 0; public static int TotalPages { get { return _TotalPages; } set { _TotalPages = value; } } private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { WriteLine("{0} Total Pages", TotalPages); _MyDebugPrint.Close(); } public static void Write(string format, params object[] args) { _MyDebugPrint.Write(format, args); } public static void WriteLine(string format, params object[] args) { _MyDebugPrint.WriteLine(format, args); } public static void Show() { _MyDebugPrint.Show(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } public static class DebugText { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); } public static void Write(string format, params object[] args) { _MyDebugPrint.Write(format, args); } public static void WriteLine(string format, params object[] args) { _MyDebugPrint.WriteLine(format, args); } public static void Show() { _MyDebugPrint.Show(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } public static class DebugProfile { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); _MyDebugPrint = null; } public static void Write(string format, params object[] args) { _MyDebugPrint.Write(format, args); } public static void WriteLine(string format, params object[] args) { _MyDebugPrint.WriteLine(format, args); } public static void Show() { _MyDebugPrint.Show(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } public static class DebugDBTrack { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); _MyDebugPrint = null; } public static void Write(string format, params object[] args) { _MyDebugPrint.Write(format, args); } public static void WriteLine(string format, params object[] args) { _MyDebugPrint.WriteLine(format, args); } public static void Show() { _MyDebugPrint.Show(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } // C2018-004 create meta file for baseline compares public static class BaselineMetaFile { private static DebugPrint _MyDebugPrint = new DebugPrint(); private static DebugPrint _MyDebugPrint_Truncated = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); _MyDebugPrint_Truncated.Open(fileName.Replace(".txt", "_Truncated.txt")); } public static void Close() { _MyDebugPrint.Close(); _MyDebugPrint_Truncated.Close(); } public static void Write(string format, params object[] args) { if (args.Length > 8) { if (args[args.GetUpperBound(0)] == "truncate_false" || args[args.GetUpperBound(0)] == "truncate_true") // if there is a 9th element test the value for truncated data. { int myvalue = args.GetUpperBound(0); // test and save untruncated and truncated version of the data. if (args[args.GetUpperBound(0)] == "truncate_false")// when untruncated data is being saved { _MyDebugPrint.Write(format, args); } else // when truncated data is being saved { _MyDebugPrint_Truncated.Write(format, args); } } else { _MyDebugPrint_Truncated.Write(format, args); _MyDebugPrint.Write(format, args); // there is a 9th element, but not for truncated data } } else // test if asgs does not have a 9th element save data (no truncate data is available) { _MyDebugPrint_Truncated.Write(format, args); _MyDebugPrint.Write(format, args); } } public static void WriteLine(string format, params object[] args) { if(args.Length > 8) { if (args[8] == "truncate_false" || args[8] == "truncate_true") // if there is a 9th element test the value for truncated data. { // test and save untruncated and truncated version of the data. if (args[8] == "truncate_false")// when untruncated data is being saved { _MyDebugPrint.WriteLine(format, args); } else // when truncated data is being saved { _MyDebugPrint_Truncated.WriteLine(format, args); } } else { _MyDebugPrint.WriteLine(format, args); // there is a 9th element, but not for truncated data _MyDebugPrint_Truncated.WriteLine(format, args); } } else // test if asgs does not have a 9th element save data (no truncate data is available) { _MyDebugPrint.WriteLine(format, args); _MyDebugPrint_Truncated.WriteLine(format, args); } } public static void TruncateWriteLine(string format, params object[] args) { _MyDebugPrint_Truncated.WriteLine(format, args); } public static void TruncateWrite(string format, params object[] args) { _MyDebugPrint_Truncated.Write(format, args); } public static void Show() { _MyDebugPrint.Show(); _MyDebugPrint_Truncated.Show(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } private static bool _IncludeWordSecText = true; public static bool IncludeWordSecText { get { return BaselineMetaFile._IncludeWordSecText; } set { BaselineMetaFile._IncludeWordSecText = value; } } } }