Files
nfoguard/NFOGuard.Emby.Plugin/PluginEntryPoint.cs
T
2025-09-12 09:04:23 -04:00

44 lines
1.4 KiB
C#

using System;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging;
namespace NFOGuard.Emby.Plugin
{
public class PluginEntryPoint : IServerEntryPoint
{
private readonly ILibraryManager _libraryManager;
private readonly IItemRepository _itemRepository;
private readonly ILogger _logger;
private LibraryEventHandler _eventHandler;
public PluginEntryPoint(ILibraryManager libraryManager, IItemRepository itemRepository, ILogManager logManager)
{
_libraryManager = libraryManager;
_itemRepository = itemRepository;
_logger = logManager.GetLogger("NFOGuard");
}
public void Run()
{
_logger.Info("NFOGuard :: Plugin starting up");
try
{
_eventHandler = new LibraryEventHandler(_libraryManager, _itemRepository, _logger);
_logger.Info("NFOGuard :: Event handlers registered successfully");
}
catch (Exception ex)
{
_logger.ErrorException("NFOGuard :: Failed to initialize event handlers", ex);
}
}
public void Dispose()
{
_logger.Info("NFOGuard :: Plugin shutting down");
_eventHandler?.Dispose();
}
}
}