[matroska] r874 - in trunk: . mkNETtools mkNETtools/CLI mkNETtools/CLI/obj mkNETtools/CLI/obj/Debug mkNETtools/CLI/obj/Release mkNETtools/Debug mkNETtools/PluginHelper mkNETtools/PluginHelper/obj mkNETtools/PluginHelper/obj/Debug mkNETtools/PluginHelper/obj/Release mkNETtools/Plugins mkNETtools/Plugins/TestPlugin mkNETtools/Plugins/TestPlugin/obj mkNETtools/Plugins/TestPlugin/obj/Debug mkNETtools/Plugins/TestPlugin/obj/Release mkNETtools/Release

[email protected]
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: jcsston
Date: 2004-10-13 02:47:48 +0400 (Wed, 13 Oct 2004)
New Revision: 874

Added:
   trunk/mkNETtools/
   trunk/mkNETtools/CLI/
   trunk/mkNETtools/CLI/ArgumentProcessor.cs
   trunk/mkNETtools/CLI/CLI.csproj
   trunk/mkNETtools/CLI/CLI.csproj.user
   trunk/mkNETtools/CLI/Test.cs
   trunk/mkNETtools/CLI/mkNETtools.CLI.xml
   trunk/mkNETtools/CLI/obj/
   trunk/mkNETtools/CLI/obj/Debug/
   trunk/mkNETtools/CLI/obj/Debug/CLI.projdata
   trunk/mkNETtools/CLI/obj/Debug/TempPE/
   trunk/mkNETtools/CLI/obj/Debug/mkNETtools.CLI.exe
   trunk/mkNETtools/CLI/obj/Debug/mkNETtools.CLI.pdb
   trunk/mkNETtools/CLI/obj/Debug/temp/
   trunk/mkNETtools/CLI/obj/Release/
   trunk/mkNETtools/CLI/obj/Release/CLI.projdata
   trunk/mkNETtools/CLI/obj/Release/TempPE/
   trunk/mkNETtools/CLI/obj/Release/mkNETtools.CLI.exe
   trunk/mkNETtools/CLI/obj/Release/temp/
   trunk/mkNETtools/Debug/
   trunk/mkNETtools/Debug/mkNETtools.CLI.exe
   trunk/mkNETtools/Debug/mkNETtools.CLI.pdb
   trunk/mkNETtools/Debug/mkNETtools.PluginHelper.dll
   trunk/mkNETtools/Debug/mkNETtools.PluginHelper.pdb
   trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin.dll
   trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin.pdb
   trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin_.dll
   trunk/mkNETtools/PluginHelper/
   trunk/mkNETtools/PluginHelper/AssemblyInfo.cs
   trunk/mkNETtools/PluginHelper/BaseController.cs
   trunk/mkNETtools/PluginHelper/Interfaces.cs
   trunk/mkNETtools/PluginHelper/PluginHelper.csproj
   trunk/mkNETtools/PluginHelper/PluginHelper.csproj.user
   trunk/mkNETtools/PluginHelper/PluginManager.cs
   trunk/mkNETtools/PluginHelper/mkNETtools.PluginHelper.xml
   trunk/mkNETtools/PluginHelper/obj/
   trunk/mkNETtools/PluginHelper/obj/Debug/
   trunk/mkNETtools/PluginHelper/obj/Debug/PluginHelper.projdata
   trunk/mkNETtools/PluginHelper/obj/Debug/TempPE/
   trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.dll
   trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.dll.incr
   trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.pdb
   trunk/mkNETtools/PluginHelper/obj/Debug/temp/
   trunk/mkNETtools/PluginHelper/obj/Release/
   trunk/mkNETtools/PluginHelper/obj/Release/PluginHelper.projdata
   trunk/mkNETtools/PluginHelper/obj/Release/TempPE/
   trunk/mkNETtools/PluginHelper/obj/Release/mkNETtools.PluginHelper.dll
   trunk/mkNETtools/PluginHelper/obj/Release/temp/
   trunk/mkNETtools/Plugins/
   trunk/mkNETtools/Plugins/TestPlugin/
   trunk/mkNETtools/Plugins/TestPlugin/AssemblyInfo.cs
   trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.cs
   trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj
   trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj.user
   trunk/mkNETtools/Plugins/TestPlugin/mkNETtools.Plugins.TestPlugin.xml
   trunk/mkNETtools/Plugins/TestPlugin/obj/
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TempPE/
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.dll
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.pdb
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.projdata
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/mkNETtools.Plugins.TestPlugin.dll
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/mkNETtools.Plugins.TestPlugin.pdb
   trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/temp/
   trunk/mkNETtools/Plugins/TestPlugin/obj/Release/
   trunk/mkNETtools/Plugins/TestPlugin/obj/Release/TempPE/
   trunk/mkNETtools/Plugins/TestPlugin/obj/Release/TestPlugin.projdata
   trunk/mkNETtools/Plugins/TestPlugin/obj/Release/mkNETtools.Plugins.TestPlugin.dll
   trunk/mkNETtools/Plugins/TestPlugin/obj/Release/temp/
   trunk/mkNETtools/Release/
   trunk/mkNETtools/Release/Release-20041012154258.rar
   trunk/mkNETtools/Release/mkNETtools.CLI.exe
   trunk/mkNETtools/Release/mkNETtools.CLI.xml
   trunk/mkNETtools/Release/mkNETtools.PluginHelper.dll
   trunk/mkNETtools/Release/mkNETtools.Plugins.TestPlugin.dll
   trunk/mkNETtools/mkNETtools.sln
   trunk/mkNETtools/mkNETtools.suo
