internal bool Remove(AddinBodyRecord addin) { _changed = true; _deletedAddins = _deletedAddins ?? new List <AddinBodyRecord>(); _deletedAddins.Add(addin); return(true); }
void RegisterExtensionsForExtensionPoint(AddinBodyRecord addinBody, ExtensionPointRecord epRecord) { var ebGroup = addinBody.GetExtensionBuilderGroup(epRecord.Id); if (ebGroup != null) { _exSystemLoader.RegisterExtensionBuilderGroup(ebGroup); } var exGroup = addinBody.GetExtensionGroup(epRecord.Id); if (exGroup != null) { _exSystemLoader.RegisterExtensionGroup(epRecord, exGroup); } }
internal bool TryGet(Guid guid, out AddinBodyRecord addin) { if (_guid2Addins.TryGetValue(guid, out addin)) { return(true); } if (!_storage.ContainsStream(guid)) { return(false); } using (var stream = _storage.OpenStream(guid)) { addin = new AddinBodyRecord(guid); addin.Read(stream); } _guid2Addins.Add(guid, addin); return(true); }
internal void Add(AddinBodyRecord addin) { _changed = true; _addedAddins = _addedAddins ?? new List <AddinBodyRecord>(); _addedAddins.Add(addin); }
static AddinRecord ToPersistentObject(AddinResolution adnResolution) { var addinFilePack = ToAddinFilePack(adnResolution); var addinIndexRecord = new AddinIndexRecord(addinFilePack) { RunningStatus = adnResolution.RunningStatus, AddinHeader = ToPersistentObject(adnResolution.AddinHeader), }; var addinBodyRecord = new AddinBodyRecord(adnResolution.Guid); if (adnResolution.ReferencedAssemblySets != null) { foreach (var referencedAssemblySet in adnResolution.ReferencedAssemblySets) { addinIndexRecord.AddReferencedAssembly(new ReferencedAssemblyRecord { Uid = referencedAssemblySet.Uid, Version = referencedAssemblySet.Version }); } } if (adnResolution.ExtendedAddins != null) { foreach (var extendedAddin in adnResolution.ExtendedAddins) { addinIndexRecord.AddExtendedAddin(new ExtendedAddinRecord { Uid = extendedAddin.AddinId.Uid, Version = extendedAddin.AddinHeader.Version }); } } if (adnResolution.ExtendedExtensionPoints != null) { foreach (var extendedExtensionPoint in adnResolution.ExtendedExtensionPoints) { addinIndexRecord.AddExtendedExtensionPoint(extendedExtensionPoint.Uid); } } if (adnResolution.ExtensionPoints != null) { foreach (var extensionPoint in adnResolution.ExtensionPoints) { //if (extensionPoint.Children == null) // continue; var epRecord = extensionPoint.ToRecord(); addinIndexRecord.AddExtensionPoint(ToBaseObject(epRecord)); addinBodyRecord.AddExtensionPoint(epRecord); } } if (adnResolution.ExtensionBuilderGroups != null) { foreach (var extensionBuilderGroup in adnResolution.ExtensionBuilderGroups) { addinBodyRecord.AddExtensionBuilderGroup(extensionBuilderGroup.ToRecord()); } } if (adnResolution.ExtensionGroups != null) { foreach (var extensionGroup in adnResolution.ExtensionGroups) { addinBodyRecord.AddExtensionGroup(extensionGroup.ToRecord()); } } return(new AddinRecord { AddinIndex = addinIndexRecord, AddinBody = addinBodyRecord }); }