Beispiel #1
0
        static int Main(string[] args)
        {
            var cmdParam = new CmdParam(args);

            if (cmdParam.ContainsUasgeParam())
            {
                Console.WriteLine(CmdMessage.GetUsage());
            }
            else if (cmdParam.IsError())
            {
                Console.WriteLine(CmdMessage.GetUsageErrorPrompt());
                return(Error);
            }
            else
            {
                ShowCurrentDirectory();
                var cmdEntry = new CmdEntry(cmdParam);
                foreach (var line in cmdEntry.GetExecuteResult())
                {
                    Console.WriteLine(line);
                }
            }

            return(Success);
        }
Beispiel #2
0
    public override CmdMessage ProcessDefault()
    {
        CmdMessage message = new CmdMessage();

        message.AddLineBreak();
        message.AddLine("Command Help Menu", CMStyle.Confirm);
        foreach (ICommand command in ConsoleCommands.Commands)
        {
            message.AddLine(new CMLine(command.Name, CMStyle.Emphasis));
            message.AddLine(new CMLine(command.Description));
        }
        return(message);
    }
    public override CmdMessage ProcessArgs(string parameter, List <string> args)
    {
        CmdMessage message = new CmdMessage();

        foreach (GameObject obj in GameObject.FindGameObjectsWithTag("Player"))
        {
            obj.GetComponent <Rigidbody>().useGravity = parameter.Parse <bool>();
        }
        message.AddLine(new CMLine()
        {
            { "Set gravity to ", CMStyle.Default },
            { parameter.Parse <bool>().ToString(), CMStyle.Emphasis }
        });
        return(message);
    }
Beispiel #4
0
        private static NetMQMessage GetMessage(CmdMessage cmd)
        {
            MemoryStream    ms        = new MemoryStream();
            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(ms, cmd);
            byte[] data = ms.ToArray();
            ms.Close();

            //订阅标识
            NetMQMessage msg = new NetMQMessage();

            msg.Append(new NetMQFrame(cmd.target));
            msg.Append(new NetMQFrame(data));
            return(msg);
        }
        public void connect()
        {
            //string endpoint = "tcp://127.0.0.1:5561";
            //using (NetMQContext context = NetMQContext.Create())
            //using (NetMQ.Sockets.SubscriberSocket responder = context.CreateSubscriberSocket())
            //{
            //    responder.Connect(endpoint);
            //    responder.Subscribe("hello");
            //    while (true)
            //    {
            //        string msg = responder.ReceiveString();

            //        Console.WriteLine(msg);
            //        Thread.Sleep(500);
            //    }
            //}

            string name     = AppDomain.CurrentDomain.FriendlyName;
            string endpoint = ConfigurationManager.AppSettings["pubAdress"];

            //using (context = NetMQContext.Create())
            using (responder = new NetMQ.Sockets.SubscriberSocket())
            {
                responder.Connect(endpoint);
                responder.Subscribe(this.target);
                while (true)
                {
                    NetMQMessage msgList = responder.ReceiveMultipartMessage();
                    if (msgList.Count() > 1)
                    {
                        var             body = msgList[1];
                        byte[]          data = body.ToByteArray();
                        MemoryStream    ms   = new MemoryStream(data);
                        BinaryFormatter bf   = new BinaryFormatter();
                        CmdMessage      cmd  = (CmdMessage)bf.Deserialize(ms);
                        ms.Close();
                        if (this.onReceive != null)
                        {
                            this.onReceive(cmd);
                        }
                    }
                }
            }
        }
Beispiel #6
0
    public override CmdMessage ProcessArgs(string parameter, List <string> args)
    {
        CmdMessage message = new CmdMessage();

        switch (parameter)
        {
        case "neg":
            message.AddLine("Param is 'neg'");
            break;

        case "bool":
            message.AddLine("Param is 'bool'");
            break;

        case "float":
            message.AddLine("Param is 'float'");
            // IParam<float> f = Parameters.First(x => x.Name == "float") as IParam<float>;
            // message.AddLine("f = " + f);
            // message.AddLine("10 + Float: " + (10 + (int)args[0]));
            break;
        }
        return(message);
    }
        public static int Main(string[] args)
        {
            var cmdParam = new CmdParam(args);

            if (cmdParam.ContainsUasgeParam())
            {
                Console.WriteLine(CmdMessage.GetUsage());
            }
            else if (Console.IsInputRedirected)
            {
                var cmdEntry = new CmdEntry(GetRedirectedInput(), cmdParam);
                foreach (var line in cmdEntry.GetExecuteResult())
                {
                    Console.WriteLine(line);
                }
            }
            else
            {
                Console.WriteLine(CmdMessage.GetUsageErrorPrompt());
                return(Error);
            }
            return(Success);
        }
        public void Receive(CmdMessage cmdMsg)
        {
            var cmd = cmdMsg.command;

            if (cmd == "start")
            {
                this.Log().Info("任务开始");
                this.Start();
            }
            else if (cmd == "stop")
            {
                this.Stop();
            }
            else if (cmd == "init")
            {
                this.Stop();
                this.Clear();

                UnLoadExcuter();

                var assembly = cmdMsg.Get("task_assembly");
                Loader.Instance.CreateTaskAssembly(assembly, cmdMsg.attachment);
            }
        }