Log:
Initial Import

Added: trunk/mkNETtools/CLI/ArgumentProcessor.cs
===================================================================
--- trunk/mkNETtools/CLI/ArgumentProcessor.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/CLI/ArgumentProcessor.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,83 @@
+
+using System;
+using System.Collections.Specialized;
+using System.Text.RegularExpressions;
+
+namespace mkNETtools.CLI {
+	/// <summary>
+	/// Argument Processor class
+	/// </summary>
+	public class ArgumentProcessor {
+		// Variables
+		private StringDictionary Parameters;
+
+		// Constructor
+		public ArgumentProcessor(string [] Args) {
+			Parameters = new StringDictionary();
+			Regex Spliter = new Regex(@"^-{1,2}|^/|=|:", RegexOptions.IgnoreCase|RegexOptions.Compiled);
+			Regex Remover = new Regex(@"^['""]?(.*?)['""]?$", RegexOptions.IgnoreCase|RegexOptions.Compiled);
+			string Parameter = null;
+			string [] Parts;
+
+			// Valid parameters forms:
+			// {-,/,--}param{ ,=,:}((",')value(",'))
+			// Examples: -param1 value1 --param2 /param3:"Test-:-work" /param4=happy -param5 '--=nice=--'
+			foreach (string Txt in Args) {
+				// Look for new parameters (-,/ or --) and a possible enclosed value (=,:)
+				Parts = Spliter.Split(Txt, 3);
+				switch (Parts.Length) {
+					// Found a value (for the last parameter found (space separator))
+					case 1:
+						if (Parameter != null) {
+							if (!Parameters.ContainsKey(Parameter)) {
+								Parts[0] = Remover.Replace(Parts[0], "$1");
+								Parameters.Add(Parameter, Parts[0]);
+								}
+							Parameter = null;
+							}
+						// else Error: no parameter waiting for a value (skipped)
+						break;
+					// Found just a parameter
+					case 2:
+						// The last parameter is still waiting. With no value, set it to true.
+						if (Parameter != null) {
+							if (!Parameters.ContainsKey(Parameter)) {
+                Parameters.Add(Parameter, "true");
+              }
+						}
+						Parameter = Parts[1];
+						break;
+					// Parameter with enclosed value
+					case 3:
+						// The last parameter is still waiting. With no value, set it to true.
+						if (Parameter != null){
+							if (!Parameters.ContainsKey(Parameter)) {
+                Parameters.Add(Parameter,"true");
+              }
+						}
+						Parameter = Parts[1];
+						// Remove possible enclosing characters (",')
+						if (!Parameters.ContainsKey(Parameter)) {
+							Parts[2] = Remover.Replace(Parts[2], "$1");
+							Parameters.Add(Parameter, Parts[2]);
+						}
+						Parameter = null;
+						break;
+					}
+				}
+			// In case a parameter is still waiting
+			if (Parameter != null) {
+				if (!Parameters.ContainsKey(Parameter)) {
+          Parameters.Add(Parameter,"true");
+        }
+			}
+		}
+
+		// Retrieve a parameter value if it exists
+		public string this [string Param] {
+			get {
+				return (Parameters[Param]);
+			}
+		}
+	}
+}

Added: trunk/mkNETtools/CLI/CLI.csproj
===================================================================
--- trunk/mkNETtools/CLI/CLI.csproj	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/CLI/CLI.csproj	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,95 @@
+<VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{FA089169-1F76-4D5C-8E46-D40EE9D58910}"
+    >
+        <Build>
+            <Settings
+                ApplicationIcon = ""
+                AssemblyKeyContainerName = ""
+                AssemblyName = "mkNETtools.CLI"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "Exe"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "mkNETtools.CLI"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+                <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "..\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+                <Config
+                    Name = "Release"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "TRACE"
+                    DocumentationFile = "mkNETtools.CLI.xml"
+                    DebugSymbols = "false"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "..\Release\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+            </Settings>
+            <References>
+                <Reference
+                    Name = "System"
+                    AssemblyName = "System"
+                    HintPath = "C:\WINXP\Microsoft.NET\Framework\v1.1.4322\System.dll"
+                />
+                <Reference
+                    Name = "PluginHelper"
+                    Project = "{BEE56F2B-43B9-407E-9579-BBE863D23AD7}"
+                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+                />
+            </References>
+        </Build>
+        <Files>
+            <Include>
+                <File
+                    RelPath = "ArgumentProcessor.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "Test.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+            </Include>
+        </Files>
+    </CSHARP>
+</VisualStudioProject>
+

