예제 #1
0
        /// <summary>
        /// 解析插件
        /// </summary>
        /// <param name="bundles"></param>
        /// <returns></returns>
        private bool ResolvePackages(IBundle[] bundles)
        {
            IServiceReference packageAdminRef = context.GetServiceReference(typeof(IPackageAdmin).FullName);
            PackageAdminImpl  packageAdmin    = null;

            if (packageAdminRef != null)
            {
                packageAdmin = (PackageAdminImpl)context.GetService(packageAdminRef);
            }
            if (packageAdmin == null)
            {
                return(false);
            }
            // TODO this is such a hack it is silly.  There are still cases for race conditions etc
            // but this should allow for some progress...

            bool isResolved = packageAdmin.ResolveBundles(bundles);

            context.UngetService(packageAdminRef);

            return(isResolved);
        }
예제 #2
0
 public BaseResolver(Framework framework, PackageAdminImpl packageAdmin)
 {
     this.framework    = framework;
     this.packageAdmin = packageAdmin;
 }
예제 #3
0
 public ResolverImpl(Framework framework, PackageAdminImpl packageAdmin)
     : base(framework, packageAdmin)
 {
 }