/// <summary> /// Handle gotten remove-handler from server /// </summary> /// <param name="sender">server</param> /// <param name="message">config</param> public void HandleRemoveMessage(object sender, TCPEventArgs message) { try { Listhandlers.Remove(message.Args); } catch (Exception) { } }
/// <summary> /// Update properties according to the config from server /// </summary> /// <param name="config">The config that had gotten from server</param> public void UpdateAppConfig(TCPEventArgs config) { string information = config.Args; JObject manager = JObject.Parse(information); string str = (string)manager["handlerPaths"]; List <string> str2 = JsonConvert.DeserializeObject <List <string> >(str); ThumbnailSize = (manager["thumbnailSize"]).ToString(); OutputDirectory = (string)manager["outputDir"]; LogName = (string)manager["logName"]; SourceName = (string)manager["eventSourceName"]; //This type of CollectionView does not support changes to its SourceCollection //from a thread different from the Dispatcher thread. App.Current.Dispatcher.Invoke(new Action(() => { foreach (string handler in str2) { Listhandlers.Add(handler); } })); }
/// <summary> /// Update properties according to the config from server /// </summary> /// <param name="config">The config that had gotten from server</param> public void UpdateAppConfig(TCPEventArgs config) { try { string information = config.Args; JObject manager = JObject.Parse(information); string str = (string)manager["handlerPaths"]; List <string> str2 = JsonConvert.DeserializeObject <List <string> >(str); ThumbnailSize = (manager["thumbnailSize"]).ToString(); OutputDirectory = (string)manager["outputDir"]; LogName = (string)manager["logName"]; SourceName = (string)manager["eventSourceName"]; foreach (string handler in str2) { Listhandlers.Add(handler); } alreadyGotConfig = true; } catch { } }
/// <summary> /// Handle massage from server (not log message) /// </summary> /// <param name="sender">server</param> /// <param name="e">params</param> public void HandleMessage(object sender, TCPEventArgs message) { int commandId = message.CommandID; Console.WriteLine("Id: " + message.CommandID); Console.WriteLine("Path: " + message.Args); try { switch (commandId) { case (int)CommandEnum.CloseCommand: try { App.Current.Dispatcher.Invoke(new Action(() => { Listhandlers.Remove(message.Args); })); } catch (Exception e) { Console.WriteLine(e.Data); Console.WriteLine("Couldn't remove handler " + message.Args); } break; case (int)CommandEnum.GetConfigCommand: UpdateAppConfig(message); break; default: break; } } catch (Exception e) { Console.WriteLine(e.Message); } }