private void OnConfigurationsReceived(object sender, ConfigurationReceivedEventArgs e) { SettingsInfo settingsInfo = SettingsInfo.FromJson(e.Args); OutputDirectory = settingsInfo.OutputDirectory; lock (_lock) { Monitor.Pulse(_lock); } }
/// <summary> /// Parse the msg recieved from the server. /// </summary> /// <param name="msg">The message to parse.</param> public void ParseMessage(string msg) { string[] parameters = msg.Split('|'); CommandEnum command = (CommandEnum)Enum.Parse(typeof(CommandEnum), parameters[0]); switch (command) { case CommandEnum.NewLogCommand: Log(parameters[1], (EventLogEntryType)Enum.Parse(typeof(EventLogEntryType), parameters[2])); break; case CommandEnum.CloseDirectoryHandlerCommand: DirectoryHandlerClosedEventArgs dhceArgs = new DirectoryHandlerClosedEventArgs(parameters[1], "hmm"); DirectoryHandlerRemoved?.Invoke(this, dhceArgs); break; case CommandEnum.NewFileCommand: break; case CommandEnum.ConfigCommand: ConfigurationReceivedEventArgs creArgs = new ConfigurationReceivedEventArgs(parameters[1]); ConfigurationReceived?.Invoke(this, creArgs); break; case CommandEnum.LogHistoryCommand: string jsonMsg = msg.Replace(CommandEnum.LogHistoryCommand + "|", ""); JObject logHistoryJson = JObject.Parse(jsonMsg); List <Tuple <string, EventLogEntryType> > entries = logHistoryJson["LOGS"].ToObject <List <Tuple <string, EventLogEntryType> > >(); foreach (Tuple <string, EventLogEntryType> logEntry in entries) { Log(logEntry.Item1, logEntry.Item2); } LogHistoryMessageRecieved?.Invoke(this, null); break; default: throw new ArgumentOutOfRangeException(); } }