public void ItemsWereAdded(string location, ICollection <PluginItemMetadata> items) { IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); foreach (PluginItemMetadata itemMetadata in items) { try { IRelationshipExtractor relationshipExtractor = pluginManager.RequestPluginItem <IRelationshipExtractor>( itemMetadata.RegistrationLocation, itemMetadata.Id, new FixedItemStateTracker(RELATIONSHIP_EXTRACTORS_USE_COMPONENT_NAME)); _parent.RegisterRelationshipExtractor(relationshipExtractor); } catch (PluginInvalidStateException e) { ServiceRegistration.Get <ILogger>().Warn("Cannot add relationship extractor for {0}", e, itemMetadata); } } }
protected void RegisterRelationshipExtractor(IRelationshipExtractor relationshipExtractor) { lock (_syncObj) _relationshipExtractors.Add(relationshipExtractor.Metadata.RelationshipExtractorId, relationshipExtractor); MediaAccessorMessaging.SendRelationshipExtractorMessage(MediaAccessorMessaging.MessageType.RelationshipExtractorAdded, relationshipExtractor.Metadata.RelationshipExtractorId); }
public void AddRelationshipExtractor(IRelationshipExtractor extractor) { Initialize(); RegisterRelationshipExtractor(extractor); }