From 5b7bf857f209e72f8c169b8768cbeedc5947fd39 Mon Sep 17 00:00:00 2001
From: moitoius_cp <7bd20ad30720b36bd251fb928c419f8754d57bfcCkJyHhZD>
Date: Wed, 2 Jan 2008 10:59:07 +0000
Subject: [PATCH] Preliminary work on the log viewer.
---
.../Cosmos.Kernel.LogTail.csproj | 111 +++++++++++
.../Cosmos.Kernel.LogTail.csproj.vspscc | 10 +
.../Handlers/LogHandler.Designer.cs | 37 ++++
.../Handlers/LogHandler.cs | 46 +++++
.../Handlers/LogMessage.cs | 61 ++++++
.../Handlers/MessageLogHandler.Designer.cs | 90 +++++++++
.../Handlers/MessageLogHandler.cs | 41 ++++
.../Handlers/MessageLogHandler.resx | 177 ++++++++++++++++++
.../MainForm.Designer.cs | 60 ++++++
source/Cosmos.Kernel.LogTail/MainForm.cs | 35 ++++
source/Cosmos.Kernel.LogTail/MainForm.resx | 120 ++++++++++++
source/Cosmos.Kernel.LogTail/Program.cs | 21 +++
.../Properties/AssemblyInfo.cs | 36 ++++
.../Properties/Resources.Designer.cs | 71 +++++++
.../Properties/Resources.resx | 117 ++++++++++++
.../Properties/Settings.Designer.cs | 30 +++
.../Properties/Settings.settings | 7 +
source/IL2CPU.sln | 65 ++++---
18 files changed, 1108 insertions(+), 27 deletions(-)
create mode 100644 source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj
create mode 100644 source/Cosmos.Kernel.LogTail/Cosmos.Kernel.LogTail.csproj.vspscc
create mode 100644 source/Cosmos.Kernel.LogTail/Handlers/LogHandler.Designer.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Handlers/LogHandler.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Handlers/LogMessage.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.Designer.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Handlers/MessageLogHandler.resx
create mode 100644 source/Cosmos.Kernel.LogTail/MainForm.Designer.cs
create mode 100644 source/Cosmos.Kernel.LogTail/MainForm.cs
create mode 100644 source/Cosmos.Kernel.LogTail/MainForm.resx
create mode 100644 source/Cosmos.Kernel.LogTail/Program.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Properties/AssemblyInfo.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Properties/Resources.Designer.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Properties/Resources.resx
create mode 100644 source/Cosmos.Kernel.LogTail/Properties/Settings.Designer.cs
create mode 100644 source/Cosmos.Kernel.LogTail/Properties/Settings.settings
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