feat(abstractions): add IAcDreamPlugin, IPluginHost, ILogger
This commit is contained in:
parent
42480cc751
commit
ed1c2d061c
4 changed files with 29 additions and 3 deletions
9
src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs
Normal file
9
src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs
Normal 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();
|
||||||
|
}
|
||||||
9
src/AcDream.Plugin.Abstractions/ILogger.cs
Normal file
9
src/AcDream.Plugin.Abstractions/ILogger.cs
Normal 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);
|
||||||
|
}
|
||||||
11
src/AcDream.Plugin.Abstractions/IPluginHost.cs
Normal file
11
src/AcDream.Plugin.Abstractions/IPluginHost.cs
Normal 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; }
|
||||||
|
}
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
// src/AcDream.Plugin.Abstractions/Placeholder.cs
|
|
||||||
namespace AcDream.Plugin.Abstractions;
|
|
||||||
internal static class Placeholder { }
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue