public void ItemsWereAdded(string location, ICollection <PluginItemMetadata> items) { IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); foreach (PluginItemMetadata itemMetadata in items) { try { IMediaFanArtHandler fanartHandler = pluginManager.RequestPluginItem <IMediaFanArtHandler>( itemMetadata.RegistrationLocation, itemMetadata.Id, new FixedItemStateTracker(FANART_HANDLERS_USE_COMPONENT_NAME)); _parent.RegisterFanArtHandler(fanartHandler); } catch (PluginInvalidStateException e) { ServiceRegistration.Get <ILogger>().Warn("Cannot add fanart handler for {0}", e, itemMetadata); } } }
protected void RegisterFanArtHandler(IMediaFanArtHandler fanartHandler) { lock (_syncObj) _fanartHandlers.Add(fanartHandler.Metadata.FanArtHandlerId, fanartHandler); MediaAccessorMessaging.SendMergeHandlerMessage(MediaAccessorMessaging.MessageType.FanArtHandlerAdded, fanartHandler.Metadata.FanArtHandlerId); }