Пример #1
0
        private void BundleEventHandler(object sender, BundleStateChangedEventArgs e)
        {
            bool flag = e.CurrentState == BundleState.Starting;
            IBundleInstallerService firstOrDefaultService = this._framework.ServiceContainer.GetFirstOrDefaultService <IBundleInstallerService>();
            BundleData bundleDataByName = firstOrDefaultService.GetBundleDataByName(e.Bundle.SymbolicName);

            if (bundleDataByName != null)
            {
                if (flag)
                {
                    this.AddExtensionPoint(e.Bundle, bundleDataByName.ExtensionPoints);
                    this.AddExtension(e.Bundle, bundleDataByName.Extensions);
                    Interface1 bundleByID = this._framework.FrameworkAdaptor.State.GetBundleByID(e.Bundle.BundleID) as Interface1;
                    if (bundleByID != null)
                    {
                        BundleData data2 = null;
                        foreach (IFragmentBundleMetadata metadata in bundleByID.Fragments)
                        {
                            data2 = firstOrDefaultService.GetBundleDataByName(metadata.SymbolicName);
                            this.AddExtensionPoint(e.Bundle, data2.ExtensionPoints);
                            this.AddExtension(e.Bundle, data2.Extensions);
                        }
                    }
                }
                else if (e.CurrentState == BundleState.Stopping)
                {
                    this.ReleaseExtension(e.Bundle);
                }
            }
        }
Пример #2
0
        private static void UpdateFromFolder(string upgradPackae, BundleData item)
        {
            FileUtility.CopyFilesDirs(upgradPackae, item.Path, true);
            string  symbolicName = item.SymbolicName;
            Version version      = item.Version;
            IBundleInstallerService firstOrDefaultService = BundleRuntime.Instance.GetFirstOrDefaultService <IBundleInstallerService>();

            firstOrDefaultService.BundleDatas.Remove(item.SymbolicName);
            BundleData data     = firstOrDefaultService.CreateBundleData(item.Path);
            string     text2    = data.SymbolicName;
            Version    version2 = data.Version;

            FileLogUtility.Inform($"Upgrade the bundle '{item.SymbolicName}' from version '{version}' to '{version2}'.");
        }
Пример #3
0
        internal static void EnsureHasAvailableBundleLicense()
        {
            if (ValidateCoreLicense)
            {
                bool flag;
                switch (FrameworkLicenseType)
                {
                case LicenseType.const_0:
                case LicenseType.UIOSP:
                case LicenseType.iOpenWorksSDK:
                    return;

                case LicenseType.AppStoreRuntime:
                {
                    IBundleInstallerService firstOrDefaultService = BundleRuntime.Instance.GetFirstOrDefaultService <IBundleInstallerService>();
                    flag = false;
                    using (IEnumerator <KeyValuePair <string, BundleData> > enumerator = firstOrDefaultService.BundleDatas.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            KeyValuePair <string, BundleData> current = enumerator.Current;
                            LicenseStatus licenseStatus = GetLicenseStatus(current.Value);
                            if ((licenseStatus != LicenseStatus.None) && (licenseStatus != LicenseStatus.Expried))
                            {
                                goto Label_007B;
                            }
                        }
                        break;
Label_007B:
                        flag = true;
                    }
                    break;
                }

                default:
                    LogAndThrow(new NotSupportedException("Not support framework license type."));
                    return;
                }
                if (!flag)
                {
                    LogAndThrow(new Exception("Framework starts fail, because no licensed bundle found."));
                }
            }
        }