public void RecordModuleLoaded(string moduleName) { ModuleTrackingState moduleTrackingState = this.GetModuleTrackingState(moduleName); if (moduleTrackingState != null) { moduleTrackingState.ModuleInitializationStatus = ModuleInitializationStatus.Initialized; } logger.Log(string.Format(CultureInfo.CurrentCulture, Resources.ModuleIsInitialized, moduleName), Category.Debug, Priority.Low); }
/// <summary> /// Initializes a new instance of the <see cref="ModuleTracker"/> class. /// </summary> public ModuleTracker(ILoggerFacade logger) { if (logger == null) { throw new ArgumentNullException("logger"); } this.logger = logger; // These states are defined specifically for the desktop version of the quickstart. this.moduleATrackingState = new ModuleTrackingState { ModuleName = WellKnownModuleNames.ModuleA, ExpectedDiscoveryMethod = DiscoveryMethod.ApplicationReference, ExpectedInitializationMode = InitializationMode.WhenAvailable, ExpectedDownloadTiming = DownloadTiming.WithApplication, ConfiguredDependencies = WellKnownModuleNames.ModuleD, }; this.moduleBTrackingState = new ModuleTrackingState { ModuleName = WellKnownModuleNames.ModuleB, ExpectedDiscoveryMethod = DiscoveryMethod.DirectorySweep, ExpectedInitializationMode = InitializationMode.OnDemand, ExpectedDownloadTiming = DownloadTiming.InBackground, }; this.moduleCTrackingState = new ModuleTrackingState { ModuleName = WellKnownModuleNames.ModuleC, ExpectedDiscoveryMethod = DiscoveryMethod.ApplicationReference, ExpectedInitializationMode = InitializationMode.OnDemand, ExpectedDownloadTiming = DownloadTiming.WithApplication, }; this.moduleDTrackingState = new ModuleTrackingState { ModuleName = WellKnownModuleNames.ModuleD, ExpectedDiscoveryMethod = DiscoveryMethod.DirectorySweep, ExpectedInitializationMode = InitializationMode.WhenAvailable, ExpectedDownloadTiming = DownloadTiming.InBackground, }; this.moduleETrackingState = new ModuleTrackingState { ModuleName = WellKnownModuleNames.ModuleE, ExpectedDiscoveryMethod = DiscoveryMethod.ConfigurationManifest, ExpectedInitializationMode = InitializationMode.OnDemand, ExpectedDownloadTiming = DownloadTiming.InBackground, }; this.moduleFTrackingState = new ModuleTrackingState { ModuleName = WellKnownModuleNames.ModuleF, ExpectedDiscoveryMethod = DiscoveryMethod.ConfigurationManifest, ExpectedInitializationMode = InitializationMode.OnDemand, ExpectedDownloadTiming = DownloadTiming.InBackground, ConfiguredDependencies = WellKnownModuleNames.ModuleE, }; }
public void RecordModuleDownloading(string moduleName, long byteReceived, long totalByteReceived) { ModuleTrackingState moduleTrackingState = GetModuleTrackingState(moduleName); if (moduleTrackingState != null) { moduleTrackingState.BytesReceived = byteReceived; moduleTrackingState.TotalBytesToReceived = totalByteReceived; if (byteReceived < totalByteReceived) { moduleTrackingState.ModuleInitializationStatus = ModuleInitializationStatus.Downloading; } else { moduleTrackingState.ModuleInitializationStatus = ModuleInitializationStatus.Downloaded; } } }
/// <summary> /// Records the module is loading. /// </summary> /// <param name="moduleName">The <see cref="WellKnownModuleNames">well-known name</see> of the module.</param> /// <param name="bytesReceived">The number of bytes downloaded.</param> /// <param name="totalBytesToReceive">The total number of bytes received.</param> public void RecordModuleDownloading(string moduleName, long bytesReceived, long totalBytesToReceive) { ModuleTrackingState moduleTrackingState = this.GetModuleTrackingState(moduleName); if (moduleTrackingState != null) { moduleTrackingState.BytesReceived = bytesReceived; moduleTrackingState.TotalBytesToReceive = totalBytesToReceive; if (bytesReceived < totalBytesToReceive) { moduleTrackingState.ModuleInitializationStatus = ModuleInitializationStatus.Downloading; } else { moduleTrackingState.ModuleInitializationStatus = ModuleInitializationStatus.Downloaded; } } this.logger.Log(string.Format(CultureInfo.CurrentCulture, Resources.ModuleIsLoadingProgress, moduleName, bytesReceived, totalBytesToReceive), Category.Debug, Priority.Low); }