示例#1
0
 /// <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) { }
 }
示例#2
0
        /// <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);
                }
            }));
        }
示例#3
0
        /// <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
            {
            }
        }
示例#4
0
        /// <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);
            }
        }