Files
git.stella-ops.org/src/Plugin/StellaOps.Plugin.Sandbox/ISandboxFactory.cs
2026-01-12 12:24:17 +02:00

28 lines
954 B
C#

namespace StellaOps.Plugin.Sandbox;
/// <summary>
/// Factory for creating sandbox instances.
/// </summary>
public interface ISandboxFactory
{
/// <summary>
/// Create a new sandbox with the specified configuration.
/// </summary>
/// <param name="configuration">Sandbox configuration.</param>
/// <returns>A new sandbox instance.</returns>
ISandbox Create(SandboxConfiguration configuration);
/// <summary>
/// Create a new sandbox with default configuration.
/// </summary>
/// <returns>A new sandbox instance with default settings.</returns>
ISandbox CreateDefault();
/// <summary>
/// Create a sandbox with configuration appropriate for the given trust level.
/// </summary>
/// <param name="trustLevel">Trust level of the plugin.</param>
/// <returns>A sandbox configured for the trust level.</returns>
ISandbox CreateForTrustLevel(Abstractions.PluginTrustLevel trustLevel);
}