2026-07-23 19:47:22 -05:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace LANCommander.SDK.Plugins;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-07-28 19:06:33 -05:00
|
|
|
/// Implemented by plugins that want to add PowerShell cmdlets or script modules into the
|
2026-07-23 19:47:22 -05:00
|
|
|
/// LANCommander runspace. Register the implementation in <see cref="IPlugin.ConfigureServices"/>;
|
2026-07-28 19:06:33 -05:00
|
|
|
/// the SDK's PowerShell runspace picks up all registered extensions when a script is executed.
|
2026-07-23 19:47:22 -05:00
|
|
|
/// </summary>
|
2026-07-28 19:06:33 -05:00
|
|
|
public interface IPluginPowerShellExtension
|
2026-07-23 19:47:22 -05:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Returns cmdlet types (classes decorated with <c>[Cmdlet]</c>) to register into each runspace.
|
|
|
|
|
/// </summary>
|
|
|
|
|
IEnumerable<Type> GetCmdletTypes();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Returns absolute paths to PowerShell script modules (.psm1/.psd1) shipped with the plugin that
|
|
|
|
|
/// should be imported into each runspace.
|
|
|
|
|
/// </summary>
|
|
|
|
|
IEnumerable<string> GetModulePaths();
|
|
|
|
|
}
|