/////////////////////////////////////////////////////////////////////// public virtual ReturnCode AddOrUpdateSubCommand( string name, ISubCommand subCommand, IClientData clientData, SubCommandFlags flags, ref Result error ) { error = "not implemented"; return(ReturnCode.Error); }
/////////////////////////////////////////////////////////////////////// private ArgumentList GetArgumentsForExecute( ArgumentList arguments ) { SubCommandFlags subCommandFlags = this.Flags; if (FlagOps.HasFlags(subCommandFlags, SubCommandFlags.UseExecuteArguments, true)) { return(arguments); } return(null); }
/////////////////////////////////////////////////////////////////////// public static bool HasFlags( SubCommandFlags flags, SubCommandFlags hasFlags, bool all ) { if (all) { return((flags & hasFlags) == hasFlags); } else { return((flags & hasFlags) != SubCommandFlags.None); } }
/////////////////////////////////////////////////////////////////////// public virtual ReturnCode AddOrUpdateSubCommand( string name, ISubCommand subCommand, IClientData clientData, SubCommandFlags flags, ref Result error ) { if (name == null) { error = "invalid sub-command name"; return(ReturnCode.Error); } EnsembleDictionary subCommands = this.SubCommands; if (subCommands == null) { error = "sub-commands not available"; return(ReturnCode.Error); } if ((subCommand == null) && FlagOps.HasFlags(flags, SubCommandFlags.Core, true)) { subCommand = GetCoreSubCommand(); } subCommands[name] = subCommand; if (subCommand != null) { EnsembleDictionary subSubCommands = subCommand.SubCommands; if (subSubCommands != null) { subSubCommands[name] = subCommand; } } return(ReturnCode.Ok); }
public SubCommandData( string name, string group, string description, IClientData clientData, string typeName, CommandFlags commandFlags, SubCommandFlags subCommandFlags, ICommand command, long token ) { this.kind = IdentifierKind.SubCommandData; this.id = AttributeOps.GetObjectId(this); this.name = name; this.group = group; this.description = description; this.clientData = clientData; this.typeName = typeName; this.commandFlags = commandFlags; this.subCommandFlags = subCommandFlags; this.command = command; this.token = token; }