Exemple #1
0
        ///////////////////////////////////////////////////////////////////////

        public virtual ReturnCode AddOrUpdateSubCommand(
            string name,
            ISubCommand subCommand,
            IClientData clientData,
            SubCommandFlags flags,
            ref Result error
            )
        {
            error = "not implemented";
            return(ReturnCode.Error);
        }
Exemple #2
0
        ///////////////////////////////////////////////////////////////////////

        private ArgumentList GetArgumentsForExecute(
            ArgumentList arguments
            )
        {
            SubCommandFlags subCommandFlags = this.Flags;

            if (FlagOps.HasFlags(subCommandFlags,
                                 SubCommandFlags.UseExecuteArguments, true))
            {
                return(arguments);
            }

            return(null);
        }
Exemple #3
0
        ///////////////////////////////////////////////////////////////////////

        public static bool HasFlags(
            SubCommandFlags flags,
            SubCommandFlags hasFlags,
            bool all
            )
        {
            if (all)
            {
                return((flags & hasFlags) == hasFlags);
            }
            else
            {
                return((flags & hasFlags) != SubCommandFlags.None);
            }
        }
Exemple #4
0
        ///////////////////////////////////////////////////////////////////////

        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);
        }
Exemple #5
0
 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;
 }