Added: trunk/mkNETtools/CLI/CLI.csproj.user
===================================================================
--- trunk/mkNETtools/CLI/CLI.csproj.user	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/CLI/CLI.csproj.user	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+    <CSHARP LastOpenVersion = "7.10.3077" >
+        <Build>
+            <Settings ReferencePath = "" >
+                <Config
+                    Name = "Debug"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+                <Config
+                    Name = "Release"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+            </Settings>
+        </Build>
+        <OtherProjectSettings
+            CopyProjectDestinationFolder = ""
+            CopyProjectUncPath = ""
+            CopyProjectOption = "0"
+            ProjectView = "ProjectFiles"
+            ProjectTrust = "0"
+        />
+    </CSHARP>
+</VisualStudioProject>
+

Added: trunk/mkNETtools/CLI/Test.cs
===================================================================
--- trunk/mkNETtools/CLI/Test.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/CLI/Test.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,57 @@
+/*
+* Test class: main testing class
+*
+* Authors:		R. LOPES
+* Contributors:	R. LOPES
+* Created:		28 October 2002
+* Modified:		28 October 2002
+*
+* Version:		1.0
+*/
+
+using System;
+
+namespace mkNETtools.CLI 
+{
+  /// <summary>
+  /// Testing class
+  /// </summary>
+  class Test 
+  {
+    /// <summary>
+    /// Main loop
+    /// </summary>
+    [STAThread]
+    static void Main(string[] Args)
+    {
+      // Command line parsing
+      ArgumentProcessor CommandLine = new ArgumentProcessor(Args);
+
+      // Look for specific arguments values and display them if they exist (return null if they don't)
+      if(CommandLine["param1"]!=null) Console.WriteLine("Param1 value: "+CommandLine["param1"]);
+      else Console.WriteLine("Param1 not defined !");
+			
+      if(CommandLine["height"]!=null) Console.WriteLine("Height value: "+CommandLine["height"]);
+      else Console.WriteLine("Height not defined !");
+			
+      if(CommandLine["width"]!=null) Console.WriteLine("Width value: "+CommandLine["width"]);
+      else Console.WriteLine("Width not defined !");
+			
+      if(CommandLine["size"]!=null) Console.WriteLine("Size value: "+CommandLine["size"]);
+      else Console.WriteLine("Size not defined !");
+			
+      if(CommandLine["debug"]!=null) Console.WriteLine("Debug value: "+CommandLine["debug"]);
+      else Console.WriteLine("Debug not defined !");
+
+      mkNETtools.PluginHelper.PluginManager manager = new mkNETtools.PluginHelper.PluginManager();
+      foreach (string name in manager.PluginNames) 
+      {
+        Console.Out.WriteLine("Plugin Name: " + name);
+      }
+
+      // Wait for key
+      Console.Out.WriteLine("Arguments parsed. Press a key...");
+      Console.Read();
+    }
+  }
+}

Added: trunk/mkNETtools/CLI/mkNETtools.CLI.xml
===================================================================
--- trunk/mkNETtools/CLI/mkNETtools.CLI.xml	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/CLI/mkNETtools.CLI.xml	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>mkNETtools.CLI</name>
+    </assembly>
+    <members>
+        <member name="T:mkNETtools.CLI.ArgumentProcessor">
+            <summary>
+            Argument Processor class
+            </summary>
+        </member>
+        <member name="T:mkNETtools.CLI.Test">
+            <summary>
+            Testing class
+            </summary>
+        </member>
+        <member name="M:mkNETtools.CLI.Test.Main(System.String[])">
+            <summary>
+            Main loop
+            </summary>
+        </member>
+    </members>
+</doc>

Added: trunk/mkNETtools/CLI/obj/Debug/CLI.projdata
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/CLI/obj/Debug/CLI.projdata
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/CLI/obj/Debug/mkNETtools.CLI.exe
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/CLI/obj/Debug/mkNETtools.CLI.exe
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/CLI/obj/Debug/mkNETtools.CLI.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/CLI/obj/Debug/mkNETtools.CLI.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/CLI/obj/Release/CLI.projdata
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/CLI/obj/Release/CLI.projdata
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/CLI/obj/Release/mkNETtools.CLI.exe
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/CLI/obj/Release/mkNETtools.CLI.exe
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.CLI.exe
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.CLI.exe
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.CLI.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.CLI.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.PluginHelper.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.PluginHelper.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.PluginHelper.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.PluginHelper.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin_.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Debug/mkNETtools.Plugins.TestPlugin_.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/PluginHelper/AssemblyInfo.cs
===================================================================
--- trunk/mkNETtools/PluginHelper/AssemblyInfo.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/AssemblyInfo.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,58 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// 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("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]		
+
+//
+// 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 Revision and Build Numbers 
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.0.0")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the 
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing. 
+//
+// Notes: 
+//   (*) If no key is specified, the assembly is not signed.
+//   (*) KeyName refers to a key that has been installed in the Crypto Service
+//       Provider (CSP) on your machine. KeyFile refers to a file which contains
+//       a key.
+//   (*) If the KeyFile and the KeyName values are both specified, the 
+//       following processing occurs:
+//       (1) If the KeyName can be found in the CSP, that key is used.
+//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
+//           in the KeyFile is installed into the CSP and used.
+//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+//       When specifying the KeyFile, the location of the KeyFile should be
+//       relative to the project output directory which is
+//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+//       located in the project directory, you would specify the AssemblyKeyFile 
+//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+//       documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]

