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); }
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); }
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); } } } } }
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); } }
public void AddMsg(CmdMessage msg) { _msgQueue.Enqueue(msg); }
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); } }
private void HandleControlMessage(CmdMessage cmdMsg) { this.controlCommand.Receive(cmdMsg); }
public override void OnCommandResult(Context context, CmdMessage cmdMessage) { Log.Error(TAG, "[onCommandResult] " + cmdMessage); }
public void Cmd(string cmd) { var msg = new CmdMessage(cmd); _trunkBeat.AddMsg(msg); }
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); }