private static void Handle_Personal ( Shell Dispatch, string[] args, int index) { Personal Options = new Personal (); var Registry = new Goedel.Registry.Registry (); Options.Portal.Register ("portal", Registry, (int) TagType_Personal.Portal); Options.Description.Register ("pd", Registry, (int) TagType_Personal.Description); Options.Verbose.Register ("verbose", Registry, (int) TagType_Personal.Verbose); Options.Report.Register ("report", Registry, (int) TagType_Personal.Report); Options.DeviceNew.Register ("new", Registry, (int) TagType_Personal.DeviceNew); Options.DeviceUDF.Register ("dudf", Registry, (int) TagType_Personal.DeviceUDF); Options.DeviceID.Register ("did", Registry, (int) TagType_Personal.DeviceID); Options.DeviceDescription.Register ("dd", Registry, (int) TagType_Personal.DeviceDescription); // looking for parameter Param.Name} if (index < args.Length && !IsFlag (args [index][0] )) { // Have got the parameter, call the parameter value method Options.Portal.Parameter (args [index]); index++; } // looking for parameter Param.Name} if (index < args.Length && !IsFlag (args [index][0] )) { // Have got the parameter, call the parameter value method Options.Description.Parameter (args [index]); index++; } #pragma warning disable 162 for (int i = index; i< args.Length; i++) { if (!IsFlag (args [i][0] )) { throw new System.Exception ("Unexpected parameter: " + args[i]);} string Rest = args [i].Substring (1); TagType_Personal TagType = (TagType_Personal) Registry.Find (Rest); // here have the cases for what to do with it. switch (TagType) { case TagType_Personal.Verbose : { int OptionParams = Options.Verbose.Tag (Rest); if (OptionParams>0 && ((i+1) < args.Length)) { if (!IsFlag (args [i+1][0] )) { i++; Options.Verbose.Parameter (args[i]); } } break; } case TagType_Personal.Report : { int OptionParams = Options.Report.Tag (Rest); if (OptionParams>0 && ((i+1) < args.Length)) { if (!IsFlag (args [i+1][0] )) { i++; Options.Report.Parameter (args[i]); } } break; } case TagType_Personal.DeviceNew : { int OptionParams = Options.DeviceNew.Tag (Rest); if (OptionParams>0 && ((i+1) < args.Length)) { if (!IsFlag (args [i+1][0] )) { i++; Options.DeviceNew.Parameter (args[i]); } } break; } case TagType_Personal.DeviceUDF : { int OptionParams = Options.DeviceUDF.Tag (Rest); if (OptionParams>0 && ((i+1) < args.Length)) { if (!IsFlag (args [i+1][0] )) { i++; Options.DeviceUDF.Parameter (args[i]); } } break; } case TagType_Personal.DeviceID : { int OptionParams = Options.DeviceID.Tag (Rest); if (OptionParams>0 && ((i+1) < args.Length)) { if (!IsFlag (args [i+1][0] )) { i++; Options.DeviceID.Parameter (args[i]); } } break; } case TagType_Personal.DeviceDescription : { int OptionParams = Options.DeviceDescription.Tag (Rest); if (OptionParams>0 && ((i+1) < args.Length)) { if (!IsFlag (args [i+1][0] )) { i++; Options.DeviceDescription.Parameter (args[i]); } } break; } default : throw new System.Exception ("Internal error"); } } #pragma warning restore 162 Dispatch.Personal (Options); }