Added: trunk/mkNETtools/PluginHelper/BaseController.cs
===================================================================
--- trunk/mkNETtools/PluginHelper/BaseController.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/BaseController.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,125 @@
+using System;
+using System.Reflection;
+using System.Runtime.Remoting;
+using System.IO;
+
+namespace mkNETtools.PluginHelper
+{
+  /// <summary>
+  /// Summary description for BaseController.
+  /// </summary>
+  public abstract class BaseController
+  {
+    private PluginManager pm;
+    private MarshalByRefObject[] objs;
+    private AppDomain plugdom;
+    private FileSystemWatcher fsw;
+
+    protected BaseController(params MarshalByRefObject[] objs)
+    {
+      this.objs = objs;
+      fsw = new FileSystemWatcher("./Plugins", "*.dll");
+      fsw.NotifyFilter = NotifyFilters.LastWrite 
+        | NotifyFilters.FileName | NotifyFilters.Size;
+
+      fsw.Changed += new FileSystemEventHandler(FileHandling);
+      fsw.Created += new FileSystemEventHandler(FileHandling);
+      fsw.Deleted += new FileSystemEventHandler(FileHandling);
+         
+      Init();
+    }
+
+    public bool EnableFileSystemWatcher
+    {
+      get {return fsw.EnableRaisingEvents;}
+      set 
+      {
+        if (fsw.EnableRaisingEvents != value)
+        {
+          fsw.EnableRaisingEvents = value;
+        }
+      }
+    }
+
+    private void FileHandling(object sender, FileSystemEventArgs e)
+    {
+      switch (e.ChangeType)
+      {
+        case WatcherChangeTypes.Changed:
+        case WatcherChangeTypes.Created:
+          Init();
+          break;
+        case WatcherChangeTypes.Deleted:
+          Init();
+          break;
+        default:
+          break;
+      }
+    }
+
+    private void Init()
+    {
+      UnloadPluginManager();
+         
+      plugdom = AppDomain.CreateDomain("Plugins");
+         
+      string assname = typeof(PluginManager).Assembly.FullName;
+      string typename = typeof(PluginManager).FullName;
+      try 
+      {           
+        pm = plugdom.CreateInstanceAndUnwrap(assname, typename, 
+          true, BindingFlags.Default, null, this.objs, null, null, null) as PluginManager;
+      }
+      catch (TargetInvocationException ex)
+      {
+        //fsw.EnableRaisingEvents = false;
+        Console.WriteLine(ex.Message);
+        UnloadPluginManager();
+      }
+    }
+
+    public void LoadPlugin(string filename)
+    {
+      if (pm != null)
+        pm.LoadPlugin(filename);
+    }
+
+    public void UnloadPlugin(string typename)
+    {
+      if (pm != null)
+        pm.UnloadPlugin(typename);
+    }
+
+    public string[] PluginNames
+    {
+      get 
+      {
+        if (pm == null)
+          return new string[0];
+        else return pm.PluginNames;}
+    }
+
+    public void LoadPluginManager()
+    {
+      Init();
+    }
+
+    public void UnloadPluginManager()
+    {
+      if (pm != null)
+      {
+        try 
+        {
+          pm.Unload();
+          if (plugdom != null)
+            AppDomain.Unload(plugdom);
+        }
+        finally 
+        {
+          pm = null;
+          plugdom = null;
+        }
+      }
+    }
+  }
+}