Beispiel #9
0
 public void AddMsg(CmdMessage msg)
 {
     _msgQueue.Enqueue(msg);
 }
Beispiel #10
0
        private static IList <NetMQMessage> buildMessage(string cmdText)
        {
            IList <NetMQMessage> msgList = new List <NetMQMessage>();
            //target command -p aaa -f dddd -d
            var cmds    = cmdText.Split('-');
            var mainCmd = cmds[0].Trim().Split(' ');
            var target  = mainCmd[0];
            var command = mainCmd[1];


            CmdMessage cmd = new CmdMessage()
            {
                target  = target,
                command = command
            };

            for (int i = 1; i < cmds.Length; i++)
            {
                var p = cmds[i].Split(' ');
                cmd.Put(p[0], p[1]);
            }

            switch (cmd.command)
            {
            case "upload":

                if (string.IsNullOrEmpty(cmd.Get("assembly")))
                {
                    cmd.Put("assembly", "StockMan.Message.TaskInstance");
                }
                if (string.IsNullOrEmpty(cmd.Get("type")))
                {
                    cmd.Put("type", "StockMan.Message.TaskInstance.FirstTask");
                }
                //var assembly = cmd.Get("assembly");
                //var type = cmd.Get("type");
                //var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "tasks", assembly, type);

                //string[] files = Directory.GetFiles(path);
                //foreach (var file in files)
                //{
                //    if (File.Exists(file))
                //    {
                //        byte[] fileData = File.ReadAllBytes(file);
                //        cmd.PutAttachment(Path.GetFileName(file), fileData);
                //    }
                //}
                return(msgList);

            case "init":
                TaskService service   = new TaskService();
                var         taskList  = service.GetTaskList();
                var         assmeblys = taskList.Select(p => p.assembly).Distinct();
                foreach (var assembly in assmeblys)
                {
                    CmdMessage cmd0 = new CmdMessage()
                    {
                        target  = target,
                        command = command
                    };

                    for (int i = 1; i < cmds.Length; i++)
                    {
                        var p = cmds[i].Split(' ');
                        cmd0.Put(p[0], p[1]);
                    }
                    //cmd0.Put("task_code", task.code);
                    //cmd0.Put("task_type", task.type);
                    cmd0.Put("task_assembly", assembly);
                    var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "tasks", assembly);
                    if (Directory.Exists(path))
                    {
                        var dics = GetFiles(path);
                        foreach (var file in dics.Keys)
                        {
                            cmd0.PutAttachment(file.Replace(path + "\\", ""), dics[file]);
                        }

                        NetMQMessage msg0 = GetMessage(cmd0);
                        msgList.Add(msg0);
                    }
                }

                return(msgList);

            case "clear":
                MessageService msgService = new MessageService();
                msgService.RemoveAll();
                return(null);

                break;

            default:
                NetMQMessage msg = GetMessage(cmd);
                msgList.Add(msg);
                return(msgList);
            }
        }
Beispiel #11
0
 private void HandleControlMessage(CmdMessage cmdMsg)
 {
     this.controlCommand.Receive(cmdMsg);
 }
 public override void OnCommandResult(Context context, CmdMessage cmdMessage)
 {
     Log.Error(TAG, "[onCommandResult] " + cmdMessage);
 }
Beispiel #13
0
        public void Cmd(string cmd)
        {
            var msg = new CmdMessage(cmd);

            _trunkBeat.AddMsg(msg);
        }
