Esempio n. 1
0
        public static IAddInAppBuilder UseAddIns(this IAddInAppBuilder addInAppBuilder, string[] args)
        {
            addInAppBuilder.ConfigureFeature(features => {
                features
                .AddFeature <AddInsFeature>()
                .FeatureServices(services => {
                    services.AddSingleton <AddInService>();
                });
            });

            //load addins indicate as auto addins
            foreach (string name in AutoRegistration.PackagesByName)
            {
                AddInTypes addInTypes = TypeLoader.LoadAddInTypes(NamedAddins.DeploymentPackages[name]);

                addInAppBuilder.ConfigureFeature(features => {
                    features
                    .AddFeature(addInTypes.Feature)
                    .FeatureServices(services => {
                        services.AddSingleton(addInTypes.Interface, addInTypes.Service);
                    });
                });
            }
            return(addInAppBuilder);
        }
 public static IAddInAppBuilder UseConsoleLog(this IAddInAppBuilder addInAppBuilder)
 {
     addInAppBuilder.ConfigureFeature(features => {
         features
         .AddFeature <ConsoleLogFeature>()
         .FeatureServices(services => {
             services.AddSingleton <ConsoleLog>();
             services.AddSingleton <ILoggerFactory, LoggerFactory>();
         });
     });
     return(addInAppBuilder);
 }
Esempio n. 3
0
        /// <summary>
        /// Makes the app use all the required features.
        /// </summary>
        /// <param name="addInAppBuilder">Builder responsible for creating the app.</param>
        /// <returns>App builder's interface to allow fluent code.</returns>
        public static IAddInAppBuilder UseBaseFeature(this IAddInAppBuilder addInAppBuilder)
        {
            addInAppBuilder.ConfigureFeature(features => {
                features
                .AddFeature <BaseFeature>()
                .FeatureServices(services => {
                    services.AddSingleton <App>().AddSingleton((provider) => { return(provider.GetService <App>() as IApp); });
                });
            });

            return(addInAppBuilder);
        }