예제 #1
0
 public CacheManager()
 {
     this._usersCached = new ConcurrentDictionary <int, UserCache>();
     this._process     = new ProcessComponent();
     this._process.Init();
     log.Info("Cache Manager -> LOADED");
 }
 public CacheManager()
 {
     _usersCached = new ConcurrentDictionary <int, UserCache>();
     _process     = new ProcessComponent();
     _process.Init();
     log.Info("» Administrador de caché -> PRONTO - BY: Thiago Araujo");
 }
예제 #3
0
        private void CloseWebView()
        {
            if (_webView2Control != null)
            {
                _webView2Control.Close();
                _webView2Control.EnvironmentCreated -= webView2Control1_EnvironmentCreated;
                _webView2Control.BrowserCreated     -= _webView2Control_BrowserCreated;
                _webView2Control.ContainsFullScreenElementChanged -= _webView2Control_ContainsFullScreenElementChanged;
                _webView2Control.NewWindowRequested -= _webView2Control_NewWindowRequested;

                _environment.UnregisterNewVersionAvailable(_newVersionToken);

                _settingsComponent.CleanUp();
                _settingsComponent = null;

                _fileComponent.CleanUp();
                _fileComponent = null;

                _processComponent.CleanUp();
                _processComponent = null;

                _scriptComponent.CleanUp();
                _scriptComponent = null;

                _controlComponent.CleanUp();
                _controlComponent = null;

                _viewComponent.CleanUp();
                _viewComponent = null;

                tableLayoutPanel1.Controls.Remove(_webView2Control);
                _webView2Control.Dispose();
                _webView2Control = null;
            }
        }
예제 #4
0
    /// <summary>
    /// The main entry point to this program.
    /// </summary>
    public static void Main()
    {
        ProcessComponent p = ShellProcess.Make();
        PrettyVisitor    v = new PrettyVisitor();

        Console.WriteLine(v.GetPretty(p));
    }
예제 #5
0
 public CacheManager()
 {
     _usersCached = new ConcurrentDictionary <int, UserCache>();
     _process     = new ProcessComponent();
     _process.Init();
     log.Info("» Administrador de caché -> CARGADO");
 }
예제 #6
0
        private void _webView2Control_BrowserCreated(object sender, EventArgs e)
        {
            _settingsComponent = new SettingsComponent(_environment, _webView2Control);
            _fileComponent     = new FileComponent(this, _webView2Control);
            _processComponent  = new ProcessComponent(this, _webView2Control);
            _scriptComponent   = new ScriptComponent(this, _webView2Control);
            _controlComponent  = new ControlComponent(this, navigationToolBar, _webView2Control);
            _viewComponent     = new ViewComponent(this, _webView2Control);

            if (_onWebViewFirstInitialized != null)
            {
                _onWebViewFirstInitialized.Invoke();
                _onWebViewFirstInitialized = null;
            }

            if (!string.IsNullOrEmpty(_initialUrl))
            {
                _webView2Control.Navigate(_initialUrl);
            }

            if (_newWindowRequestedEventArgs != null)
            {
                _newWindowRequestedEventArgs.NewWindow = _webView2Control.InnerWebView2WebView;
                _newWindowRequestedEventArgs.Handled   = true;
                _newWindowDeferral.Complete();
                _newWindowRequestedEventArgs = null;
                _newWindowDeferral           = null;
            }
        }
예제 #7
0
        public Room(MySqlDataReader reader)
        {
            Id              = reader.GetInt32("id");
            OwnerId         = reader.IsDBNull(reader.GetOrdinal("owner_id")) ? 0 : reader.GetInt32("owner_id");
            Name            = reader.GetString("name");
            Description     = reader.GetString("description");
            State           = (RoomState)Enum.Parse(typeof(RoomState), reader.GetString("state"));
            PlayersIn       = reader.GetInt32("players_in");
            PlayersMax      = reader.GetInt32("players_max");
            CategoryId      = reader.GetInt32("category_id");
            Model           = reader.GetString("model");
            CCTs            = reader.GetString("ccts");
            ShowOwner       = reader.GetBoolean("show_owner");
            AllPlayerRights = reader.GetBoolean("all_player_rights");
            Icon            = reader.GetString("icon");
            Floor           = reader.GetInt32("floor");
            Wallpaper       = reader.GetInt32("wallpaper");
            Landscape       = reader.GetDouble("landscape");
            UserRights      = new List <int>(JsonConvert.DeserializeObject <List <int> >(reader.GetString("user_rights")));
            if (Engine.Locator.RoomController.RoomMaps.TryGetValue(Model, out RoomMap map))
            {
                Map = map;
            }

            Actors = new ConcurrentDictionary <int, RoomActor>();

            ProcessComponent = new ProcessComponent(this);
            ProcessComponent.SetupRoomLoop();
            Grid = new RoomGrid(this);
        }
예제 #8
0
 public CacheManager()
 {
     _usersCached = new ConcurrentDictionary <int, UserCache>();
     _process     = new ProcessComponent();
     _process.Init();
     Logger.Trace("Cache Manager -> LOADED");
 }
예제 #9
0
 public CacheManager()
 {
     _usersCached = new ConcurrentDictionary <int, UserCache>();
     _process     = new ProcessComponent();
     _process.Init();
     log.Info(">> Cache Manager -> READY!");
 }
 /// <summary>
 /// Zwraca ozdobny (czyli powcinany) opis zadanego komponentu procesu.
 /// </summary>
 /// <param name="pc">wyœwietlany komponent procesu</param>
 /// <returns>zawartoœæ zadanego komponentu wraz z wciêciami</returns>
 public StringBuilder GetPretty(ProcessComponent pc)
 {
     _buf     = new StringBuilder();
     _visited = new Set();
     _depth   = 0;
     pc.Accept(this);
     return(_buf);
 }
