Files
Luis von der Eltz 9506e433cc Fix nullable warning
2021-09-08 14:06:49 +02:00

35 lines
962 B
C#

using System;
using System.Diagnostics;
using System.IO;
namespace DesktopNotifications.FreeDesktop
{
/// <summary>
/// </summary>
public class FreeDesktopApplicationContext : ApplicationContext
{
private FreeDesktopApplicationContext(string name, string? appIcon) : base(name)
{
AppIcon = appIcon;
}
/// <summary>
/// </summary>
public string? AppIcon { get; }
public static FreeDesktopApplicationContext FromCurrentProcess(string? appIcon = null)
{
var mainModule = Process.GetCurrentProcess().MainModule;
if (mainModule?.FileName == null)
{
throw new InvalidOperationException("No valid process module found.");
}
return new FreeDesktopApplicationContext(
Path.GetFileNameWithoutExtension(mainModule.FileName),
appIcon
);
}
}
}