diff --git a/source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj b/source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj new file mode 100644 index 000000000..2d7c2f26c --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj @@ -0,0 +1,111 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {7BAB58BF-E8A1-4623-B6BF-4B90A0505226} + WinExe + Properties + Cosmos.Kernel.LogTail + Cosmos.Kernel.LogTail + v3.5 + 512 + SAK + SAK + SAK + SAK + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + UserControl + + + LogHandler.cs + + + + UserControl + + + MessageLogHandler.cs + + + Form + + + MainForm.cs + + + + + MessageLogHandler.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + \ No newline at end of file diff --git a/source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj.vspscc b/source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj.vspscc new file mode 100644 index 000000000..feffdecaa --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/source/Cosmos.Kernel.LogTail/Handlers/LogHandler.Designer.cs b/source/Cosmos.Kernel.LogTail/Handlers/LogHandler.Designer.cs new file mode 100644 index 000000000..b74c72223 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Handlers/LogHandler.Designer.cs @@ -0,0 +1,37 @@ +namespace Cosmos.Kernel.LogTail.Handlers +{ + partial class LogHandler + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/source/Cosmos.Kernel.LogTail/Handlers/LogHandler.cs b/source/Cosmos.Kernel.LogTail/Handlers/LogHandler.cs new file mode 100644 index 000000000..b18a3726b --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Handlers/LogHandler.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Cosmos.Kernel.LogTail.Handlers +{ + public partial class LogHandler : UserControl + { + public virtual String Title + { + get + { + throw new NotImplementedException(); + } + } + + public LogHandler() + { + InitializeComponent(); + } + + // For designer support. + public virtual void HandleMessage(LogMessage message) + { + throw new NotImplementedException(); + } + + public static LogHandler[] GetHandlers() + { + List handlers = new List(); + + foreach (Type t in typeof(LogHandler).Assembly.GetTypes()) + { + if (t != typeof(LogHandler) && typeof(LogHandler).IsAssignableFrom(t)) + handlers.Add((LogHandler)Activator.CreateInstance(t)); + } + + return handlers.ToArray(); + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/Handlers/LogMessage.cs b/source/Cosmos.Kernel.LogTail/Handlers/LogMessage.cs new file mode 100644 index 000000000..ee84caa5c --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Handlers/LogMessage.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cosmos.Kernel.LogTail.Handlers +{ + /// + /// Represents a single log message. + /// + public class LogMessage + { + private string _name; + /// + /// Gets the name of the message. + /// + public string Name + { + get { return _name; } + } + + /// + /// The values. + /// + private Dictionary _values = new Dictionary(); + + /// + /// Gets a specific attribute. + /// + /// The name of the atttribute. + /// + public string this[string name] + { + get + { + string result; + _values.TryGetValue(name, out result); + return result; + } + } + + /// + /// Creates a new instance of the class. + /// + /// + public LogMessage(string name) + { + _name = name; + } + + /// + /// Adds an attribute. + /// + /// + /// + public void AddAttribute(string name, string value) + { + _values.Add(name, value); + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.Designer.cs b/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.Designer.cs new file mode 100644 index 000000000..d5202a80b --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.Designer.cs @@ -0,0 +1,90 @@ +namespace Cosmos.Kernel.LogTail.Handlers +{ + partial class MessageLogHandler + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MessageLogHandler)); + this.listView = new System.Windows.Forms.ListView(); + this.imageList = new System.Windows.Forms.ImageList(this.components); + this.sourceColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.messageColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.SuspendLayout(); + // + // listView + // + this.listView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.sourceColumnHeader, + this.messageColumnHeader}); + this.listView.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView.GridLines = true; + this.listView.LargeImageList = this.imageList; + this.listView.Location = new System.Drawing.Point(0, 0); + this.listView.Name = "listView"; + this.listView.Size = new System.Drawing.Size(150, 150); + this.listView.SmallImageList = this.imageList; + this.listView.StateImageList = this.imageList; + this.listView.TabIndex = 0; + this.listView.UseCompatibleStateImageBehavior = false; + this.listView.View = System.Windows.Forms.View.Details; + // + // imageList + // + this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream"))); + this.imageList.TransparentColor = System.Drawing.Color.Transparent; + this.imageList.Images.SetKeyName(0, "error"); + this.imageList.Images.SetKeyName(1, "warning"); + // + // sourceColumnHeader + // + this.sourceColumnHeader.Text = "Source"; + this.sourceColumnHeader.Width = 120; + // + // messageColumnHeader + // + this.messageColumnHeader.Text = "Message"; + this.messageColumnHeader.Width = 500; + // + // MessageLogHandler + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.listView); + this.Name = "MessageLogHandler"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ListView listView; + private System.Windows.Forms.ImageList imageList; + private System.Windows.Forms.ColumnHeader sourceColumnHeader; + private System.Windows.Forms.ColumnHeader messageColumnHeader; + } +} diff --git a/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.cs b/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.cs new file mode 100644 index 000000000..e70d9ceec --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Cosmos.Kernel.LogTail.Handlers +{ + public partial class MessageLogHandler : LogHandler + { + public override string Title + { + get + { + return "Messages"; + } + } + + public MessageLogHandler() + { + InitializeComponent(); + } + + public override void HandleMessage(LogMessage message) + { + // We only handle these. + if (message.Name != "Warning" && message.Name != "Error") + return; + + // Create the item. + ListViewItem item = new ListViewItem(new string[] { message["Module"], message["String"] }); + item.ImageKey = message.Name.ToLowerInvariant(); + + // Add it. + listView.Items.Add(item); + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.resx b/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.resx new file mode 100644 index 000000000..06f61ab1d --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.resx @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADs + CgAAAk1TRnQBSQFMAgEBAgEAAQUBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABEAMAAQEBAAEgBgABEG4AAQMCAQEDATwBGQEmAXwBKQFSAYAB6QEoAVABfQHsATkBMAFOAbsBGQEC + AQMBIJwAATIBBwEUAUwBTQE0AZQB0gFLAUYBwQHwAUkBQAG1AekBRgE9AbMB6QFDAUABvwHwAUMBKwGR + AdIBMwEGARgBVAEGAgEBBiQAAT0BHwEsAYIBHwFyAacB/wEsAYsBvQH/ATUBowHZAf8BNAGfAdkB/wEo + AXoBswH/ATwBGQEoAYKYAAEzAQcBFAFMAWQBVwG3AeQBiQGXAfoB/wGEAZUC/wGAAZAB/AH/AX4BjgH6 + Af8BfgGNAfcB/wF+AYsB8gH/AVIBWgHdAf8BPAEKASsBcxwAAS4BCgEOAUcBIAF6Aa0B/wExAZgBxgH/ + AUwByAHjAf8BSAHFAecB/wEqAZ0ByAH/ASkBtgHkAf8BLwGXAdAB/wE2AT4BYAHJlAABNAEJARUBTQFq + AVoBrgHfAZYBpQH6Af8BWwF1Av8BMwFRAv8BMQFQAv8BLQFKAf4B/wEmAUMB+gH/AUkBYQH5Af8BhgGU + AfQB/wFWAUMBpQHcATEBBQEUAU0UAAE9ATwBUwGuATABjgG9Af8BOQGMAboB/wEsAXkBrwH/AUMBlwHG + Af8BDQFcAZUB/wEKAUsBiAH/AR0BkgHOAf8BNQGnAd0B/wEuAVIBfQHhkAABNQEKARQBSwF2AWkBugHl + AZ8BrQH7Af8BaAGBAv8BQQFfAv8BQQFfAv8BPQFaAv8BOAFWAv8BNAFRAv8BKQFHAf0B/wFLAWYB/QH/ + AYkBlgH2Af8BWAFMAbMB5QEwAQUBEwFLDAABMwFiAYcB2QEyAaAByAH/AVgBngHIAf8BdAG9Ad4B/wGC + Ad4B9gH/AVoBtAHaAf8BDgFeAZEB/wEXAYEBvQH/ASYBsgHzAf8BPgGuAeIB/wE0AU8BdQHVkAABbAFU + AZ8B1QGiAbIB/AH/AXQBjwL/AVABcQL/AVABbwL/AUwBagL/AUcBZQL/AUIBXwL/AT0BWwL/ATgBVgL/ + AS0BTAL/AU8BaAL/AYQBkwH6Af8BSgEzAZcB1QgAATkBVgF2AcYBMwGnAc8B/wF7Ad0B8gH/AS8BeAGv + Af8BjAHgAfYB/wF5AdAB7QH/AS0BigG4Af8BHwGNAckB/wEnAbUB7wH/ASEBnQHdAf8BRQG1AeUB/wEr + AW4BoAHukAABfAF3Ac4B8gGmAbsC/wFgAYAC/wFgAX8C/wFbAXoC/wFWAXQC/wFRAW8C/wFMAWoC/wFH + AWUC/wFCAV8C/wE8AVoC/wEyAVAC/wGHAZkC/wFQAU4BxgHyBAABQAE3AUoBmgE9AbQB2gH/AX0B2QHu + Af8BUAGuAdQB/wE5AYEBtAH/AUEBkgG9Af8BIgGLAbwB/wEvAawB3wH/ATEBuQHuAf8BIgGSAdIB/wEg + AZ0B3QH/AUUBtwHoAf8BLAGWAc8B/wEtAQoBDgFHjAABgAF0AcAB6QGrAb4C/wFuAY0C/wFqAYkC/wFm + AYMC/wFgAX8C/wFbAXoC/wFWAXUC/wFRAXAC/wFMAWoC/wFHAWQC/wFAAV0C/wGKAZsC/wFXAU0BuAHp + BAABMQGCAaoB5QFqAd0B8gH/AYIB3QHyAf8BLQGkAcoB/wErAaoB0AH/ATcBqQHVAf8BNwGpAdwB/wE3 + AbgB6QH/ASUBkQHLAf8BJAGQAc4B/wElAaYB4wH/AUYBugHrAf8BPQGsAeEB/wE9ATUBTgGsjAABhgF7 + AcMB6gGxAcQC/wF3AZgC/wF0AZMC/wFvAY4C/wFqAYkC/wFmAYMC/wFgAX8C/wFbAXoC/wFWAXQC/wFQ + AW8C/wFJAWgC/wGQAaEC/wFcAVMBuwHqBAABPQFfAXYBvAFWAdIB6wH/AZ0B6AH5Af8BeQHhAfYB/wFi + AdgB9gH/AVMB0wH3Af8BQgHBAeoB/wEyAaoB2wH/ASwBnwHWAf8BJwGXAdEB/wEoAacB4AH/ASwBrwHp + Af8BRwG2AeYB/wEvAWABiwHijAABjwGJAdIB8gG4Ac0C/wF+AaAC/wF9AZ0C/wF5AZkC/wF0AZMC/wFv + AY4C/wFqAYkC/wFmAYMC/wFhAX8C/wFaAXkC/wFQAXEC/wGYAaoC/wFkAWABygHyBAABHAEFAQYBJQEy + AZUBtAHmASgBsgHYAf4BfwHTAesB/wHLAfAB+wH/AYQB3QH1Af8BSAHGAesB/wE/Ab0B6QH/ATgBtQHl + Af8BLgGmAdwB/wEtAawB4wH/ASwBsAHpAf8BSQG5AegB/wEmAX8BtwH5jAABhgFrAaIB1AG8Ac0B/AH/ + AZwBuwL/AYEBpQL/AYEBogL/AX0BngL/AXkBmQL/AXUBkwL/AXABjgL/AWoBiQL/AWEBgQL/AXkBkwL/ + AZ4BrQH7Af8BZAFMAZsB1AwAARQCAwEZAT4BYwF3AbsBWQHLAeYB/wGpAeAB8wH/AaIB4wH4Af8BSwHL + AfEB/wFCAcQB7wH/ATsBvQHsAf8BNAG4AesB/wEvAbQB6gH/AUoBvAHqAf8BJgGKAcYB+4wAATkBDgEU + AUoBmAGKAcAB5AHBAdEB/AH/AaABvwL/AYYBqgL/AYUBpwL/AYEBogL/AX0BnQL/AXkBmAL/AXABkAL/ + AYUBoQL/AawBugH7Af8BfQFvAbkB5AE1AQoBFAFKFAABMwEUARgBUwE6Ab8B4AH/AYoB1gHrAf8BtgHq + AfoB/wFXAc4B8QH/AUMBwwHuAf8BLAGvAekB/wE4AbAB6AH/AUQBuAHoAf8BMwFeAYMB2JAAATgBDQEU + AUkBlgGFAbYB3wHEAdQB/AH/AaMBwgL/AYsBrwL/AYkBqwL/AYQBpwL/AX8BoAL/AZEBrgL/AbQBwwH7 + Af8BgQFtAa0B2wE2AQsBFAFKHAABHAEFAQYBJQErAasBzgH3AW4BzwHpAf8BvAHqAfgB/wG5AekB+QH/ + AXIBzAHwAf8BQgGzAeoB/wExAZgB1AH/AT4BIAEtAX+UAAE5AQ4BFAFKAZsBjgHAAeQBwgHTAfwB/wHB + AdYC/wG9AdEC/wG7Ac8C/wG5Ac4C/wG3AcgB/AH/AZgBnwHtAf8BTQEaAS4BcigAAUEBQwFQAZkBNAGN + AasB4gEuAZwBwAHxASgBqwHSAf0BNgG2AeIB/wEjAY4BxAH+AS0BjQHGAf8BPAE+AVYBs5QAAToBDgEV + AUsBigFvAaAB0gGaAZIB0QHwAZQBiAHFAekBkwGGAcUB6QGSAY0BzwHwAYIBZwGfAdIBPQEQARkBUwEG + AgEBBiwAARECAgEVAR8BBgEHASoBDgICARABPwEwAToBgwEzAbQB4AH/AUUBtQHrAf8BIwF/AbEB+/QA + AUABWgFtAbQBJwGoAc8B+wE+AUcBXwGvhAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGA + FwAD/wEAAv8B/gEHBAAB8AEHAfwBBwQAAeABBwHwAQcEAAHAAQMB4AEHBAABgAEBAcABBwQAAYABAQGA + AQcEAAGAAQEBAAEDBAABgAEBAQABAwQAAYABAQEAAQMEAAGAAQEBAAEDBAABgAEBAcABAwQAAYABAQHw + AQMEAAHAAQMB+AEDBAAB4AEHAf4BAQQAAfABBwH/AQEEAAP/AfEEAAs= + + + \ No newline at end of file diff --git a/source/Cosmos.Kernel.LogTail/MainForm.Designer.cs b/source/Cosmos.Kernel.LogTail/MainForm.Designer.cs new file mode 100644 index 000000000..bece2aaa0 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/MainForm.Designer.cs @@ -0,0 +1,60 @@ +namespace Cosmos.Kernel.LogTail +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.tabControl = new System.Windows.Forms.TabControl(); + this.SuspendLayout(); + // + // tabControl + // + this.tabControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabControl.Location = new System.Drawing.Point(0, 0); + this.tabControl.Name = "tabControl"; + this.tabControl.SelectedIndex = 0; + this.tabControl.Size = new System.Drawing.Size(292, 270); + this.tabControl.TabIndex = 0; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(292, 270); + this.Controls.Add(this.tabControl); + this.Name = "MainForm"; + this.Text = "Cosmos Log Tail"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl; + } +} + diff --git a/source/Cosmos.Kernel.LogTail/MainForm.cs b/source/Cosmos.Kernel.LogTail/MainForm.cs new file mode 100644 index 000000000..81bd9f330 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/MainForm.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Cosmos.Kernel.LogTail +{ + public partial class MainForm : Form + { + private Handlers.LogHandler[] _handlers; + + public MainForm() + { + InitializeComponent(); + BuildTabs(); + } + + private void BuildTabs() + { + _handlers = Handlers.LogHandler.GetHandlers(); + foreach (Handlers.LogHandler handler in _handlers) + { + TabPage page = new TabPage(); + page.Text = handler.Title; + page.Controls.Add(handler); + handler.Dock = DockStyle.Fill; + tabControl.TabPages.Add(page); + } + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/MainForm.resx b/source/Cosmos.Kernel.LogTail/MainForm.resx new file mode 100644 index 000000000..ff31a6db5 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/MainForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/source/Cosmos.Kernel.LogTail/Program.cs b/source/Cosmos.Kernel.LogTail/Program.cs new file mode 100644 index 000000000..362f892c7 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace Cosmos.Kernel.LogTail +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/Properties/AssemblyInfo.cs b/source/Cosmos.Kernel.LogTail/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..64cac86cf --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Cosmos.Kernel.LogTail")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Cosmos.Kernel.LogTail")] +[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3b728cd0-b173-4666-9019-81f99450017c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/source/Cosmos.Kernel.LogTail/Properties/Resources.Designer.cs b/source/Cosmos.Kernel.LogTail/Properties/Resources.Designer.cs new file mode 100644 index 000000000..bea820b78 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.1433 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Cosmos.Kernel.LogTail.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Cosmos.Kernel.LogTail.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/Properties/Resources.resx b/source/Cosmos.Kernel.LogTail/Properties/Resources.resx new file mode 100644 index 000000000..ffecec851 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/source/Cosmos.Kernel.LogTail/Properties/Settings.Designer.cs b/source/Cosmos.Kernel.LogTail/Properties/Settings.Designer.cs new file mode 100644 index 000000000..09ff27973 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.1433 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Cosmos.Kernel.LogTail.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/source/Cosmos.Kernel.LogTail/Properties/Settings.settings b/source/Cosmos.Kernel.LogTail/Properties/Settings.settings new file mode 100644 index 000000000..abf36c5d3 --- /dev/null +++ b/source/Cosmos.Kernel.LogTail/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/source/IL2CPU.sln b/source/IL2CPU.sln index de0e99772..bfa2b7226 100644 --- a/source/IL2CPU.sln +++ b/source/IL2CPU.sln @@ -55,9 +55,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Kernel.Boot.Glue", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Kernel", "Cosmos\Cosmos.Kernel\Cosmos.Kernel.csproj", "{A1F83D9F-2D44-4264-A08B-416797123018}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Kernel.LogTail", "Cosmos.Kernel.LogTail\Cosmos.Kernel.LogTail.csproj", "{7BAB58BF-E8A1-4623-B6BF-4B90A0505226}" +EndProject Global GlobalSection(TeamFoundationVersionControl) = preSolution - SccNumberOfProjects = 26 + SccNumberOfProjects = 27 SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} SccTeamFoundationServer = https://tfs04.codeplex.com/ SccLocalPath0 = . @@ -117,33 +119,37 @@ Global SccProjectUniqueName18 = Cosmos.Kernel.Boot.Glue\\Cosmos.Kernel.Boot.Glue.csproj SccProjectName18 = Cosmos.Kernel.Boot.Glue SccLocalPath18 = Cosmos.Kernel.Boot.Glue - SccProjectUniqueName19 = Cosmos.Kernel.LogViewer\\Cosmos.Kernel.LogViewer.csproj + SccProjectUniqueName19 = Cosmos\\Cosmos.Shell.Console\\Cosmos.Shell.Console.csproj SccProjectTopLevelParentUniqueName19 = IL2CPU.sln - SccProjectName19 = Cosmos.Kernel.LogViewer - SccLocalPath19 = Cosmos.Kernel.LogViewer - SccProjectUniqueName20 = Cosmos\\Cosmos.Shell.Console\\Cosmos.Shell.Console.csproj + SccProjectName19 = Cosmos/Cosmos.Shell.Console + SccLocalPath19 = Cosmos\\Cosmos.Shell.Console + SccProjectUniqueName20 = Cosmos\\Cosmos.Kernel\\Cosmos.Kernel.csproj SccProjectTopLevelParentUniqueName20 = IL2CPU.sln - SccProjectName20 = Cosmos/Cosmos.Shell.Console - SccLocalPath20 = Cosmos\\Cosmos.Shell.Console - SccProjectUniqueName21 = Cosmos\\Cosmos.Kernel\\Cosmos.Kernel.csproj + SccProjectName20 = Cosmos/Cosmos.Kernel + SccLocalPath20 = Cosmos\\Cosmos.Kernel + SccProjectUniqueName21 = Cosmos\\Cosmos.Hardware\\Cosmos.Hardware.csproj SccProjectTopLevelParentUniqueName21 = IL2CPU.sln - SccProjectName21 = Cosmos/Cosmos.Kernel - SccLocalPath21 = Cosmos\\Cosmos.Kernel - SccProjectUniqueName22 = Cosmos\\Cosmos.Hardware\\Cosmos.Hardware.csproj + SccProjectName21 = Cosmos/Cosmos.Hardware + SccLocalPath21 = Cosmos\\Cosmos.Hardware + SccProjectUniqueName22 = Cosmos\\Cosmos.Kernel.Plugs\\Cosmos.Kernel.Plugs.csproj SccProjectTopLevelParentUniqueName22 = IL2CPU.sln - SccProjectName22 = Cosmos/Cosmos.Hardware - SccLocalPath22 = Cosmos\\Cosmos.Hardware - SccProjectUniqueName23 = Cosmos\\Cosmos.Kernel.Plugs\\Cosmos.Kernel.Plugs.csproj - SccProjectTopLevelParentUniqueName23 = IL2CPU.sln - SccProjectName23 = Cosmos/Cosmos.Kernel.Plugs - SccLocalPath23 = Cosmos\\Cosmos.Kernel.Plugs - SccProjectUniqueName24 = Indy.IL2CPU.Plugs\\Indy.IL2CPU.Plugs.csproj - SccProjectName24 = Indy.IL2CPU.Plugs - SccLocalPath24 = Indy.IL2CPU.Plugs - SccProjectUniqueName25 = Cosmos.Debug.Client.CLI\\Cosmos.Debug.Client.CLI.csproj + SccProjectName22 = Cosmos/Cosmos.Kernel.Plugs + SccLocalPath22 = Cosmos\\Cosmos.Kernel.Plugs + SccProjectUniqueName23 = Indy.IL2CPU.Plugs\\Indy.IL2CPU.Plugs.csproj + SccProjectName23 = Indy.IL2CPU.Plugs + SccLocalPath23 = Indy.IL2CPU.Plugs + SccProjectUniqueName24 = Cosmos.Debug.Client.CLI\\Cosmos.Debug.Client.CLI.csproj + SccProjectTopLevelParentUniqueName24 = IL2CPU.sln + SccProjectName24 = Cosmos.Debug.Client.CLI + SccLocalPath24 = Cosmos.Debug.Client.CLI + SccProjectUniqueName25 = Cosmos.Kernel.LogViewer\\Cosmos.Kernel.LogViewer.csproj SccProjectTopLevelParentUniqueName25 = IL2CPU.sln - SccProjectName25 = Cosmos.Debug.Client.CLI - SccLocalPath25 = Cosmos.Debug.Client.CLI + SccProjectName25 = Cosmos.Kernel.LogViewer + SccLocalPath25 = Cosmos.Kernel.LogViewer + SccProjectUniqueName26 = Cosmos.Kernel.LogTail\\Cosmos.Kernel.LogTail.csproj + SccProjectTopLevelParentUniqueName26 = IL2CPU.sln + SccProjectName26 = Cosmos.Kernel.LogTail + SccLocalPath26 = Cosmos.Kernel.LogTail EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -245,16 +251,21 @@ Global {A1F83D9F-2D44-4264-A08B-416797123018}.Debug|Any CPU.Build.0 = Debug|Any CPU {A1F83D9F-2D44-4264-A08B-416797123018}.Release|Any CPU.ActiveCfg = Release|Any CPU {A1F83D9F-2D44-4264-A08B-416797123018}.Release|Any CPU.Build.0 = Release|Any CPU + {7BAB58BF-E8A1-4623-B6BF-4B90A0505226}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7BAB58BF-E8A1-4623-B6BF-4B90A0505226}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7BAB58BF-E8A1-4623-B6BF-4B90A0505226}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7BAB58BF-E8A1-4623-B6BF-4B90A0505226}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {930DDE98-229B-4EBF-B41B-ACABDF48EEFB} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} - {B168BEDD-C6A6-4E7C-B9A5-0144286E9E42} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} - {A1F83D9F-2D44-4264-A08B-416797123018} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} {E4A9F8F0-D0DC-465A-A64A-FE56504D397E} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} - {7ABE17D9-06A5-44BE-B675-E649F2CD573D} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} {CE50FE98-9AC4-4B4D-ADC7-31F6DCD28755} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} + {7ABE17D9-06A5-44BE-B675-E649F2CD573D} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} + {B168BEDD-C6A6-4E7C-B9A5-0144286E9E42} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} + {930DDE98-229B-4EBF-B41B-ACABDF48EEFB} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} + {A1F83D9F-2D44-4264-A08B-416797123018} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} + {7BAB58BF-E8A1-4623-B6BF-4B90A0505226} = {0D558E33-78B0-47DB-B5EF-B7C2F3114D75} EndGlobalSection EndGlobal