feat(abstractions): add IAcDreamPlugin, IPluginHost, ILogger

This commit is contained in:
Erik 2026-04-10 09:42:52 +02:00
parent 42480cc751
commit ed1c2d061c
4 changed files with 29 additions and 3 deletions

View file

@ -0,0 +1,9 @@
// src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs
namespace AcDream.Plugin.Abstractions;
public interface IAcDreamPlugin
{
void Initialize(IPluginHost host);
void Enable();
void Disable();
}

View file

@ -0,0 +1,9 @@
// src/AcDream.Plugin.Abstractions/ILogger.cs
namespace AcDream.Plugin.Abstractions;
public interface ILogger
{
void Info(string message);
void Warn(string message);
void Error(string message, Exception? exception = null);
}

View file

@ -0,0 +1,11 @@
// src/AcDream.Plugin.Abstractions/IPluginHost.cs
namespace AcDream.Plugin.Abstractions;
/// <summary>
/// Entry point for a plugin into the acdream runtime. The surface will grow
/// across phases as more systems come online. For Phase 1 only ILogger is real.
/// </summary>
public interface IPluginHost
{
ILogger Log { get; }
}

View file

@ -1,3 +0,0 @@
// src/AcDream.Plugin.Abstractions/Placeholder.cs
namespace AcDream.Plugin.Abstractions;
internal static class Placeholder { }