/// <summary> /// Adds a single app that gets instantiated by the provided Func /// </summary> /// <param name="services">Services</param> /// <param name="factoryFunc">The Func used to create the app</param> /// <param name="id">The id of the app. This parameter is optional, /// by default it tries to locate the id from the specified TAppType.</param> /// <param name="focus">Whether this app has focus or not. This parameter is optional, /// by default it tries to check this using the FocusAttribute</param> /// <typeparam name="TAppType">The type of the app</typeparam> public static IServiceCollection AddNetDaemonApp <TAppType>( this IServiceCollection services, Func <IServiceProvider, TAppType> factoryFunc, string?id = default, bool?focus = default) where TAppType : class { return(services .AddAppModelIfNotExist() .AddSingleton <IAppFactoryProvider>(SingleAppFactoryProvider.Create(factoryFunc, id, focus))); }
/// <summary> /// Add a single app /// </summary> /// <param name="services">Services</param> /// <param name="type">The type of the app to add</param> public static IServiceCollection AddNetDaemonApp(this IServiceCollection services, Type type) { return(services .AddAppModelIfNotExist() .AddSingleton(SingleAppFactoryProvider.Create(type))); }