Changeset 2227 for trunk/eraser/Eraser/Program.cs
- Timestamp:
- 8/4/2010 1:09:55 AM (22 months ago)
- File:
-
- 1 edited
-
trunk/eraser/Eraser/Program.cs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/eraser/Eraser/Program.cs
r2221 r2227 294 294 where action is 295 295 help Show this help message. 296 addtask Adds tasksto the current task list.296 addtask Adds a task to the current task list. 297 297 querymethods Lists all registered Erasure methods. 298 298 importtasklist Imports an Eraser Task list to the current user's Task … … 422 422 foreach (string argument in arguments.PositionalArguments) 423 423 { 424 bool processed = false; 424 ErasureTarget selectedTarget = null; 425 426 //Iterate over every defined erasure target 425 427 foreach (ErasureTarget target in ManagerLibrary.Instance.ErasureTargetRegistrar) 426 if (target.Configurer.ProcessArgument(argument)) 428 { 429 //See if this argument can be handled by the target's configurer 430 IErasureTargetConfigurer configurer = target.Configurer; 431 if (configurer.ProcessArgument(argument)) 427 432 { 428 target.Method = method; 429 task.Targets.Add(target); 430 processed = true; 431 break; 433 //Check whether a target has been set (implicitly: check whether two 434 //configurers can process the argument) 435 if (selectedTarget == null) 436 { 437 configurer.SaveTo(target); 438 selectedTarget = target; 439 } 440 else 441 { 442 //Yes, it is an ambiguity. Throw an error. 443 throw new InvalidOperationException("Ambiguous argument: {0} can be " + 444 "handled by more than one erasure target."); 445 } 432 446 } 433 434 if (!processed) 447 } 448 449 //Check whether a target has been made from parsing the entry. 450 if (selectedTarget == null) 435 451 { 436 452 Console.WriteLine(S._("Unknown argument: {0}, skipped.", argument)); 437 continue; 453 } 454 else 455 { 456 selectedTarget.Method = method; 457 task.Targets.Add(selectedTarget); 438 458 } 439 459 }
Note: See TracChangeset
for help on using the changeset viewer.
