internal static TinyIoCContainer Build(AnyStatusPackage package) { var container = TinyIoCContainer.Current; RegisterCore(container, package); RegisterMenuCommands(container); RegisterUI(container); RegisterItems(container); RegisterTemplates(container); RegisterHandlers(container); return(container); }
private static void RegisterCore(TinyIoCContainer container, AnyStatusPackage package) { container.Register <IPackage>(package); container.Register <IInfoBarService, InfoBarService>().AsSingleton(); container.Register <IServiceProvider>(package); container.Register <AnyStatusApp>().AsSingleton(); container.Register <ISettingsStore, SettingsStore>().AsSingleton(); container.Register <ILogger, Logger>().AsSingleton(); container.Register <IJobScheduler, JobScheduler>().AsSingleton(); container.Register <IScheduledJob, ScheduledJob>().AsMultiInstance(); container.Register <IUsageReporter, AnalyticsReporter>().AsSingleton(); container.Register <ICommandRegistry, CommandRegistry>().AsSingleton(); container.Register <IMediator, Mediator>().AsMultiInstance(); container.Register <IProcessStarter, ProcessStarter>().AsMultiInstance(); }