Пример #1
0
        static void Main(string[] args)
        {
            Tools.TimingBase.TimeFromApplicationStartup();

            foreach (string arg in args)
            {
                GrblCore.WriteComLog = GrblCore.WriteComLog || arg == "comlog";
            }

            Logger.Start();
            GitHub.CleanupOldVersion();
            UsageStats.LoadFile();
            CustomButtons.LoadFile();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            System.Globalization.CultureInfo ci = (System.Globalization.CultureInfo)Settings.GetObject("User Language", null);
            if (ci != null)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
            }

            Tools.TaskScheduler.SetClockResolution(1);             //use a fast clock
            Application.Run(new MainForm());
            GrblEmulator.WebSocketEmulator.Stop();
            Autotrace.CleanupTmpFolder();
            Logger.Stop();
        }
Пример #2
0
        static void Main(string[] args)
        {
            ExceptionManager.RegisterHandler();
            Tools.TimingBase.TimeFromApplicationStartup();

            Logger.Start();
            GitHub.InitUpdate();
            UsageStats.LoadFile();
            CustomButtons.LoadFile();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            System.Globalization.CultureInfo ci = Settings.GetObject <System.Globalization.CultureInfo>("User Language", null);
            if (ci != null)
            {
                Thread.CurrentThread.CurrentUICulture = ci;
            }
            Tools.TaskScheduler.SetClockResolution(1);             //use a fast clock
            //Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new MainForm(args));

            GrblEmulator.WebSocketEmulator.Stop();
            Autotrace.CleanupTmpFolder();

            ComWrapper.ComLogger.StopLog();
            Logger.Stop();
        }
Пример #3
0
        public static void NotifyEvent(string usercode, string message)
        {
            if (UrlManager.TelegramHandler is null)
            {
                return;
            }
            if (UrlManager.TelegramServiceKey is null)
            {
                return;
            }
            if (string.IsNullOrEmpty(usercode) || usercode.Trim().Length != 10)
            {
                return;
            }

            usercode = usercode.Trim();

            NameValueCollection postData = new NameValueCollection()
            {
                { "servicekey", UrlManager.TelegramServiceKey },
                { "id", usercode },
                { "message", message },
                { "guid", UsageStats.GetID() },
            };

            System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(InternalNotifyEvent), postData);
        }
Пример #4
0
 public static void LoadFile() //in ingresso
 {
     data = (UsageStats)Tools.Serializer.ObjFromFile(filename);
     if (data == null)
     {
         data = new UsageStats();
     }
     data.UsageCount++;
 }
Пример #5
0
        private static void FixFile360()
        {
            try
            {
                string token = Path.Combine(GrblCore.DataPath, "360fix");
                if (File.Exists(token))
                {
                    return;
                }

                File.Create(token).Dispose();


                DateTime startissue = new DateTime(2020, 07, 09).ToUniversalTime();

                if (File.Exists(filename)) //posso cancellarlo per certo, perché tanto non sono riuscito a caricarlo!
                {
                    File.Delete(filename);
                }

                DirectoryInfo folder = new DirectoryInfo(GrblCore.DataPath);
                FileInfo[]    files  = folder.GetFiles("*UsageStats.bin.dam");
                FileInfo      older  = null;
                foreach (FileInfo info in files)
                {
                    if (info.LastWriteTimeUtc > startissue && info.LastWriteTimeUtc < startissue.AddMonths(2)) //considera di recuperare solo file corrotti dalla versione 3.6.0 rilasciata l' 11/07/2020
                    {
                        if (older == null || info.LastWriteTimeUtc < older.LastWriteTimeUtc)
                        {
                            older = info;
                        }
                    }
                }

                if (older != null)
                {
                    File.Move(older.FullName, filename); //carica il file recuperato

                    foreach (FileInfo info in files)     //cancella tutto il resto
                    {
                        if (File.Exists(info.FullName))
                        {
                            File.Delete(info.FullName);
                        }
                    }
                }
            }
            catch { }

            data = (UsageStats)Tools.Serializer.ObjFromFile(filename); //tenta il caricamento
        }
Пример #6
0
        void MainFormFormClosing(object sender, FormClosingEventArgs e)
        {
            if (Core.InProgram && System.Windows.Forms.MessageBox.Show(Strings.ExitAnyway, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) != System.Windows.Forms.DialogResult.Yes)
            {
                e.Cancel = true;
            }

            if (!e.Cancel)
            {
                Core.CloseCom(true);
                Settings.SetObject("Mainform Size and Position", new object[] { Size, Location, WindowState });
                Settings.Save();

                UsageStats.SaveFile(Core);
            }
        }
Пример #7
0
        public static void LoadFile() //in ingresso
        {
            bool exist = File.Exists(filename);

            data = (UsageStats)Tools.Serializer.ObjFromFile(filename);

            if (exist && data == null) //esiste ma non sono riuscito a caricarlo (perché è una versione 3.6.0 con campo Firmware stringa)
            {
                FixFile();
            }

            if (data == null)
            {
                data = new UsageStats();
            }
            data.UsageCount++;
        }