44 lines
1.4 KiB
C#
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();
|
|
}
|
|
}
|
|
} |