Beispiel #14
0
        protected override bool _Execute(CommandRequest e)
        {
            string[]       args     = e.ArgumentList;
            ServerResponse response = ResponseHandler.NewOutputResponse;

            try
            {
                // 0
                if (args.Length <= 0)
                {
                    List <Issue> l = GetIssueList();

                    foreach (Issue o in l)
                    {
                        if (o.State == Issue.IssueState.NEW || o.State == Issue.IssueState.WORK)
                        {
                            response.AddData(CreateHtmlEntry(o));
                        }
                    }
                }
                // 3
                //PRIORITY
                else if (check(args, 3, "prio", "priority", "-p"))
                {
                    Issue o = GetObject(Int32.Parse(args[1]));
                    if (o != null)
                    {
                        o.Priority = Issue.GetPriority(args[2].ToLower().Trim());

                        response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: "));
                        response.AddData(CreateHtmlEntry(UpdateObject(o)));
                    }
                    else
                    {
                        response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!")));
                    }
                }
                // 2
                //ADD
                else if (check(args, 2, "add", "report"))
                {
                    List <Issue> l = GetIssueList();

                    string          desc      = Regex.Replace(e.ArgumentString.Substring(args[0].Length), "\\s+", " ").Trim();
                    string          highlight = "";
                    Issue.IssueType type      = Issue.IssueType.TODO;

                    //prio
                    Issue.IssuePriority prio = Issue.GetPriority(desc.ToLower().Trim().Substring(0, 1));

                    if (prio != Issue.IssuePriority.NORMAL)
                    {
                        desc = desc.Trim().Substring(1).Trim();
                    }

                    //heightlight (e.g. "[JS] ...")
                    if (desc.ToLower().StartsWith("[") && desc.ToLower().Contains("]"))
                    {
                        highlight = desc.Substring(0, desc.IndexOf("]") + 1).Trim();
                        desc      = desc.Substring(highlight.Length).Trim();
                    }

                    //bug
                    string b = e.Command.ToLower();
                    if (b.Contains("bug"))
                    {
                        type = Issue.IssueType.BUG;
                    }
                    if (desc.ToLower().StartsWith("bug:"))
                    {
                        type = Issue.IssueType.BUG;
                        desc = desc.Substring(4).Trim();
                    }
                    //add
                    if (desc.ToLower().StartsWith("add:"))
                    {
                        type = Issue.IssueType.ADD;
                        desc = desc.Substring(4).Trim();
                    }

                    Issue o = new Issue(type, String.Concat(highlight, " ", desc));
                    o.ID       = l[l.Count - 1].ID + 1;
                    o.State    = Issue.IssueState.NEW;
                    o.Priority = prio;

                    l.Add(o);
                    SaveIssueList(l);
                    response.AddData(HTML.CreateCssClassOutputLine("green", "Added: "));
                    response.AddData(CreateHtmlEntry(o));
                }
                //REMOVE
                else if (check(args, 2, "remove", "-rm"))
                {
                    List <Issue> l     = GetIssueList();
                    int          n     = Int32.Parse(args[1]);
                    bool         match = false;

                    foreach (Issue o in l)
                    {
                        if (o.ID == n)
                        {
                            match = true;
                            l.Remove(o);
                            response.AddData(HTML.CreateCssClassOutputLine("red", "Removed: "));
                            response.AddData(CreateHtmlEntry(o));
                            break;
                        }
                    }

                    if (match)
                    {
                        SaveIssueList(l);
                    }
                    else
                    {
                        response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!")));
                    }
                }
                //FIXED
                else if (check(args, 2, "fixed", "-f", "done"))
                {
                    Issue o = GetObject(Int32.Parse(args[1]));
                    if (o != null)
                    {
                        o.State = Issue.IssueState.DONE;
                        if (o.Type == Issue.IssueType.BUG)
                        {
                            o.State = Issue.IssueState.FIXED;
                        }

                        response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: "));
                        response.AddData(CreateHtmlEntry(UpdateObject(o)));
                    }
                    else
                    {
                        response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!")));
                    }
                }
                //INVALID
                else if (check(args, 2, "invalid", "-i"))
                {
                    Issue o = GetObject(Int32.Parse(args[1]));
                    if (o != null)
                    {
                        o.State = Issue.IssueState.INVALID;
                        response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: "));
                        response.AddData(CreateHtmlEntry(UpdateObject(o)));
                    }
                    else
                    {
                        response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!")));
                    }
                }
                //NEW
                else if (check(args, 2, "new", "-n"))
                {
                    Issue o = GetObject(Int32.Parse(args[1]));
                    if (o != null)
                    {
                        o.State = Issue.IssueState.NEW;
                        response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: "));
                        response.AddData(CreateHtmlEntry(UpdateObject(o)));
                    }
                    else
                    {
                        response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!")));
                    }
                }
                //IN PROGRESS
                else if (check(args, 2, "work", "assign", "-w", "-as"))
                {
                    Issue o = GetObject(Int32.Parse(args[1]));
                    if (o != null)
                    {
                        o.State = Issue.IssueState.WORK;
                        response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: "));
                        response.AddData(CreateHtmlEntry(UpdateObject(o)));
                    }
                    else
                    {
                        response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!")));
                    }
                }
                // 1
                //LIST
                else if (check(args, 1, "list"))
                {
                    List <Issue> l = GetIssueList();

                    List <Issue.IssueState> filters = new List <Issue.IssueState>();

                    if (args.Length >= 2)
                    {
                        for (int i = 1; i < args.Length; i++)
                        {
                            try
                            {
                                filters.Add((Issue.IssueState)Enum.Parse(typeof(Issue.IssueState), args[i], true));
                            }
                            catch { filters.Clear(); }
                        }
                    }

                    foreach (Issue o in l)
                    {
                        if (filters.Count <= 0)
                        {
                            response.AddData(CreateHtmlEntry(o));
                        }
                        foreach (Issue.IssueState filter in filters)
                        {
                            if (o.State == filter)
                            {
                                response.AddData(CreateHtmlEntry(o));
                            }
                        }
                    }
                }
                else
                {
                    PrintUsage(response);
                }
            }
            catch (Exception ex2)
            {
                PrintUsage(response);
                response.AddData("ERROR: ", ex2.ToString());
            }

            e.Source.Response.Send(response);

            return(true);
        }