示例#1
0
        /// <summary>
        /// Implementation of <see cref="IModuleTypeLoader.LoadModuleType"/>
        /// </summary>
        public void LoadModuleType(ModuleInfo moduleInfo)
        {
            var match = Regex.Match(moduleInfo.Ref, RegexExpression);

            if (!match.Success)
            {
                return;
            }

            var packageInfo = new PackageMetadata(
                match.Groups["PACKAGE"].Value,
                new Version(
                    Convert.ToInt32(match.Groups["MAJOR"].Value),
                    Convert.ToInt32(match.Groups["MINOR"].Value),
                    Convert.ToInt32(match.Groups["PATCH"].Value)),
                match.Groups["SUFFIX"].Value);

            Exception error = null;

            try
            {
                ModuleDownloadProgressChanged?.Invoke(this, new ModuleDownloadProgressChangedEventArgs(moduleInfo, 1000000, 2000000));
                this.packageManagingService.EnsurePackageLoaded(packageInfo);
            }
            catch (Exception e)
            {
                this.logger.Log($"[{nameof(PackageModuleTypeLoader)}.{nameof(LoadModuleType)}(scheme:'{scheme}', moduleRef:'{moduleInfo.Ref}')] - An error occurs during the loading of the package : {ExtractException(e)}", Category.Exception, Priority.High);
                error = e;
            }

            ModuleDownloadProgressChanged?.Invoke(this, new ModuleDownloadProgressChangedEventArgs(moduleInfo, 2000000, 2000000));
            LoadModuleCompleted?.Invoke(this, new LoadModuleCompletedEventArgs(moduleInfo, error));
        }
示例#2
0
 /// <summary>
 /// Called when the module download progress changed.
 /// </summary>
 /// <param name="e">The event argument.</param>
 /// <remarks>The current implementation doesn't support</remarks>
 private void OnModuleDownloadProgressChanged(ModuleDownloadProgressChangedEventArgs e)
 {
     ModuleDownloadProgressChanged.SafeInvoke(this, e);
 }
示例#3
0
 void RaiseModuleDownloadProgressChanged(ModuleDownloadProgressChangedEventArgs e)
 {
     ModuleDownloadProgressChanged?.Invoke(this, e);
 }
示例#4
0
 protected void OnModuleDownloadProgressChanged()
 {
     ModuleDownloadProgressChanged?.Invoke(this, this.ModuleDownloadProgressArgs);
 }
 protected void RaiseModuleDownloadProgressChanged(ModuleDownloadProgressChangedEventArgs e)
 {
     ModuleDownloadProgressChanged.Raise(this, e);
 }