public virtual BaseCommand <C> GetCommand(CmdTrigger <C> trigger) { int position = trigger.Text.Position; BaseCommand <C> baseCommand; string alias; if (trigger.selectedCmd != null && (BaseCommand <C> .SubCommand)(baseCommand = trigger.selectedCmd.SelectSubCommand(trigger.Text)) != null) { alias = trigger.selectedCmd.Aliases[0]; } else { trigger.Text.Position = position; alias = trigger.Text.NextWord(); baseCommand = Get(alias); } trigger.Alias = alias; if (baseCommand != null) { return(baseCommand); } UnknownCommandHandler unknownCommand = UnknownCommand; if (unknownCommand != null) { unknownCommand(trigger); } return(null); }
public DeviceManagerConsoleApplication( ListElectricMetersCommandHandler listElectricMetersCommandHandler, ListWaterMeterCommandHandler listWaterMeterCommandHandler, ListGatewayCommandHandler listGatewayCommandHandler, RegisterGatewayCommandHandler registerGatewayProcessor, RegisterElectricMeterCommandHandler registerElectricMeterCommandHandler, RegisterWaterMeterCommandHandler registerWaterMeterCommandHandler, HelpCommandHandler helpCommandHandler, UnknownCommandHandler unknownCommandHandler ) { _listElectricMetersCommandHandler = listElectricMetersCommandHandler; _listWaterMeterCommandHandler = listWaterMeterCommandHandler; _listGatewayCommandHandler = listGatewayCommandHandler; _registerGatewayProcessor = registerGatewayProcessor; _registerElectricMeterCommandHandler = registerElectricMeterCommandHandler; _registerWaterMeterCommandHandler = registerWaterMeterCommandHandler; _helpCommandHandler = helpCommandHandler; _unknownCommandHandler = unknownCommandHandler; ApplicationState = new ApplicationState(); }