public DownloadManager(IDownloadDirectory aDownloadDirectory, IUrlFetcher aUrlFetcher) { iDownloadDirectory = aDownloadDirectory; iMessageQueue = new Channel<Action<IDownloadThread>>(5); var urlPoller = new DefaultUrlPoller(); var pollManager = new PollManager(urlPoller); iDownloader = new Downloader(iDownloadDirectory, iMessageQueue, pollManager, aUrlFetcher); iDownloadThread = new CommunicatorThread(iDownloader.Run, "DownloadManager"); iDownloadThread.Start(); }
/// <summary> /// /// </summary> /// <param name="aDownloadDirectory"></param> /// <param name="aMessageQueue"> /// Message queue holding actions for the thread to perform in sequence. /// </param> /// <param name="aPollManager"> /// Performs URL polling to see if an update is available. /// </param> /// <param name="aUrlFetcher"> /// Performs URL fetching. /// </param> public Downloader( IDownloadDirectory aDownloadDirectory, Channel<Action<IDownloadThread>> aMessageQueue, IPollManager aPollManager, IUrlFetcher aUrlFetcher) { iMessageQueue = aMessageQueue; iDownloadDirectory = aDownloadDirectory; iPollManager = aPollManager; iUrlFetcher = aUrlFetcher; FailureTimeout = TimeSpan.FromSeconds(10); }
public App([NotNull] string appDataPath, [NotNull] ILocalDirectory localDirectory, [NotNull] ILocalMetaData localMetaData, [NotNull] IDownloadDirectory downloadDirectory, [NotNull] IRemoteData remoteData, [NotNull] IRemoteMetaData remoteMetaData, int overrideLatestVersionId) { if (string.IsNullOrEmpty(appDataPath)) { throw new ArgumentException("Value cannot be null or empty.", "appDataPath"); } if (localDirectory == null) { throw new ArgumentNullException("localDirectory"); } if (localMetaData == null) { throw new ArgumentNullException("localMetaData"); } if (downloadDirectory == null) { throw new ArgumentNullException("downloadDirectory"); } if (remoteData == null) { throw new ArgumentNullException("remoteData"); } if (remoteMetaData == null) { throw new ArgumentNullException("remoteMetaData"); } LocalDirectory = localDirectory; LocalMetaData = localMetaData; DownloadDirectory = downloadDirectory; RemoteData = remoteData; RemoteMetaData = remoteMetaData; _overrideLatestVersionId = overrideLatestVersionId; }
public App(ILocalDirectory localDirectory, ILocalMetaData localMetaData, ITemporaryDirectory temporaryDirectory, IDownloadDirectory downloadDirectory, IRemoteData remoteData, IRemoteMetaData remoteMetaData, int overrideLatestVersionId) { Checks.ArgumentNotNull(localDirectory, "localData"); Checks.ArgumentNotNull(localMetaData, "localMetaData"); Checks.ArgumentNotNull(temporaryDirectory, "temporaryData"); Checks.ArgumentNotNull(downloadDirectory, "downloadData"); Checks.ArgumentNotNull(remoteData, "remoteData"); Checks.ArgumentNotNull(remoteMetaData, "remoteMetaData"); LocalDirectory = localDirectory; LocalMetaData = localMetaData; TemporaryDirectory = temporaryDirectory; DownloadDirectory = downloadDirectory; RemoteData = remoteData; RemoteMetaData = remoteMetaData; _overrideLatestVersionId = overrideLatestVersionId; }