/// <summary> /// Runs the compiler from the command line. /// </summary> /// <param name="arguments">The command line arguments. Each compiler defines its own.</param> /// <returns>0 for success, non-0 for error.</returns> private static int Main(string[] arguments) { int result; var log = new ConsoleLog(); if (arguments.Length < 1) { result = Usage(log); } else { var command = arguments[0]; var remainingArguments = new string[arguments.Length - 1]; Array.ConstrainedCopy(arguments, 1, remainingArguments, 0, remainingArguments.Length); if (command.Equals("tzdb", StringComparison.OrdinalIgnoreCase)) { var compiler = new TzdbZoneInfoCompiler(log); result = compiler.Execute(remainingArguments); } else if (command.Equals("winmap", StringComparison.OrdinalIgnoreCase)) { var compiler = new WindowsMapperCompiler(log); result = compiler.Execute(remainingArguments); } else { log.Error("Unknown comamnd: {0}", command); result = Usage(log); } } return result; }
/// <summary> /// Invoked by the <see cref="BackgroundWorker" /> to perform the background work. /// This compiles the Windows mapping file resource. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="args">The event arguments.</param> private void WinmapWorkerDoWork(object sender, DoWorkEventArgs args) { // var worker = sender as BackgroundWorker; var options = new WindowsMapperCompilerOptions(); options.SourceFileName = windowsMapModel.FileName; options.OutputType = windowsMapModel.OutputType; var compiler = new WindowsMapperCompiler(logger); compiler.Execute(options); }