Пример #1
0
        private void ProcessSynchronizingEvents(WinWrap.Basic.BasicNoUIObj basicNoUIObj)
        {
            string commands = commands_.ReadAll();

            if (!string.IsNullOrEmpty(commands))
            {
                timelimit_ = DateTime.Now + new TimeSpan(0, 0, 10); // timeout in ten seconds
                string[] commands2 = commands.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string command in commands2)
                {
                    string[] parts = command.Split(new char[] { ' ' }, 2);
                    int      id    = int.Parse(parts[0]);
                    string   param = Encoding.UTF8.GetString(Convert.FromBase64String(parts[1]));
                    basicNoUIObj.Synchronize(param, id);
                }
            }
        }
Пример #2
0
 void basicNoUIObj_DoEvents(object sender, EventArgs e)
 {
     WinWrap.Basic.BasicNoUIObj basicNoUIObj = sender as WinWrap.Basic.BasicNoUIObj;
     if (basicNoUIObj.Synchronized)
     {
         conns_.ForEachConnection(conn =>
         {
             string[] commands = conn.GetReceviedData("\r\n");
             foreach (string command in commands)
             {
                 string param = Encoding.UTF8.GetString(Convert.FromBase64String(command));
                 basicNoUIObj.Synchronize(param, conn.Id);
             }
         });
     }
     else if (DateTime.Now >= timelimit_)
     {
         timedout_ = true;
         // time timelimit has been reached, terminate the script
         basicNoUIObj.Run = false;
     }
 }