using Dalamud.Plugin;
using LightlessSync.Interop.Ipc.Framework;
using LightlessSync.Services;
using LightlessSync.Services.Mediator;
using Microsoft.Extensions.Logging;

namespace LightlessSync.Interop.Ipc.Penumbra;

public abstract class PenumbraBase : IpcInteropBase
{
    protected PenumbraBase(
        ILogger logger,
        IDalamudPluginInterface pluginInterface,
        DalamudUtilService dalamudUtil,
        LightlessMediator mediator) : base(logger)
    {
        PluginInterface = pluginInterface;
        DalamudUtil = dalamudUtil;
        Mediator = mediator;
    }

    protected IDalamudPluginInterface PluginInterface { get; }

    protected DalamudUtilService DalamudUtil { get; }

    protected LightlessMediator Mediator { get; }
}
