Dispose() публичный Метод

public Dispose ( ) : void
Результат void
Пример #1
0
        public static async Task DisposeAsync()
        {
            try
            {
                await DisposeInWalletDependentServicesAsync();

                UpdateChecker?.Dispose();
                Logger.LogInfo($"{nameof(UpdateChecker)} is stopped.", nameof(Global));

                Synchronizer?.Dispose();
                Logger.LogInfo($"{nameof(Synchronizer)} is stopped.", nameof(Global));

                IoHelpers.EnsureContainingDirectoryExists(AddressManagerFilePath);
                AddressManager?.SavePeerFile(AddressManagerFilePath, Config.Network);
                Logger.LogInfo($"{nameof(AddressManager)} is saved to `{AddressManagerFilePath}`.", nameof(Global));

                Nodes?.Dispose();
                Logger.LogInfo($"{nameof(Nodes)} are disposed.", nameof(Global));

                if (!(RegTestMemPoolServingNode is null))
                {
                    RegTestMemPoolServingNode.Disconnect();
                    Logger.LogInfo($"{nameof(RegTestMemPoolServingNode)} is disposed.", nameof(Global));
                }

                TorManager?.Dispose();
                Logger.LogInfo($"{nameof(TorManager)} is stopped.", nameof(Global));
            }
            catch (Exception ex)
            {
                Logger.LogWarning(ex, nameof(Global));
            }
        }
Пример #2
0
        public override void Reload()
        {
            FTreeView.BeginUpdate();

            if (FRootMapper != null)
            {
                FRootMapper.Dispose();
            }

            FRootMapper = new ModelMapper(Input, Registry);

            if (ShowRoot)
            {
                var rootNode = new MapperTreeNode(FRootMapper);
                rootNode.Expand();
                FTreeView.Nodes.Add(rootNode);
            }
            else
            {
                var items = FRootMapper.Map <IParent>();
                if (FSynchronizer != null)
                {
                    FSynchronizer.Dispose();
                }
                FSynchronizer = FTreeView.Nodes.SyncWith(items.Childs, item => new MapperTreeNode(FRootMapper.CreateChildMapper(item)));
            }

            FTreeView.EndUpdate();
        }
Пример #3
0
 public void Dispose()
 {
     _isKeepConnection = false;
     _transfering?.Dispose();
     _sendSync?.Dispose();
     _connSync?.Dispose();
     ClientTcp?.Close();
 }
Пример #4
0
        public void Dispose()
        {
#if DEBUG
            Log(TraceLevel.Info, "");
#endif
            Synchronizer?.Dispose();
            FileSystem?.Dispose();
            Service?.Dispose();
        }
Пример #5
0
        public void Dispose()
        {
            foreach (var node in FRootNode.AsDepthFirstEnumerable())
            {
                node.Added   -= node_Added;
                node.Removed -= node_Removed;
            }

            ((SortedViewableList <IProject, string>)Childs).Dispose();
            FSynchronizer.Dispose();
            FLoadedProjects.Dispose();
        }
Пример #6
0
        public void Dispose()
        {
            if (FDisposed)
            {
                return;
            }

            if (FSynchronizer != null)
            {
                FSynchronizer.Synced -= synchronizer_Synced;
                FSynchronizer.Dispose();
            }

            if (FNamed != null)
            {
                FNamed.Renamed -= named_Renamed;
            }

            if (FDecoratable != null)
            {
                FDecoratable.DecorationChanged -= decorated_DecorationChanged;
            }

            if (FSelectable != null)
            {
                FSelectable.SelectionChanged -= selectable_SelectionChanged;
            }

            foreach (var n in FSubTree)
            {
                n.Dispose();
            }
            FSubTree.Dispose();

            FPoly.Clear();
            FText.Clear();
            FIcon.Clear();
            FBackground.Clear();
            if (FBackground.Parent != null)
            {
                FBackground.Parent.Remove(FBackground);
            }

            MouseClick       -= FViewer.MouseClickHandler;
            MouseDoubleClick -= FViewer.MouseDoubleClickHandler;

            Mapper.Dispose();

            FDisposed = true;
        }
Пример #7
0
        public void Dispose()
        {
            FNamed.Renamed -= Item_Renamed;

            if (FSelectable != null)
            {
                FSelectable.SelectionChanged -= Item_SelectionChanged;
            }

            if (FSynchronizer != null)
            {
                FSynchronizer.Synced -= synchronizer_Synced;
                FSynchronizer.Dispose();
            }

            foreach (MapperTreeNode mapperTreeNode in Nodes)
            {
                mapperTreeNode.Dispose();
            }

            Mapper.Dispose();
        }
Пример #8
0
        public void Should_Call_All_Observers_With_Task_Cancellation_On_Disposal(int counter)
        {
            // Arrange
            var subject  = new Synchronizer <int>();
            var taskList = new List <Task <int> >(counter);

            // Act
            for (var i = 0; i < counter; i++)
            {
                taskList.Add(subject.ExecuteOrJoinCurrentRunning("sameId", async() => await FakeDelay()));
            }

            subject.Dispose();

            // Assert
            foreach (var task in taskList)
            {
                task.IsCanceled.Should().BeTrue();
            }

            /* On larger runs you'll most likely into the function invocation, due to all having the same
             * workload id this should be 0 or 1 at most. */
            this.called.Should().BeLessThan(2);
        }
Пример #9
0
        public override void Reload()
        {
            FDataGridView.Rows.Clear();
            FDataGridView.Columns.Clear();

            if (FMapper != null)
            {
                FMapper.Dispose();
            }

            if (FRowSynchronizer != null)
            {
                FRowSynchronizer.Dispose();
            }

            FMapper = new ModelMapper(Input, Registry);

            if (FMapper.CanMap <IEnumerable <Column> >())
            {
                try
                {
                    var columns = FMapper.Map <IEnumerable <Column> >();

                    foreach (var col in columns)
                    {
                        var column = new DataGridViewColumn(new DataGridViewTextBoxCell());
                        column.Name = col.Name;
                        switch (col.AutoSizeMode)
                        {
                        case AutoSizeColumnMode.AllCells:
                            column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                            break;

                        case AutoSizeColumnMode.ColumnHeader:
                            column.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                            break;

                        case AutoSizeColumnMode.DisplayedCells:
                            column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                            break;

                        case AutoSizeColumnMode.Fill:
                            column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                            break;

                        default:
                            column.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
                            break;
                        }
                        FDataGridView.Columns.Add(column);
                    }

                    if (FDataGridView.Columns.Count > 0)
                    {
                        var entries = FMapper.Map <IEnumerable>();
                        FRowSynchronizer = FDataGridView.Rows.SyncWith(entries, CreateRow, (r) => {});
                    }
                }
                catch (Exception e)
                {
                    Shell.Instance.Logger.Log(e);
                }
            }
        }
Пример #10
0
        protected override void UnloadContent()
        {
            sync.Dispose();

            base.UnloadContent();
        }