Added: trunk/mkNETtools/PluginHelper/Interfaces.cs
===================================================================
--- trunk/mkNETtools/PluginHelper/Interfaces.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/Interfaces.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,82 @@
+using System;
+
+namespace mkNETtools.PluginHelper
+{
+  /// <summary>
+  /// The base plugin interface
+  /// </summary>
+  public interface IBasePlugin
+  {
+    /// <summary>
+    /// Load the plugin, alloc any resources needed
+    /// </summary>
+    void Load();
+    /// <summary>
+    /// Unload the plugin, freeing any resources
+    /// </summary>
+    void Unload();
+    /// <summary>
+    /// Get the plugin name
+    /// </summary>
+    /// <returns>Plugin name</returns>
+    string GetPluginName();
+  }
+   
+  /// <summary>
+  /// Track infomation interface
+  /// </summary>
+  public interface ITrackInfo
+  {
+    int GetNumber();
+    string GetName();
+    double GetDuration();
+  }
+  
+  /// <summary>
+  /// Audio Track infomation interface
+  /// </summary>
+  public interface IAudioTrackInfo : ITrackInfo
+  {
+    int GetChannels();
+    int GetBitdepth();
+    double GetSamplingRate();
+    double GetOutputSamplingRate();
+  }
+  
+  /// <summary>
+  /// Video Track infomation interface
+  /// </summary>
+  public interface IVideoTrackInfo : ITrackInfo
+  {
+    int GetWidth();
+    int GetHeight();
+    int GetDisplayWidth();
+    int GetDisplayHeight();
+    double GetAvgFramerate();
+  }
+  
+  /// <summary>
+  /// Basic input plugin interface
+  /// </summary>
+  public interface IBaseInputPlugin : IBasePlugin
+  {
+    /// <summary>
+    /// Open a file for reading
+    /// </summary>
+    /// <param name="filename">The file to open</param>
+    void Open(string filename);
+    /// <summary>
+    /// Close the currently open file
+    /// </summary>
+    void Close();
+      
+    int GetTrackCount();
+    ITrackInfo GetTrack(int index);
+  }
+
+  /// <summary>
+  /// Attribute to mark a exported class to treated as a plugin
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Class)]
+  public class PluginAttribute : Attribute{}
+}

Added: trunk/mkNETtools/PluginHelper/PluginHelper.csproj
===================================================================
--- trunk/mkNETtools/PluginHelper/PluginHelper.csproj	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/PluginHelper.csproj	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,100 @@
+<VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{BEE56F2B-43B9-407E-9579-BBE863D23AD7}"
+    >
+        <Build>
+            <Settings
+                ApplicationIcon = ""
+                AssemblyKeyContainerName = ""
+                AssemblyName = "mkNETtools.PluginHelper"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "Library"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "mkNETtools.PluginHelper"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+                <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "..\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+                <Config
+                    Name = "Release"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "TRACE"
+                    DocumentationFile = "mkNETtools.PluginHelper.xml"
+                    DebugSymbols = "false"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "true"
+                    OutputPath = "..\Release\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+            </Settings>
+            <References>
+                <Reference
+                    Name = "System"
+                    AssemblyName = "System"
+                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
+                />
+            </References>
+        </Build>
+        <Files>
+            <Include>
+                <File
+                    RelPath = "AssemblyInfo.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "BaseController.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "Interfaces.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "PluginManager.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+            </Include>
+        </Files>
+    </CSHARP>
+</VisualStudioProject>
+

Added: trunk/mkNETtools/PluginHelper/PluginHelper.csproj.user
===================================================================
--- trunk/mkNETtools/PluginHelper/PluginHelper.csproj.user	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/PluginHelper.csproj.user	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+    <CSHARP LastOpenVersion = "7.10.3077" >
+        <Build>
+            <Settings ReferencePath = "" >
+                <Config
+                    Name = "Debug"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+                <Config
+                    Name = "Release"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "false"
+                />
+            </Settings>
+        </Build>
+        <OtherProjectSettings
+            CopyProjectDestinationFolder = ""
+            CopyProjectUncPath = ""
+            CopyProjectOption = "0"
+            ProjectView = "ProjectFiles"
+            ProjectTrust = "0"
+        />
+    </CSHARP>
+</VisualStudioProject>
+

