namespace LANCommander.Launcher.Services;
///
/// Exposes information about the currently running launcher process that the
/// needs in order to decide whether a script must be
/// re-launched with elevated privileges. Abstracted so the elevation decision can be tested without
/// depending on the real process token.
///
public interface ICurrentProcessInfo
{
///
/// The full path to the executable backing the current process. This is the "minimal launcher"
/// that gets re-invoked (elevated) to actually run the script.
///
string ExecutablePath { get; }
///
/// True if the current process is already running with administrator/root privileges.
///
bool IsElevated { get; }
}