public Msg1RecoveryExample() { d_port = 8194; d_hosts = new ArrayList(); d_startType = SERIAL; d_startSerial = 0; d_endType = TIME; d_endTime = new Datetime(DateTime.Now); d_filter = FilterChoiceType.LAST_UPDATE_ONLY; d_eid = 0; d_eidProvided = false; d_requestType = STATUS_INFO; d_authOption = "LOGON"; d_dsName = ""; d_name = ""; }
private bool parseCommandLine(string[] args) { for (int i = 0; i < args.Length; ++i) { if (string.Compare(args[i], "-s", true) == 0 && i + 1 < args.Length) { d_requestType = REPLAY; int startSerial = 0; string startArg = args[++i]; if (int.TryParse(startArg, out startSerial)) { d_startType = SERIAL; d_startSerial = startSerial; } else { try { d_startTime = new Datetime(Convert.ToDateTime(startArg)); d_startType = TIME; } catch (FormatException) { Console.WriteLine("Error: '{0}' is not in the proper Datetime format.", startArg); printUsage(); return(false); } } } else if (string.Compare(args[i], "-e", true) == 0 && i + 1 < args.Length) { d_requestType = REPLAY; int endSerial = 0; string endArg = args[++i]; if (int.TryParse(endArg, out endSerial)) { d_endType = SERIAL; d_endSerial = endSerial; } else { try { d_endTime = new Datetime(Convert.ToDateTime(endArg)); d_endType = TIME; } catch (FormatException) { Console.WriteLine("Error: '{0}' is not in the proper Datetime format.", endArg); printUsage(); return(false); } } } else if (string.Compare(args[i], "-f", true) == 0 && i + 1 < args.Length) { d_requestType = REPLAY; string filter = args[++i]; try { d_filter = (FilterChoiceType)Enum.Parse(d_filter.GetType(), filter, true); } catch (ArgumentException) { Console.WriteLine("Error: '{0}' is not a supported filter type.", filter); printUsage(); return(false); } } else if (string.Compare(args[i], "-eid") == 0 && i + 1 < args.Length) { string eidArg = args[++i]; if (int.TryParse(eidArg, out d_eid)) { d_eidProvided = true; } else { Console.WriteLine("Error: '{0}' is not an integer", eidArg); printUsage(); return(false); } } else if (string.Compare(args[i], "-ip", true) == 0 && i + 1 < args.Length) { d_hosts.Add(args[++i]); } else if (string.Compare(args[i], "-p", true) == 0 && i + 1 < args.Length) { int outPort = 0; if (int.TryParse(args[++i], out outPort)) { d_port = outPort; } } else if (string.Compare("-auth", args[i], true) == 0 && i + 1 < args.Length) { d_authOption = args[++i].Trim(); } else if (string.Compare("-ds", args[i], true) == 0 && i + 1 < args.Length) { d_dsName = args[++i].Trim(); } else if (string.Compare("-n", args[i], true) == 0 && i + 1 < args.Length) { d_name = args[++i].Trim(); } else if (string.Compare(args[i], "-h", true) == 0) { printUsage(); return(false); } else { Console.WriteLine("Error: unknown argument '{0}'", args[i]); printUsage(); return(false); } } // check for application name if ((d_authOption == "APPLICATION" || d_authOption == "USER_APP") && (d_name == "")) { System.Console.WriteLine("Application name cannot be NULL for application authorization."); printUsage(); return(false); } if (d_authOption == "USER_DS_APP" && (d_name == "" || d_dsName == "")) { System.Console.WriteLine("Application or DS name cannot be NULL for application authorization."); printUsage(); return(false); } // check for Directory Service name if ((d_authOption == "DIRSVC") && (d_dsName == "")) { System.Console.WriteLine("Directory Service property name cannot be NULL for DIRSVC authorization."); printUsage(); return(false); } // handle default arguments if (d_hosts.Count == 0) { d_hosts.Add("localhost"); } return(true); }