Added: trunk/mkNETtools/PluginHelper/PluginManager.cs
===================================================================
--- trunk/mkNETtools/PluginHelper/PluginManager.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/PluginManager.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,174 @@
+using System;
+using System.Collections;
+using System.Reflection;
+using System.Runtime.Remoting;
+using System.Runtime.Remoting.Lifetime;
+using System.IO;
+
+namespace mkNETtools.PluginHelper
+{
+  //[Serializable]
+  public class PluginManager : MarshalByRefObject
+  {
+    public override object InitializeLifetimeService()
+    {
+      //why does it it disconnect?
+      return null;
+    }
+
+    private ArrayList plugins = new ArrayList();
+
+    public PluginManager()
+    {         
+      string [] files;
+      try 
+      {
+        
+        files = Directory.GetFiles("." + Path.DirectorySeparatorChar + "Plugins", "*.dll");        
+        foreach (string file in files)
+        {
+          LoadPlugin(file);
+        }
+      } 
+      catch (DirectoryNotFoundException ex) 
+      {
+        // Just ignore this exception
+        ex = null;
+      }
+      // Look in the current folder
+      files = Directory.GetFiles("." + Path.DirectorySeparatorChar, "*.dll");
+      foreach (string file in files)
+      {
+        LoadPlugin(file);
+      }
+    }
+
+    public void Unload()
+    {
+      foreach (IBasePlugin plug in plugins)
+      {
+        plug.Unload();
+      }
+      plugins.Clear();
+    }
+
+    public int PluginCount
+    {
+      get {return plugins.Count;}
+    }
+
+    private bool PluginsContains(Type type)
+    {
+      foreach (IBasePlugin plug in plugins)
+      {
+        if (plug.GetType() == type)
+        {
+          return true;
+        }
+      }
+      return false;
+    }
+
+    public string [] PluginNames
+    {
+      get 
+      {
+        string[] output = new string[plugins.Count];
+        for (int i =0 ; i< plugins.Count; i++)
+        {
+          IBasePlugin plugin = (IBasePlugin)plugins[i];
+          output[i] = plugin.GetPluginName() + " : " + plugin.GetType().FullName;
+        }
+        return output;
+      }
+    }
+
+    public void UnloadPlugin(string typename)
+    {
+      for (int i = 0; i < plugins.Count; i++)
+      {
+        if (((IBasePlugin) plugins).GetType().Name == typename)
+        {
+          ((IBasePlugin) plugins[i]).Unload();
+          plugins.RemoveAt(i);
+          return;
+        }
+      }
+    }
+      
+    public void LoadPlugin(string filename)
+    {
+      Assembly pluginAssembly = null;
+      try 
+      {
+        // the following replaces Assembly.LoadFrom()
+        FileStream stream = File.OpenRead(filename);
+        byte[] buffer = new byte[stream.Length];
+        stream.Read(buffer, 0, (int)stream.Length);
+        stream.Close();
+
+        byte[] debugbuffer = null;
+        try 
+        {
+          //this wont show in VS.NET, but symbols IS in fact loaded
+          stream = File.OpenRead(filename.Replace(".dll", ".pdb"));
+          debugbuffer = new byte[stream.Length];
+          stream.Read(debugbuffer, 0, (int)stream.Length);
+          stream.Close();
+        } 
+        catch (IOException ex) 
+        {
+          // Couldn't load debug symbols
+        }
+        if (debugbuffer != null) 
+        {
+          pluginAssembly = Assembly.Load(buffer, debugbuffer);
+        } 
+        else 
+        {
+          pluginAssembly = Assembly.Load(buffer);
+        }
+      } 
+      catch (IOException ex) 
+      {
+        // Failed to load the plugin from disk
+        Console.Error.WriteLine(ex);
+      }
+
+      if (pluginAssembly == null) 
+      {
+        // Unable to the load the plugin
+        return;
+      }
+
+      try 
+      {
+        Type[] types = pluginAssembly.GetExportedTypes();
+        foreach (Type type in types)
+        {
+          if (!PluginsContains(type) && !type.IsAbstract)
+          {
+            Type[] ifaces = type.GetInterfaces();
+            foreach (Type iface in ifaces)
+            {
+              if (iface == typeof(IBasePlugin) 
+                & type.IsDefined(typeof(PluginAttribute),false))
+              {
+                //create and load the type, add to collection
+                IBasePlugin iplug = (IBasePlugin) Activator.CreateInstance(type);
+                iplug.Load();
+                plugins.Add(iplug);
+              }
+            }
+          }
+        }
+      } 
+      catch (TypeLoadException ex) 
+      {
+        // Possibly the plugin was compiled with an older set of interfaces
+        Console.Error.WriteLine("Plugin interface load error, Possibly the plugin was compiled with an older set of interfaces?");
+        Console.Error.WriteLine(ex);
+      }
+    }
+  }
+}

Added: trunk/mkNETtools/PluginHelper/mkNETtools.PluginHelper.xml
===================================================================
--- trunk/mkNETtools/PluginHelper/mkNETtools.PluginHelper.xml	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/PluginHelper/mkNETtools.PluginHelper.xml	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>mkNETtools.PluginHelper</name>
+    </assembly>
+    <members>
+        <member name="T:mkNETtools.PluginHelper.BaseController">
+            <summary>
+            Summary description for BaseController.
+            </summary>
+        </member>
+        <member name="T:mkNETtools.PluginHelper.IBasePlugin">
+            <summary>
+            The base plugin interface
+            </summary>
+        </member>
+        <member name="M:mkNETtools.PluginHelper.IBasePlugin.Load">
+            <summary>
+            Load the plugin, alloc any resources needed
+            </summary>
+        </member>
+        <member name="M:mkNETtools.PluginHelper.IBasePlugin.Unload">
+            <summary>
+            Unload the plugin, freeing any resources
+            </summary>
+        </member>
+        <member name="M:mkNETtools.PluginHelper.IBasePlugin.GetPluginName">
+            <summary>
+            Get the plugin name
+            </summary>
+            <returns>Plugin name</returns>
+        </member>
+        <member name="T:mkNETtools.PluginHelper.ITrackInfo">
+            <summary>
+            Track infomation interface
+            </summary>
+        </member>
+        <member name="T:mkNETtools.PluginHelper.IAudioTrackInfo">
+            <summary>
+            Audio Track infomation interface
+            </summary>
+        </member>
+        <member name="T:mkNETtools.PluginHelper.IVideoTrackInfo">
+            <summary>
+            Video Track infomation interface
+            </summary>
+        </member>
+        <member name="T:mkNETtools.PluginHelper.IBaseInputPlugin">
+            <summary>
+            Basic input plugin interface
+            </summary>
+        </member>
+        <member name="M:mkNETtools.PluginHelper.IBaseInputPlugin.Open(System.String)">
+            <summary>
+            Open a file for reading
+            </summary>
+            <param name="filename">The file to open</param>
+        </member>
+        <member name="M:mkNETtools.PluginHelper.IBaseInputPlugin.Close">
+            <summary>
+            Close the currently open file
+            </summary>
+        </member>
+        <member name="T:mkNETtools.PluginHelper.PluginAttribute">
+            <summary>
+            Attribute to mark a exported class to treated as a plugin
+            </summary>
+        </member>
+    </members>
+</doc>

