source: xmlTools/trunk/posUpdate/Program.cs@ 995

Last change on this file since 995 was 874, checked in by s10k, 12 years ago

XmlTools: v0.9

File size: 2.2 KB
RevLine 
[710]1using System;
2using System.Collections.Generic;
[874]3using System.IO;
[710]4using System.Text;
5
6namespace xmlTools
7{
8 class Program
9 {
[874]10 public const string XmlToolsVersion = "0.9"; // const variable are by default static
[750]11 private static appErrors lastError = appErrors.NO_ERROR;
[710]12
13 public enum appErrors
14 {
[745]15 // 1-19 Errors with input parameters
[750]16 NO_ERROR = 0,
[745]17 ERROR_PARAMS = 1,
18 FILE_NOT_FOUND = 2,
[750]19 ELEMENT_NOT_SPECIFIED = 3,
20 ELEMENT_NOT_FOUND = 4,
[710]21 // 20-199 General application errors
[750]22 BACKUPS_ALREADY_EXISTS = 20,
[710]23 NUMBER_VALUES_TO_REPLACE_NE_AVAILABLE_VALUES = 21,
[750]24 INVALID_POSITIONS_RANGE = 22,
[710]25 // 200-299 Patch operations errors
26 PATCH_ADDTO_PROCESS_ERROR = 200,
27 PATCH_REMOVE_PROCESS_ERROR = 201,
[750]28 PATCH_COMMAND_PROCESS_ERROR = 202,
29 PATCH_ELEMENT_NOT_FOUND = 203,
30 PATCH_ADDTO_ERROR_PARSING_XML = 204,
[874]31 PATCH_COMMAND_NOT_FOUND = 205,
32 PATCH_CODE_PROCESS_ERROR=206,
33 PATCH_CODE_NOT_FOUND=207,
34 PATCH_CODE_PARSE_XML_OUTPUT_ERROR=208,
[710]35 }
36
[750]37 public static void printAppError(appErrors error, string description, bool exitApp = false)
38 {
39 Console.Error.WriteLine("Error Code: " + (int)error);
[710]40 Console.Error.WriteLine(description);
[745]41
[710]42 if (exitApp)
43 {
44 Environment.Exit(1);
45 }
[745]46 lastError = error;
[710]47 }
48
[745]49 public static int Main(string[] args)
[710]50 {
[874]51
[710]52 try
53 {
54 //We use a command parse library due to its advantages
[750]55 appErrors result = (appErrors)CLAP.Parser.RunConsole<ParametersParser>(args);
56 if (result != appErrors.NO_ERROR)
57 {
58 lastError = result;
59 }
[745]60 return (int)lastError;
[710]61 }
62 catch (Exception e)
63 {
64 printAppError(appErrors.ERROR_PARAMS, "Error processing parameters:\n" + e.ToString());
[745]65 return (int)appErrors.ERROR_PARAMS;
[710]66 }
67 }
68 }
69}
Note: See TracBrowser for help on using the repository browser.