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);
 }
Exemple #3
0
        public void AddRelationshipExtractor(IRelationshipExtractor extractor)
        {
            Initialize();

            RegisterRelationshipExtractor(extractor);
        }