Exemplo n.º 1
0
        public void UpdateDownloadStatus(LocalPackageInfo packageInfo)
        {
            if (packageInfo == null)
            {
                throw new ArgumentNullException(nameof(packageInfo));
            }

            if (!packageInfo.LockProvider.TryLock(out object lockToken))
            {
                return;                                                          // marked to delete?
            }
            try
            {
                // update!
                lock (packagesLock)
                {
                    localPackageManager.UpdateDownloadStatus(packageInfo.DownloadStatus);
                }
            }
            finally
            {
                packageInfo.LockProvider.Unlock(lockToken);
            }
        }