Added: trunk/mkNETtools/PluginHelper/obj/Debug/PluginHelper.projdata
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/PluginHelper/obj/Debug/PluginHelper.projdata
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.dll.incr
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.dll.incr
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/PluginHelper/obj/Debug/mkNETtools.PluginHelper.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/PluginHelper/obj/Release/PluginHelper.projdata
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/PluginHelper/obj/Release/PluginHelper.projdata
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/PluginHelper/obj/Release/mkNETtools.PluginHelper.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/PluginHelper/obj/Release/mkNETtools.PluginHelper.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/AssemblyInfo.cs
===================================================================
--- trunk/mkNETtools/Plugins/TestPlugin/AssemblyInfo.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/Plugins/TestPlugin/AssemblyInfo.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,58 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// 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("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]		
+
+//
+// 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 Revision and Build Numbers 
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the 
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing. 
+//
+// Notes: 
+//   (*) If no key is specified, the assembly is not signed.
+//   (*) KeyName refers to a key that has been installed in the Crypto Service
+//       Provider (CSP) on your machine. KeyFile refers to a file which contains
+//       a key.
+//   (*) If the KeyFile and the KeyName values are both specified, the 
+//       following processing occurs:
+//       (1) If the KeyName can be found in the CSP, that key is used.
+//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
+//           in the KeyFile is installed into the CSP and used.
+//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+//       When specifying the KeyFile, the location of the KeyFile should be
+//       relative to the project output directory which is
+//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+//       located in the project directory, you would specify the AssemblyKeyFile 
+//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+//       documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]

Added: trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.cs
===================================================================
--- trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.cs	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.cs	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,36 @@
+using System;
+using mkNETtools.PluginHelper;
+
+namespace mkNETtools.Plugins.TestPlugin
+{
+	/// <summary>
+	/// Summary description for TestPlugin.
+	/// </summary>
+	[PluginAttribute]
+	public class TestPlugin : IBasePlugin
+	{
+		public TestPlugin()
+		{
+
+    }
+
+    #region IBasePlugin Members
+
+    public void Load()
+    {
+      // TODO:  Add TestPlugin.Unload implementation
+    }
+
+    public void Unload()
+    {
+      // TODO:  Add TestPlugin.Unload implementation
+    }
+
+    public string GetPluginName()
+    {      
+      return "Test Plugin v1.0";
+    }
+
+    #endregion
+  }
+}

Added: trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj
===================================================================
--- trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,95 @@
+<VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{6AABBCC0-FC46-4AA1-920C-4F6EFFB7E6E8}"
+    >
+        <Build>
+            <Settings
+                ApplicationIcon = ""
+                AssemblyKeyContainerName = ""
+                AssemblyName = "mkNETtools.Plugins.TestPlugin"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "Library"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "mkNETtools.Plugins.TestPlugin"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+                <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "..\..\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+                <Config
+                    Name = "Release"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "false"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "true"
+                    OutputPath = "..\..\Release\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+            </Settings>
+            <References>
+                <Reference
+                    Name = "System"
+                    AssemblyName = "System"
+                    HintPath = "C:\WINXP\Microsoft.NET\Framework\v1.1.4322\System.dll"
+                />
+                <Reference
+                    Name = "PluginHelper"
+                    Project = "{BEE56F2B-43B9-407E-9579-BBE863D23AD7}"
+                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+                />
+            </References>
+        </Build>
+        <Files>
+            <Include>
+                <File
+                    RelPath = "AssemblyInfo.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "TestPlugin.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+            </Include>
+        </Files>
+    </CSHARP>
+</VisualStudioProject>
+

Added: trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj.user
===================================================================
--- trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj.user	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/Plugins/TestPlugin/TestPlugin.csproj.user	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+    <CSHARP LastOpenVersion = "7.10.3077" >
+        <Build>
+            <Settings ReferencePath = "" >
+                <Config
+                    Name = "Debug"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+                <Config
+                    Name = "Release"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+            </Settings>
+        </Build>
+        <OtherProjectSettings
+            CopyProjectDestinationFolder = ""
+            CopyProjectUncPath = ""
+            CopyProjectOption = "0"
+            ProjectView = "ProjectFiles"
+            ProjectTrust = "0"
+        />
+    </CSHARP>
+</VisualStudioProject>
+

