Пример #1
0
            public void ItemsWereAdded(string location, ICollection <PluginItemMetadata> items)
            {
                IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>();

                foreach (PluginItemMetadata itemMetadata in items)
                {
                    try
                    {
                        IMediaMergeHandler mergeHandler = pluginManager.RequestPluginItem <IMediaMergeHandler>(
                            itemMetadata.RegistrationLocation, itemMetadata.Id, new FixedItemStateTracker(MERGE_HANDLERS_USE_COMPONENT_NAME));
                        _parent.RegisterMergeHandler(mergeHandler);
                    }
                    catch (PluginInvalidStateException e)
                    {
                        ServiceRegistration.Get <ILogger>().Warn("Cannot add merge handler for {0}", e, itemMetadata);
                    }
                }
            }
Пример #2
0
 protected void RegisterMergeHandler(IMediaMergeHandler mergeHandler)
 {
     lock (_syncObj)
         _mergeHandlers.Add(mergeHandler.Metadata.MergeHandlerId, mergeHandler);
     MediaAccessorMessaging.SendMergeHandlerMessage(MediaAccessorMessaging.MessageType.MergeHandlerAdded, mergeHandler.Metadata.MergeHandlerId);
 }