Ejemplo n.º 1
0
        public Message SendServerCommand(Server.CommandName cmd, List <Object> cmdParams)
        {
            var command = new Message();

            command.Type    = MessageType.COMMAND;
            command.SubType = (int)cmd;
            command.Target  = ServerID;

            //now add in extra params
            switch (cmd)
            {
            case Server.CommandName.SET_TRACE_LEVEL:
                if (cmdParams.Count < 2)
                {
                    throw new Exception("Please supply a listener name and trace level");
                }

                command.AddValue("Listener", cmdParams[0].ToString());
                command.AddValue("TraceLevel", (int)cmdParams[1]);
                break;

            case Server.CommandName.RESTORE_TRACE_LEVEL:
                if (cmdParams.Count < 1)
                {
                    throw new Exception("Please supply a listener name");
                }

                command.AddValue("Listener", cmdParams[0].ToString());
                break;

            case Server.CommandName.ECHO_TRACE_TO_CLIENT:
                if (cmdParams.Count < 1)
                {
                    throw new Exception("Please supply something to echo");
                }

                command.Value = (String)cmdParams[0];
                break;

            case Server.CommandName.CLOSE_CONNECTION:
                if (cmdParams.Count < 1)
                {
                    throw new Exception("Please supply connection ID");
                }
                command.AddValue("ConnectionID", cmdParams[0].ToString());
                break;
            }

            SendMessage(command);

            return(command);
        }
Ejemplo n.º 2
0
        private void SendServerCommand()
        {
            try
            {
                var client = appCtx.CurrentClient;
                if (cmbServerCommands.SelectedIndex == -1)
                {
                    throw new Exception("Please select a command");
                }
                var s = cmbServerCommands.SelectedItem;
                Server.CommandName scmd = (Server.CommandName)Enum.Parse(typeof(Server.CommandName), s.ToString());
                List <Object>      args = new List <object>();
                switch (scmd)
                {
                case Server.CommandName.CLOSE_CONNECTION:
                    if (listViewServerConnections.SelectedItems.Count > 0)
                    {
                        args.Add(listViewServerConnections.SelectedItems[0].Name);
                    }
                    else
                    {
                        throw new Exception("Please select a connection");
                    }
                    break;

                default:
                    args = tbServerCommandLine.Text.Split(' ').ToList <Object>();
                    break;
                }

                ServerCommandSent = client.SendServerCommand(scmd, args);
            } catch (Exception e)
            {
                HandleException(e);
            }
        }
Ejemplo n.º 3
0
 public Message SendServerCommand(Server.CommandName cmd, params Object[] cmdParams)
 {
     return(SendServerCommand(cmd, cmdParams.ToList()));
 }
Ejemplo n.º 4
0
 public Command(Server.CommandName commandName, params string[] options) : this(commandName.ToString(), options)
 {
 }