예제 #1
0
 public string Execute(string[] args, out bool result)
 {
     /* try
      * {
      *   string s = this.m_modal.GetAllLogs(out result);
      *   return s;
      * }
      * catch (Exception e)
      * {
      *   result = false;
      *   return null;
      * }
      * }*/
     try
     {
         StringBuilder sb = new StringBuilder();
         foreach (MessageRecievedEventArgs item in m_logger.LogsList)
         {
             sb.Append(item.ToJson() + " ; ");
         }
         result = true;
         string[] arguments = new string[1];
         arguments[0] = sb.ToString();
         CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.LogCommand, arguments, null);
         return(c.ToJson());
     }
     catch (Exception e)
     {
         result = false;
         return(e.ToString());
     }
 }
예제 #2
0
        /// <summary>
        /// Notify for new log entry
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="m"></param>
        public void NewLogEntry(object sender, MessageRecievedEventArgs m)
        {
            if (clientsReadyForNewLogs.Keys.Count == 0)
            {
                return;
            }
            string[] args = new string[1];
            args[0] = m.ToJson();
            CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.NewLogEntryCommand, args, null);

            new Task(() =>
            {
                foreach (TcpClient client in clientsReadyForNewLogs.Keys)
                {
                    if (client.Connected)
                    {
                        if (clientsReadyForNewLogs[client])
                        {
                            MutexedWriter(client, c.ToJson());
                        }
                    }
                    else
                    {
                        clientsReadyForNewLogs.Remove(client);
                    }
                }
            }).Start();
        }
예제 #3
0
        private void M_logger_MessageRecieved(object sender, MessageRecievedEventArgs e)
        {
            string[] arguments = new string[1];
            arguments[0] = e.ToJson();
            CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.LogCommand, arguments, null);

            GUIServer.Instance.Write(c.ToJson());
        }
예제 #4
0
 public void SendCloseCommandToService()
 {
     if (IsConnected)
     {
         //Need to restart the log list
         CommandRecievedEventArgs command = new CommandRecievedEventArgs((int)CommandEnum.WindowClosedCommand, null, null);
         client.Write(command.ToJson());
     }
 }
예제 #5
0
 public string Execute(string[] args, out bool result)
 {
     try
     {
         SettingsObject settings  = SettingsObject.GetInstance;
         string[]       arguments = new string[1];
         arguments[0] = settings.ToJson();
         CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.GetConfigCommand, arguments, null);
         result = true;
         return(c.ToJson());
     }
     catch (Exception e)
     {
         result = false;
         return(e.ToString());
     }
 }
예제 #6
0
 /// <summary>
 /// Execute the Last log command.
 /// </summary>
 /// <param name="args">The argument that we want to log</param>
 /// <param name="result"> True if we succeed the excute</param>
 /// <returns>string of the log.</returns>
 public string Execute(string[] args, out bool result)
 {
     try
     {
         StringBuilder sb   = new StringBuilder();
         int           size = m_logger.LogsList.Count;
         sb.Append(m_logger.LogsList[size - 1].ToJson() + " ; ");
         result = true;
         string[] arguments = new string[1];
         arguments[0] = sb.ToString();
         CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.LogCommand, arguments, null);
         return(c.ToJson());
     }
     catch (Exception e)
     {
         result = false;
         return(e.ToString());
     }
 }
예제 #7
0
 /// <summary>
 /// Execute the command.
 /// </summary>
 /// <param name="args"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 public string Execute(string[] args, out bool result)
 {
     try {
         string[]      logs    = new string[1];
         StringBuilder builder = new StringBuilder();
         foreach (LogMessage tempLog in this.loggingService.Logger)
         {
             builder.Append(tempLog.ToJson());
             builder.Append('|');
         }
         logs[0] = builder.ToString();
         CommandRecievedEventArgs commandLog = new CommandRecievedEventArgs((int)CommandEnum.LogCommand, logs, null);
         result = true;
         return(commandLog.ToJson().ToString().Replace(Environment.NewLine, " "));
     } catch {
         result = false;
         return("LogCommand execute Failed!");
     }
 }
예제 #8
0
 public string Execute(string[] args, out bool result)
 {
     try
     {
         string         path     = args[0];
         SettingsObject settings = SettingsObject.GetInstance;
         result = settings.RemoveHandler(path);
         string[] arguments = new string[1];
         arguments[0] = settings.Handlers;
         //Remove handler from app config!
         CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.CloseCommand, arguments, null);
         return(c.ToJson());
     }
     catch (Exception e)
     {
         result = false;
         return(e.ToString());
     }
 }
예제 #9
0
 public string Execute(string[] args, out bool result)
 {
     try
     {
         StringBuilder sb = new StringBuilder();
         foreach (MessageRecievedEventArgs item in m_logging.LogList)
         {
             sb.Append(item.ToJson() + " ; ");
         }
         result = true;
         string[] arguments = new string[1];
         arguments[0] = sb.ToString();
         CommandRecievedEventArgs c = new CommandRecievedEventArgs((int)CommandEnum.LogCommand, arguments, null);
         return(c.ToJson());
     }
     catch (Exception e)
     {
         result = false;
         return(e.ToString());
     }
 }
예제 #10
0
 public void SendCommandToService(CommandRecievedEventArgs e)
 {
     m_client.Send(e.ToJson());
 }
예제 #11
0
 public void SendCommandToService(CommandRecievedEventArgs command)
 {
     m_client.Write(command.ToJson());
 }