Added: trunk/mkNETtools/Plugins/TestPlugin/mkNETtools.Plugins.TestPlugin.xml
===================================================================
--- trunk/mkNETtools/Plugins/TestPlugin/mkNETtools.Plugins.TestPlugin.xml	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/Plugins/TestPlugin/mkNETtools.Plugins.TestPlugin.xml	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>mkNETtools.Plugins.TestPlugin</name>
+    </assembly>
+    <members>
+        <member name="T:mkNETtools.Plugins.TestPlugin.TestPlugin">
+            <summary>
+            Summary description for TestPlugin.
+            </summary>
+        </member>
+    </members>
+</doc>

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.projdata
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/TestPlugin.projdata
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/mkNETtools.Plugins.TestPlugin.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/mkNETtools.Plugins.TestPlugin.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/mkNETtools.Plugins.TestPlugin.pdb
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Debug/mkNETtools.Plugins.TestPlugin.pdb
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Release/TestPlugin.projdata
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Release/TestPlugin.projdata
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Plugins/TestPlugin/obj/Release/mkNETtools.Plugins.TestPlugin.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Plugins/TestPlugin/obj/Release/mkNETtools.Plugins.TestPlugin.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Release/Release-20041012154258.rar
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Release/Release-20041012154258.rar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Release/mkNETtools.CLI.exe
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Release/mkNETtools.CLI.exe
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Release/mkNETtools.CLI.xml
===================================================================
--- trunk/mkNETtools/Release/mkNETtools.CLI.xml	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/Release/mkNETtools.CLI.xml	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>mkNETtools.CLI</name>
+    </assembly>
+    <members>
+        <member name="T:mkNETtools.CLI.ArgumentProcessor">
+            <summary>
+            Argument Processor class
+            </summary>
+        </member>
+        <member name="T:mkNETtools.CLI.Test">
+            <summary>
+            Testing class
+            </summary>
+        </member>
+        <member name="M:mkNETtools.CLI.Test.Main(System.String[])">
+            <summary>
+            Main loop
+            </summary>
+        </member>
+    </members>
+</doc>

Added: trunk/mkNETtools/Release/mkNETtools.PluginHelper.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Release/mkNETtools.PluginHelper.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/Release/mkNETtools.Plugins.TestPlugin.dll
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/Release/mkNETtools.Plugins.TestPlugin.dll
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/mkNETtools/mkNETtools.sln
===================================================================
--- trunk/mkNETtools/mkNETtools.sln	2004-10-08 13:53:55 UTC (rev 873)
+++ trunk/mkNETtools/mkNETtools.sln	2004-10-12 22:47:48 UTC (rev 874)
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginHelper", "PluginHelper\PluginHelper.csproj", "{BEE56F2B-43B9-407E-9579-BBE863D23AD7}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CLI", "CLI\CLI.csproj", "{FA089169-1F76-4D5C-8E46-D40EE9D58910}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestPlugin", "Plugins\TestPlugin\TestPlugin.csproj", "{6AABBCC0-FC46-4AA1-920C-4F6EFFB7E6E8}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfiguration) = preSolution
+		Debug = Debug
+		Release = Release
+	EndGlobalSection
+	GlobalSection(ProjectConfiguration) = postSolution
+		{BEE56F2B-43B9-407E-9579-BBE863D23AD7}.Debug.ActiveCfg = Debug|.NET
+		{BEE56F2B-43B9-407E-9579-BBE863D23AD7}.Debug.Build.0 = Debug|.NET
+		{BEE56F2B-43B9-407E-9579-BBE863D23AD7}.Release.ActiveCfg = Release|.NET
+		{BEE56F2B-43B9-407E-9579-BBE863D23AD7}.Release.Build.0 = Release|.NET
+		{FA089169-1F76-4D5C-8E46-D40EE9D58910}.Debug.ActiveCfg = Debug|.NET
+		{FA089169-1F76-4D5C-8E46-D40EE9D58910}.Debug.Build.0 = Debug|.NET
+		{FA089169-1F76-4D5C-8E46-D40EE9D58910}.Release.ActiveCfg = Release|.NET
+		{FA089169-1F76-4D5C-8E46-D40EE9D58910}.Release.Build.0 = Release|.NET
+		{6AABBCC0-FC46-4AA1-920C-4F6EFFB7E6E8}.Debug.ActiveCfg = Debug|.NET
+		{6AABBCC0-FC46-4AA1-920C-4F6EFFB7E6E8}.Debug.Build.0 = Debug|.NET
+		{6AABBCC0-FC46-4AA1-920C-4F6EFFB7E6E8}.Release.ActiveCfg = Release|.NET
+		{6AABBCC0-FC46-4AA1-920C-4F6EFFB7E6E8}.Release.Build.0 = Release|.NET
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+	EndGlobalSection
+	GlobalSection(ExtensibilityAddIns) = postSolution
+	EndGlobalSection
+EndGlobal

Added: trunk/mkNETtools/mkNETtools.suo
===================================================================
(Binary files differ)


Property changes on: trunk/mkNETtools/mkNETtools.suo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.