Ejemplo n.º 1
0
        protected override void OnShow()
        {
            base.OnShow();

            //  var queryProvider = GetService<IServerQueryProvider>();

            _listProvider.Load();

            Reload();
        }
Ejemplo n.º 2
0
        private void LoadH()
        {
            _listProvider.Load();

            ClearItems();
            foreach (var entry in _listProvider.Data.ToArray())
            {
                AddItem(new GuiServerListEntryElement(entry));
            }

            PingAll(false);
        }
        protected override void OnShow()
        {
            base.OnShow();

            CancellationTokenSource
                cts = CancellationTokenSource.CreateLinkedTokenSource(CancellationTokenSource.Token);

            foreach (var serverType in Alex.ServerTypeManager.GetAll())
            {
                serverType.QueryProvider.StartLanDiscovery(cts.Token, async r =>
                {
                    if (r.QueryResponse.Success)
                    {
                        GuiServerListEntryElement entry = new GuiServerListEntryElement(
                            serverType,
                            new SavedServerEntry()
                        {
                            ServerType         = serverType.Id,
                            Host               = r.QueryResponse.Status.Address,
                            Port               = r.QueryResponse.Status.Port,
                            Name               = r.QueryResponse.Status.EndPoint.ToString(),
                            InternalIdentifier = Guid.NewGuid()
                        });

                        entry.SaveEntry = false;

                        entry.ConnectionEndpoint = r.EndPoint;
                        entry.ServerName         = $"[LAN] {r.QueryResponse.Status.Query.Description.Text}";

                        AddItem(entry);

                        await entry.PingAsync(false);
                    }
                });
            }

            cts.CancelAfter(30000);

            //  var queryProvider = GetService<IServerQueryProvider>();

            _listProvider.Load();

            Reload();
        }
        protected override void OnShow()
        {
            base.OnShow();

            var queryProvider = GetService <IServerQueryProvider>();

            _listProvider.Load();

            ClearItems();

            List <Task> tasks = new List <Task>();

            foreach (var entry in _listProvider.Data.ToArray())
            {
                var element = new GuiServerListEntryElement(queryProvider, entry);
                AddItem(element);

                tasks.Add(element.PingAsync(false));
            }
        }