Library.Net.Amoeba.DownloadManager.Load C# (CSharp) Method

Load() public method

public Load ( string directoryPath ) : void
directoryPath string
return void
        public void Load(string directoryPath)
        {
            lock (_thisLock)
            {
                _settings.Load(directoryPath);

                foreach (var item in _settings.DownloadItems)
                {
                    if (item.State != DownloadState.Completed)
                    {
                        _cacheManager.Lock(item.Seed.Metadata.Key);

                        foreach (var index in item.Indexes)
                        {
                            foreach (var group in index.Groups)
                            {
                                foreach (var key in group.Keys)
                                {
                                    _cacheManager.Lock(key);
                                }
                            }
                        }
                    }
                }

                foreach (var item in _settings.DownloadItems.ToArray())
                {
                    try
                    {
                        this.CheckState(item.Index);
                    }
                    catch (Exception)
                    {
                        _settings.DownloadItems.Remove(item);
                    }
                }

                _idManager.Clear();

                foreach (var item in _settings.DownloadItems)
                {
                    _idManager.Add(item);
                }
            }
        }