diff --git a/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs b/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs new file mode 100644 index 0000000..ba59c63 --- /dev/null +++ b/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs @@ -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(); +} diff --git a/src/AcDream.Plugin.Abstractions/ILogger.cs b/src/AcDream.Plugin.Abstractions/ILogger.cs new file mode 100644 index 0000000..a7199cf --- /dev/null +++ b/src/AcDream.Plugin.Abstractions/ILogger.cs @@ -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); +} diff --git a/src/AcDream.Plugin.Abstractions/IPluginHost.cs b/src/AcDream.Plugin.Abstractions/IPluginHost.cs new file mode 100644 index 0000000..065a533 --- /dev/null +++ b/src/AcDream.Plugin.Abstractions/IPluginHost.cs @@ -0,0 +1,11 @@ +// src/AcDream.Plugin.Abstractions/IPluginHost.cs +namespace AcDream.Plugin.Abstractions; + +/// +/// 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. +/// +public interface IPluginHost +{ + ILogger Log { get; } +} diff --git a/src/AcDream.Plugin.Abstractions/Placeholder.cs b/src/AcDream.Plugin.Abstractions/Placeholder.cs deleted file mode 100644 index 1cbfb0f..0000000 --- a/src/AcDream.Plugin.Abstractions/Placeholder.cs +++ /dev/null @@ -1,3 +0,0 @@ -// src/AcDream.Plugin.Abstractions/Placeholder.cs -namespace AcDream.Plugin.Abstractions; -internal static class Placeholder { }