protected override void ConfigureIoC(IStyletIoCBuilder builder)//2 { // Configure the IoC container in here builder.Bind <IEventAggregator>().To <EventAggregator>().InSingletonScope(); builder.Bind <OEEViewModel>().ToSelf(); builder.Bind <DataStorage>().ToSelf().InSingletonScope(); builder.Bind <ScannerService>().ToSelf().InSingletonScope(); builder.Bind <LaserService>().ToSelf().InSingletonScope(); builder.Bind <MaterialManager>().ToFactory(x => MaterialManager.Load()).InSingletonScope(); builder.Bind <IMainTabViewModel>().ToAllImplementations().InSingletonScope(); builder.Bind <Info>().ToSelf().InSingletonScope(); builder.Bind <IByteTransform>().ToFactory(x => new ReverseWordTransform() { DataFormat = DataFormat.CDAB, }); builder.Bind <IReadWriteNet>().ToFactory(x => new ModbusTcpNet("127.0.0.1") { AddressStartWithZero = false, DataFormat = DataFormat.CDAB, IsStringReverse = false }); ILogger log = new LoggerConfiguration() .WriteTo.RollingFile("log - {Date} .txt ") .CreateLogger(); builder.Bind <ILogger>().ToInstance(log); builder.Bind <IIoService>().To <IoService>().InSingletonScope(); builder.Autobind(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <HttpClient>().ToFactory(container => { var client = new HttpClient( new HttpClientHandler { ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true }); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); return(client); }); // builder.Bind<IscSdkOption>().ToSelf().InSingletonScope(); builder.Bind <IOptions <IscSdkOption> >().To <SdkOption>().InSingletonScope(); builder.Bind <IHikVisionApiManager>().To <HikVisionApiManager>(); builder.Bind <IHikPmsApiManager>().To <HikPmsApiManager>(); builder.Bind <IHikResourceApiManager>().To <HikResourceApiManager>(); builder.Bind <IHikEventServiceApiManager>().To <HikEventServiceApiManager>(); builder.Bind <IHikFrsApiManager>().To <HikFrsApiManager>(); builder.Bind <IHikAcsApiManager>().To <HikAcsApiManager>(); builder.Bind <IHikIrdsApiManager>().To <HikIrdsApiManager>(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); // Bind view model factory builder.Bind <IViewModelFactory>().ToAbstractFactory(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { // Configure the IoC container in here builder.Bind <ConfigService>().ToSelf().InSingletonScope(); builder.Bind <LanguageService>().ToSelf().InSingletonScope(); builder.Bind <UpdateService>().ToSelf().InSingletonScope(); builder.Bind <ThemeService>().ToSelf().InSingletonScope(); builder.Bind <GamePathService>().ToSelf().InSingletonScope(); builder.Bind <DownloadUrlService>().ToSelf().InSingletonScope(); builder.Bind <VersionService>().ToSelf().InSingletonScope(); builder.Bind <LibraryService>().ToSelf().InSingletonScope(); builder.Bind <AssetService>().ToSelf().InSingletonScope(); builder.Bind <AuthService>().ToSelf().InSingletonScope(); builder.Bind <AccountService>().ToSelf().InSingletonScope(); builder.Bind <LaunchService>().ToSelf().InSingletonScope(); builder.Bind <ForgeInstallService>().ToSelf().InSingletonScope(); builder.Bind <FabricInstallService>().ToSelf().InSingletonScope(); builder.Bind <ModService>().ToSelf().InSingletonScope(); builder.Bind <ResourcePackService>().ToSelf().InSingletonScope(); builder.Bind <SkinService>().ToSelf().InSingletonScope(); // To share these two VMs among other VMs, they must be singletons builder.Bind <VersionsManagementViewModel>().ToSelf().InSingletonScope(); builder.Bind <GreetingViewModel>().ToSelf().InSingletonScope(); // Custom MessageBox builder.Bind <IMessageBoxViewModel>().To <MessageViewModel>(); // Validation builder.Bind(typeof(IModelValidator <>)).ToAllImplementations(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); builder.Bind <ILogger>().To <Logger>().InSingletonScope().AsWeakBinding(); builder.Bind <IViewModelFactory>().ToAbstractFactory(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <IWindowManager>().To <WindowManager>(); builder.Bind <LoginViewModel>().ToSelf(); builder.Bind <RegisterViewModel>().ToSelf(); builder.Bind <AuthViewModel>().ToSelf(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); builder.Autobind(); builder.Bind <IMonitorViewModelFactory>().ToAbstractFactory(); builder.Bind <IContext>().ToInstance(new Context()); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { Log.Information("Configuring the IoC container."); // Add all Transient services to the IoC builder.Bind <IFilePaths>().To <FilePaths>(); builder.Bind <IFileReader>().To <FileReader>(); builder.Bind <IFileWriter>().To <FileWriter>(); builder.Bind <IShareCodeConverter>().To <ShareCodeConverter>(); builder.Bind <IProtobufConverter>().To <ProtobufConverter>(); builder.Bind <IBoilerProcess>().To <BoilerProcess>(); builder.Bind <ISteamApi>().To <SteamApi>(); // Add all Singleton services to the IoC builder.Bind <IUploader>().To <Uploader>().InSingletonScope(); // Add all other Singleton classes to the IoC builder.Bind <BoilerClientViewModel>().ToSelf().InSingletonScope(); builder.Bind <TrayIconViewModel>().ToSelf().InSingletonScope(); // Add static httpclient builder.Bind <IHttpClient>().ToInstance(new HttpClientFacade()); Log.Information("Finished configuring the IoC container."); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); // Bind your own types. Concrete types are automatically self-bound. //get settings service builder.Bind <ISettings>().To <AppSettingService>().InSingletonScope(); builder.Bind <ILogger>().To <NLogLogger>().InSingletonScope(); //load settings ioc = builder.BuildContainer(); settings = ioc.Get <ISettings>().Load(); // //bind logger service //bind Notification service with account settings value builder.Bind <INotification>().ToFactory(container => new NotificationTelegramService(settings.NotificationAccount, container.Get <ILogger>())); builder.Bind <ISender>().ToFactory(container => new SenderWebService(settings.MainAccount)); //builder.Bind<ISender>().To<SenderTestService>(); builder.Bind <NotificationAccountSettings>().ToFactory(container => settings.NotificationAccount); builder.Bind <MainAccount>().ToFactory(container => settings.MainAccount); builder.Bind <AppSettingsModel>().ToFactory(container => settings); builder.Bind <IReaderMails>().To <ReaderMailsService>().InSingletonScope(); builder.Bind <IDialogService>().To <DefaultDialogService>(); //builder.Bind<ILoadReceivers>().To<ReceiverLoaderExel>(); builder.Bind <ILoadReceivers>().To <LoadSaveReceiversSqlite>(); builder.Bind <BindableCollection <Receiver> >().ToFactory(container => new BindableCollection <Receiver>()).InSingletonScope(); ioc = builder.BuildContainer(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { _logger.LogInformation("Configuring IoC"); _logger.LogInformation("Setting {type}", typeof(StartupInfo).ToString()); var startup = new StartupInfo { Args = Args }; startup.StartMinmized = Args.Contains("minimized"); builder.Bind <StartupInfo>().ToInstance(startup); builder.Bind <Func <Type, ILogger> >().ToInstance(_createLogger); builder.Bind <IEntropy>().ToInstance(new AssemblyNameEntropy()); // Configure the IoC container in here foreach (StyletIoCModule item in s_iocModules) { _logger?.LogDebug("Adding {iocmodule}: '{module}'", nameof(StyletIoCModule), item.TypeName()); builder.AddModule(item); } builder.Bind <Tick>().ToSelf().InSingletonScope(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); // Bind view model factory builder.Bind <IViewModelFactory>().ToAbstractFactory(); // and factory for individual stream pages builder.Bind <IStreamViewModelFactory>().ToAbstractFactory(); // and factory for dialog modals (eg create stream) builder.Bind <IDialogFactory>().ToAbstractFactory(); // and factory for repositories builder.Bind <StreamsRepository>().ToSelf(); builder.Bind <AccountsRepository>().ToSelf(); // and finally the external bindings (eg from Revit, Rhino, etc) builder.Bind <ConnectorBindings>().ToFactory(container => { var bindings = Bindings; container.BuildUp(bindings); // build with ioc to make use of injection return(bindings); }); }
public static void BindTestServices(IStyletIoCBuilder builder) { var allTypes = AppDomain.CurrentDomain.GetAssemblies() .Where(a => !a.GlobalAssemblyCache) .SelectMany(x => x.GetTypes()); var loadedTypes = allTypes.Where(t => t.GetInterface("ITestImplementationOf`1") == null); var loadedServiceInterfaces = loadedTypes.Where(t => t.IsInterface && t.GetInterface(nameof(IService)) != null); var fakeTypes = allTypes.Where(t => t.IsClass && !t.IsAbstract && t.GetInterface("ITestImplementationOf`1") != null); var realToFakeTypeDictionary = new Dictionary <Type, Type>(); foreach (var fakeType in fakeTypes) { var realType = fakeType.GetInterface("ITestImplementationOf`1").GetGenericArguments()[0]; try { realToFakeTypeDictionary.Add(realType, fakeType); } catch (ArgumentException e) { throw new ArgumentException($"There is already a test implementation of {realType.Name}, that has been provided by {realToFakeTypeDictionary[realType].Name}. {fakeType.Name} needs to be removed.", e); } } foreach (var loadedService in loadedServiceInterfaces) { BindEverythingThatImplementsInterface(loadedService, builder, loadedTypes, realToFakeTypeDictionary); } }
//protected override void OnStart() //{ // This is called just after the application is started, but before the IoC container is set up. // Set up things like logging, etc //} protected override void ConfigureIoC(IStyletIoCBuilder builder) { // Bind your own types. Concrete types are automatically self-bound. builder.Bind(typeof(IModelValidator <>)).To(typeof(ValidationAdapter <>)); builder.Bind(typeof(IValidator <>)).ToAllImplementations(); builder.Bind(typeof(TabItem)).ToAllImplementations(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <NavigationController>().And <INavigationController>().To <NavigationController>().InSingletonScope(); // https://github.com/canton7/Stylet/issues/24 builder.Bind <Func <Page1ViewModel> >().ToFactory <Func <Page1ViewModel> >(c => () => c.Get <Page1ViewModel>()); builder.Bind <Func <Page2ViewModel> >().ToFactory <Func <Page2ViewModel> >(c => () => c.Get <Page2ViewModel>()); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { // Configure the IoC container in here builder.Bind <IDialogCoordinator>().ToInstance(DialogCoordinator.Instance); builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>)); builder.Bind(typeof(IValidator <>)).ToAllImplementations(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <IAuthenticationStrategy>() .To <DefaultAuthenticationStrategy>() .InSingletonScope(); builder.Bind <ISessionProvider>() .To <SessionProvider>() .InSingletonScope(); builder.Bind <ILocalDBStorageLocationStrategy>() .ToInstance( new PortableLocalDBStorageLocationStrategy("Videothek.Production.sqlite") ); builder.Bind <Database>() .ToSelf() .InSingletonScope(); builder.Bind(typeof(Repository <>)) .ToSelf(); //User Level Services builder.Bind <UserService>() .ToSelf(); builder.Bind <VideoService>() .ToSelf(); builder.Bind <RentalService>() .ToSelf(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { this.ConfigureIoCCalled = true; builder.Bind <I1>().To <C1>(); // Singleton, so we can test against it builder.Bind <RootViewModel>().ToInstance(this.MyRootViewModel).DisposeWithContainer(false); base.ConfigureIoC(builder); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { // Configure the IoC container in here builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>)); builder.Bind(typeof(IValidator <>)).ToAllImplementations(); builder.Bind <IViewModelsFactory>().ToAbstractFactory(); builder.Bind <LoginViewModel>().ToSelf().InSingletonScope(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); builder.Bind <ITabFinder>().To <FirefoxTabFinder>().WithKey("Firefox"); builder.Bind <ITabFinder>().To <ChromeTabFinder>().WithKey("Chrome"); builder.Bind <IBrowserTabFinder>().To <BrowserTabFinder>().InSingletonScope(); builder.Bind <ITabFactory>().ToAbstractFactory(); builder.AddModule(new SettingsModule()); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); builder.Bind <IDefaultsData>().To <DefaultsData>(); builder.Bind <IClientData>().To <ClientData>(); builder.Bind <IPaymentData>().To <PaymentData>(); builder.Bind <IWorkData>().To <WorkData>(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { // Configure the IoC container in here builder.Bind <IDataAccess>().To <DataRetriever>(); builder.Bind <ILoginController>().To <LoginController>(); builder.Bind <IIssueAccessHandler>().To <IssueAccessHandler>(); builder.Bind <ILoginHandler>().To <LoginHandler>(); builder.Bind <IUserAccessHandler>().To <UserAccessHandler>(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <IApplicationState>().ToInstance(new ApplicationState(this.Application)); builder.Bind <IApplicationWindowState>().To <ApplicationWindowState>().InSingletonScope(); builder.Bind <IFocusWindowProvider>().ToInstance(new FocusWindowProvider(this.Application)); builder.Bind <IUserActivityMonitor>().To <UserActivityMonitor>().InSingletonScope(); builder.Bind <IConfigurationProvider>().To <ConfigurationProvider>().InSingletonScope(); builder.Bind <IApplicationPathsProvider>().To <ApplicationPathsProvider>().InSingletonScope(); builder.Bind <IAssemblyProvider>().To <AssemblyProvider>().InSingletonScope(); builder.Bind <IAutostartProvider>().To <AutostartProvider>().InSingletonScope(); builder.Bind <ConfigurationApplicator>().ToSelf().InSingletonScope(); builder.Bind <ISyncthingApiClientFactory>().To <SyncthingApiClientFactory>(); builder.Bind <ISyncthingEventWatcherFactory>().To <SyncthingEventWatcherFactory>(); builder.Bind <ISyncthingProcessRunner>().To <SyncthingProcessRunner>().InSingletonScope(); builder.Bind <ISyncthingManager>().To <SyncthingManager>().InSingletonScope(); builder.Bind <ISyncthingConnectionsWatcherFactory>().To <SyncthingConnectionsWatcherFactory>(); builder.Bind <IFreePortFinder>().To <FreePortFinder>().InSingletonScope(); builder.Bind <INotifyIconManager>().To <NotifyIconManager>().InSingletonScope(); builder.Bind <IWatchedFolderMonitor>().To <WatchedFolderMonitor>().InSingletonScope(); builder.Bind <IUpdateManager>().To <UpdateManager>().InSingletonScope(); builder.Bind <IUpdateDownloader>().To <UpdateDownloader>().InSingletonScope(); builder.Bind <IUpdateCheckerFactory>().To <UpdateCheckerFactory>(); builder.Bind <IUpdatePromptProvider>().To <UpdatePromptProvider>(); builder.Bind <IUpdateNotificationClientFactory>().To <UpdateNotificationClientFactory>(); builder.Bind <IInstallerCertificateVerifier>().To <InstallerCertificateVerifier>().InSingletonScope(); builder.Bind <IProcessStartProvider>().To <ProcessStartProvider>().InSingletonScope(); builder.Bind <IFilesystemProvider>().To <FilesystemProvider>().InSingletonScope(); builder.Bind <IConflictFileManager>().To <ConflictFileManager>(); // Could be singleton... Not often used builder.Bind <IConflictFileWatcher>().To <ConflictFileWatcher>().InSingletonScope(); builder.Bind <IAlertsManager>().To <AlertsManager>().InSingletonScope(); builder.Bind <IIpcCommsClientFactory>().To <IpcCommsClientFactory>().InSingletonScope(); builder.Bind <IIpcCommsServer>().To <IpcCommsServer>().InSingletonScope(); builder.Bind <IFileWatcherFactory>().To <FileWatcherFactory>(); builder.Bind <IDirectoryWatcherFactory>().To <DirectoryWatcherFactory>(); builder.Bind <INetworkCostManager>().To <NetworkCostManager>(); builder.Bind <IMeteredNetworkManager>().To <MeteredNetworkManager>().InSingletonScope(); builder.Bind <IPathTransformer>().To <PathTransformer>().InSingletonScope(); builder.Bind <IConnectedEventDebouncer>().To <ConnectedEventDebouncer>(); builder.Bind <IDonationManager>().To <DonationManager>().InSingletonScope(); if (AppSettings.Instance.Variant == SyncTrayzorVariant.Installed) { builder.Bind <IUpdateVariantHandler>().To <InstalledUpdateVariantHandler>(); } else if (AppSettings.Instance.Variant == SyncTrayzorVariant.Portable) { builder.Bind <IUpdateVariantHandler>().To <PortableUpdateVariantHandler>(); } else { Trace.Assert(false); } builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>)); builder.Bind(typeof(IValidator <>)).ToAllImplementations(); }
/// <summary> /// Binds all interfaces that implement <see cref="ISingletonService"/> to thier implementations. /// </summary> /// <param name="builder">The IoC container builder.</param> public static void BindServices(IStyletIoCBuilder builder) { IEnumerable <Type> loadedTypes = GetAllLoadedNonTestTypes(); var loadedServiceInterfaces = loadedTypes.Where(t => t.IsInterface && t.GetInterface(nameof(ISingletonService)) != null); foreach (var loadedService in loadedServiceInterfaces) { BindEverythingThatImplementsInterfaceAsASingleton(loadedService, builder, loadedTypes, new Dictionary <Type, Type>()); } }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); // Bind settings as singleton builder.Bind <SettingsService>().ToSelf().InSingletonScope(); // Bind view model factory builder.Bind <IViewModelFactory>().ToAbstractFactory(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <ExileEngine>().ToInstance(new ExileEngine(Settings.Default.UserAgent)); builder.Bind <BaseTabViewModel>().ToAllImplementations(); builder.Bind <ISnackbarMessageQueue>().ToInstance(new SnackbarMessageQueue(TimeSpan.FromSeconds(3))); builder.Bind <IWindowFactory>().ToAbstractFactory(); builder.Bind <AppWindowManager>().ToSelf().InSingletonScope(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { BootstrapperUtilities.BindServices(builder); BootstrapperUtilities.LoadColorInformation(); builder.Bind <IViewManager>().To <DiiagramrViewManager>().InSingletonScope(); builder.Assemblies.Add(Assembly.Load(nameof(DiiagramrAPI))); builder.Bind <LibraryManagerWindowViewModel>().To <LibraryManagerWindowViewModel>().InSingletonScope(); builder.Bind <IShell>().To <DiiagramrAPI.Shell.Shell>().InSingletonScope(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { base.ConfigureIoC(builder); builder.Autobind(typeof(SettingsManager).Assembly); builder.Bind <SettingsManager>().ToSelf().InSingletonScope(); //This is probably bad, but I'm not sure the best way to use the IoC builder.Bind <SettingsViewModel>().ToSelf().InSingletonScope(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { // Configure the IoC container in here base.ConfigureIoC(builder); builder.Bind <IViewModelFactory>().ToAbstractFactory(); builder.Bind <IDialogModelFactory>().ToAbstractFactory(); builder.Bind(typeof(IModelValidator <>)).To(typeof(FluentModelValidator <>)); builder.Bind(typeof(IValidator <>)).ToAllImplementations(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { // builder.Bind<IRestApi>().To<DummyRestApi>(); builder.Bind <IRestApi>().To <RestApi>().InSingletonScope(); builder.Bind <HeroItemUtil>().ToSelf().InSingletonScope(); builder.Bind <MapItemUtil>().ToSelf().InSingletonScope(); builder.Bind <ISecurityProvider>().To <SecurityProvider>().InSingletonScope(); builder.Bind <IHeroSelectorViewModelFactory>().ToAbstractFactory(); builder.Bind <IMapSelectorViewModelFactory>().ToAbstractFactory(); builder.Bind <ShellViewModel.IWebFileUpdaterViewModelFactory>().ToAbstractFactory(); builder.Bind <ShellViewModel.IBpViewModelFactory>().ToAbstractFactory(); }
protected override void ConfigureIoC(IStyletIoCBuilder builder) { builder.Bind <IRestApi>().To <RestApi>().InSingletonScope(); builder.Bind <HeroItemUtil>().ToSelf().InSingletonScope(); builder.Bind <MapItemUtil>().ToSelf().InSingletonScope(); builder.Bind <ISecurityProvider>().To <SecurityProvider>().InSingletonScope(); builder.Bind <IToastService>().To <ToastService>().InSingletonScope(); RegisterViewModelFactories(builder); builder.Bind <IImageUtil>().To <ImageUtils>(); }