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); } } }
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}'."); }
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.")); } } }