protected void RegisterPluginItemListeners() { IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); pluginManager.AddItemRegistrationChangeListener(RESOURCE_PROVIDERS_PLUGIN_LOCATION, _resourceProvidersPluginItemChangeListener); pluginManager.AddItemRegistrationChangeListener(METADATA_EXTRACTORS_PLUGIN_LOCATION, _metadataExtractorsPluginItemChangeListener); }
protected void RegisterPluginItemListeners() { IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); pluginManager.AddItemRegistrationChangeListener(RESOURCE_PROVIDERS_PLUGIN_LOCATION, _resourceProvidersPluginItemChangeListener); pluginManager.AddItemRegistrationChangeListener(METADATA_EXTRACTORS_PLUGIN_LOCATION, _metadataExtractorsPluginItemChangeListener); pluginManager.AddItemRegistrationChangeListener(RELATIONSHIP_EXTRACTORS_PLUGIN_LOCATION, _relationshipExtractorPluginItemChangeListener); pluginManager.AddItemRegistrationChangeListener(MERGE_HANDLERS_PLUGIN_LOCATION, _mergeHandlerPluginItemChangeListener); pluginManager.AddItemRegistrationChangeListener(FANART_HANDLERS_PLUGIN_LOCATION, _fanartHandlerPluginItemChangeListener); }
public static void LoadServicesFromPlugins() { IPluginManager pluginManager = Get <IPluginManager>(); pluginManager.AddItemRegistrationChangeListener(PLUGIN_TREE_SERVICES_LOCATION, _servicesRegistrationChangeListener); ILogger logger = Get <ILogger>(); logger.Info("ServiceRegistration: Loading services from plugin manager at location '{0}'", PLUGIN_TREE_SERVICES_LOCATION); ICollection <PluginItemMetadata> items = pluginManager.GetAllPluginItemMetadata(PLUGIN_TREE_SERVICES_LOCATION); Instance.AddServiceItems(items); }
protected void LoadPlayerBuilders() { lock (_syncObj) { IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); pluginManager.AddItemRegistrationChangeListener(PLAYERBUILDERS_REGISTRATION_PATH, _playerBuilderRegistrationChangeListener); foreach (PluginItemMetadata itemMetadata in pluginManager.GetAllPluginItemMetadata(PLAYERBUILDERS_REGISTRATION_PATH)) { LoadPlayerBuilder(itemMetadata.Id); } } }
public SkinManager() { _skinResourcesPluginItemStateTracker = new DefaultItemStateTracker("SkinManager: Usage of skin resources") { Stopped = itemRegistration => SkinResourcesWereChanged() }; _skinResourcesRegistrationChangeListener = new DefaultItemRegistrationChangeListener("SkinManager: Usage of skin resources") { ItemsWereAdded = (location, items) => SkinResourcesWereChanged() // Item removals are handled by the plugin item state tracker }; _backgroundManagerData = new BackgroundManagerData(this); IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); pluginManager.AddItemRegistrationChangeListener( SKIN_RESOURCES_REGISTRATION_PATH, _skinResourcesRegistrationChangeListener); ReloadSkins(); }
protected void InitializeLanguageResources() { try { // Add language directories IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); ICollection <PluginResource> languageResources = pluginManager.RequestAllPluginItems <PluginResource>( LANGUAGE_RESOURCES_REGISTRATION_PATH, _languagePluginStateTracker); pluginManager.AddItemRegistrationChangeListener( LANGUAGE_RESOURCES_REGISTRATION_PATH, _languageResourcesRegistrationChangeListener); lock (_syncObj) { _languageDirectories = new List <string>(); ILogger logger = ServiceRegistration.Get <ILogger>(); foreach (PluginResource resource in languageResources) { logger.Debug("{0}: Adding language directory '{1}'", GetType().Name, resource.Path); if (Directory.Exists(resource.Path)) { _languageDirectories.Add(resource.Path); } else { logger.Error("{0}: Language directory doesn't exist: {1}", GetType().Name, resource.Path); } } } ReLoad(); } catch (Exception e) { ServiceRegistration.Get <ILogger>().Error("{0}: Error initializing language resources", e, GetType().Name); } }