Example #1
0
        // Process Messages Received
        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    if (msg.contain_key("command"))
                    {
                        string msgId = msg.value("command");
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                        else
                        {
                            update_status("Invalid message!");
                        }
                    }
                }
            };

            recv = new Thread(thrdProc);
            recv.IsBackground = true;
            recv.Start();
        }
Example #2
0
 // Update test result
 private void handle_result(CsMessage msg)
 {
     new Thread(() =>
     {
         this.Dispatcher.Invoke(new Action(() =>
         {
             //Display test results in GUI
             string result_info = "";
             result_info        = "Name: ";
             if (msg.contain_key("name"))
             {
                 result_info += msg.value("name");
             }
             result_info += "\nAuthor: ";
             if (msg.contain_key("author"))
             {
                 result_info += msg.value("author");
             }
             result_info += "\nTime: ";
             if (msg.contain_key("time"))
             {
                 result_info += msg.value("time");
             }
             result_info += "\nLibrary: ";
             if (msg.contain_key("dll"))
             {
                 result_info += msg.value("dll");
             }
             result_info += "\nResult: ";
             if (msg.contain_key("result"))
             {
                 result_info += msg.value("result");
             }
             result.Items.Add(result_info);
         }));
     }).Start();
 }