public static void Close()
 {
     BaseDispatcher.Invoke(ReleaseMutex);
     TeraSniffer.Instance.Enabled = false;
     SettingsWriter.Save();
     WindowManager.Dispose();
     ProxyInterface.Instance.Disconnect(); //ProxyOld.CloseConnection();
     UpdateManager.StopTimer();
     Environment.Exit(0);
 }
Exemple #2
0
 public static void ReleaseMutex()
 {
     _running = false;
     BaseDispatcher.Invoke(() =>
     {
         try
         {
             _mutex?.ReleaseMutex();
         }
         catch (Exception e)
         {
             Log.F($"Failed to release mutex: {e}");
         }
     });
 }
Exemple #3
0
 public static void Close(bool releaseMutex = true, int code = 0)
 {
     _running = false;
     PacketAnalyzer.Sniffer.Enabled = false;
     Settings?.Save();
     WindowManager.Dispose();
     StubInterface.Instance.Disconnect();
     Firebase.Dispose();
     UpdateManager.StopTimer();
     if (releaseMutex)
     {
         BaseDispatcher.Invoke(ReleaseMutex);
     }
     Environment.Exit(code);
 }
Exemple #4
0
 private static void LoadModules()
 {
     BaseDispatcher.Invoke(() =>
     {
         try
         {
             ModuleLoader.LoadModules(BasePath);
         }
         catch (FileLoadException fle)
         {
             TccMessageBox.Show("TCC module loader", SR.ErrorWhileLoadingModule(fle.FileName), MessageBoxButton.OK, MessageBoxImage.Error);
             Close();
         }
         catch (FileNotFoundException fnfe)
         {
             TccMessageBox.Show("TCC module loader", SR.ErrorWhileLoadingModule(Path.GetFileName(fnfe.FileName)), MessageBoxButton.OK, MessageBoxImage.Error);
             Close();
         }
     });
 }