예제 #1
0
        /// <summary>
        /// Executes the command line.
        /// </summary>
        /// <param name="cmdline">The command line to execute. That's the alias and the arguments (which are not mandatory)</param>
        public ExecutionResult Execute(string cmdline, long sessionId)
        {
            var cmd = _resolver.Split(cmdline, sessionId);

            var alias = _databaseService.GetAlias(cmd.Command, sessionId);

            alias = _resolver.Resolve(alias, cmd.Parameters);

            if (_pluginManager.Exists(alias.Name))
            {
                _pluginManager.Execute(cmd);
                return(ExecutionResult.SuccesShow);;
            }
            else if (_macroRunner.Exists(alias.FileName))
            {
                _macroRunner.Execute(alias);
                return(ExecutionResult.SuccessHide);
            }
            else
            {
                return(_cmdRunner.Execute(alias));
            }
        }