예제 #11
0
 public AboutContext(
     AboutViewModel viewModel,
     UpdatesComponent updates,
     ProcessComponent process)
 {
     ViewModel = viewModel;
     _updates  = updates;
     _process  = process;
 }
예제 #12
0
 public bool InitProcess()
 {
     this._process = new ProcessComponent();
     if (this._process.Init(this))
     {
         return(true);
     }
     return(false);
 }
예제 #13
0
        public CacheManager()
        {
            this._usersCached = new ConcurrentDictionary <int, UserCache>();
            this._process     = new ProcessComponent();
            this._process.Init();

            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("       [FUNCIONANDO] => [Rocket Emu] =>  As configurações de caches foram carregadas.");
        }
예제 #14
0
 public void Dispose()
 {
     Engine.Locator.RoomController.Rooms.TryRemove(Id, out Room room);
     Actors.Clear();
     _items.Clear();
     Items.Clear();
     ProcessComponent.Dispose();
     ProcessComponent = null;
     Grid.Dispose();
     GC.SuppressFinalize(this);
 }
예제 #15
0
        public static void StartProcessData(int n)
        {
            TcpListener testsListner           = null; //подключение для отправки тестовых файло
            TcpListener availableThreadListner = null; //подключение для сигнала от свободных п
            TcpListener responceListner        = null; //подключнеие для ответов от потоков

            try
            {
                //создаются прослушивающие подключения
                testsListner = new TcpListener(IPAddress.Parse("127.0.0.1"), 3456);
                testsListner.Start();
                availableThreadListner = new TcpListener(IPAddress.Parse("127.0.0.1"), 3457);
                availableThreadListner.Start();
                responceListner = new TcpListener(IPAddress.Parse("127.0.0.1"), 3458);
                responceListner.Start();
                Console.WriteLine("Ожидание подключений...");
                //создаются подключения
                TcpClient testsTcpClient         = testsListner.AcceptTcpClient();
                TcpClient availableThreadsClient = availableThreadListner.AcceptTcpClient();
                TcpClient responceClient         = responceListner.AcceptTcpClient();
                //содается n потоков, каждый из которых обрабатывает сообщения
                for (int i = 0; i < n; i++)
                {
                    ProcessComponent processObject = new ProcessComponent(i, testsTcpClient, availableThreadsClient, responceClient);
                    Thread           processThread = new Thread(new ThreadStart(processObject.Process));
                    //каждый поток запускается с небольшой заержкой для генерации рандомных чисел
                    Thread.Sleep(200);
                    processThread.Start();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (testsListner != null)
                {
                    testsListner.Stop();
                }
                if (availableThreadListner != null)
                {
                    availableThreadListner.Stop();
                }
                if (responceListner != null)
                {
                    responceListner.Stop();
                }
            }
        }
예제 #16
0
        public bool InitProcess()
        {
            _process = new ProcessComponent();

            return(_process.Init(this));
        }
예제 #17
0
        private void CloseWebView(bool cleanupUserDataFolder)
        {
            if (_webView2Control != null)
            {
                _webView2Control.Close();
                _webView2Control.EnvironmentCreated -= webView2Control1_EnvironmentCreated;
                _webView2Control.BrowserCreated     -= _webView2Control_BrowserCreated;
                _webView2Control.ContainsFullScreenElementChanged -= _webView2Control_ContainsFullScreenElementChanged;
                _webView2Control.NewWindowRequested -= _webView2Control_NewWindowRequested;

                _environment.UnregisterNewVersionAvailable(_newVersionToken);

                _settingsComponent.CleanUp();
                _settingsComponent = null;

                _fileComponent.CleanUp();
                _fileComponent = null;

                _processComponent.CleanUp();
                _processComponent = null;

                _scriptComponent.CleanUp();
                _scriptComponent = null;

                _controlComponent.CleanUp();
                _controlComponent = null;

                _viewComponent.CleanUp();
                _viewComponent = null;

                tableLayoutPanel1.Controls.Remove(_webView2Control);
                _webView2Control.Dispose();
                _webView2Control = null;
            }

            if (cleanupUserDataFolder)
            {
                // For non-UWP apps, the default user data folder {Executable File Name}.WebView2
                // is in the same directory next to the app executable. If end
                // developers specify userDataFolder during WebView environment
                // creation, they would need to pass in that explicit value here.
                // For more information about userDataFolder:
                // https://docs.microsoft.com/microsoft-edge/hosting/webview2/reference/webview2.idl#createwebview2environmentwithdetails
                string userDataFolder = Environment.CurrentDirectory;
                // Obtain the absolute path for relative paths that include "./" or "../"
                userDataFolder = Path.Combine(userDataFolder, "MtrDev.WebView2.WinForms.Sample.exe.WebView2");
                string userDataFolderPath = userDataFolder;

                string message = "Are you sure you want to clean up the user data folder at\n";
                message += userDataFolderPath;
                message += "\n?\nWarning: This action is not reversible.\n\n";
                message += "Click No if there are other open WebView instnaces.\n";

                if (MessageBox.Show(this, message, "Cleanup User Data Folder", MessageBoxButtons.YesNo) ==
                    DialogResult.Yes)
                {
                    try
                    {
                        Directory.Delete(userDataFolderPath, true);
                    }
                    catch (Exception)
                    {
                    }
                }
            }
        }