protected override void ActivateInternal() { var setting = Resolver.GetInstance <InfluxDbSetting>(); var threadManager = Resolver.GetInstance <IThreadManager>(); var schedulingService = Resolver.GetInstance <ISchedulingService>(); var loggerFactory = Resolver.GetInstance <ILogManager>(); Logger.Info("Establishing connection to server [{0}]", setting.Server); var influxDbClient = new InfluxDBClient(setting.Server, setting.Username, setting.Password); var upload = new InfluxDbUpload(loggerFactory.GetLogger(typeof(InfluxDbUpload)), influxDbClient, threadManager, schedulingService); var uploadRegistration = new SingletonRegistration <IInfluxDbUpload>(upload); ConfigurationResolver.AddRegistration(uploadRegistration); var read = new InfluxDbRead(influxDbClient); var readRegistration = new SingletonRegistration <IInfluxDbRead>(read); ConfigurationResolver.AddRegistration(readRegistration); var management = new InfluxDbManagement(influxDbClient, loggerFactory.GetLogger(typeof(InfluxDbManagement))); var managementRegistration = new SingletonRegistration <IInfluxDbManagement>(management); ConfigurationResolver.AddRegistration(managementRegistration); }
public WhenRunningInTheDebuggerSingletonRegistrationShould() { var sut = new SingletonRegistration(new SingleConstructorRegistration(GetType())); _implementationType = sut.ImplementationType; GetDebuggerDisplay(sut); }
public void Register(BootstrapInCodeConfiguration configuration, IDependencyResolverConfigurator configurator, IDependencyResolver resolver) { var parameter = new EnvironmentParameter(); var registration = new SingletonRegistration <IEnvironmentParameters>(parameter); configurator.AddRegistration(registration); }
public void Handle(SingletonRegistration serviceRegistration) { if (serviceRegistration.SingletonInstance == null) { _container.Configure(x => x.For(serviceRegistration.InterfaceType) .Singleton() .Use(serviceRegistration.SingletonConcreteType)); } else { _container.Configure(x => x.For(serviceRegistration.InterfaceType) .Singleton() .Use(serviceRegistration.SingletonInstance)); } }
protected override void ActivateInternal() { _service = new SchedulingService(); var schedulingServiceRegistration = new SingletonRegistration <ISchedulingService>(_service); ConfigurationResolver.AddRegistration(schedulingServiceRegistration); _service.StartScheduler(); EventService.Register <SystemIsShutingDownMessage>(message => { _service.StopScheduler(); }); }
protected override void ActivateInternal() { var loggerFactory = Resolver.GetInstance <ILogManager>(); var factory = new MongoFactory(Resolver.GetInstance <MongoSettings>(), loggerFactory.GetLogger(typeof(MongoFactory))); factory.LoadMappings(); var dataAccessProvider = new MongoDataAccessProvider(factory); var factoryRegistration = new SingletonRegistration <IMongoFactory>(factory); var mongoDataAccessProviderRegistration = new SingletonRegistration <IMongoDataAccessProvider>(dataAccessProvider); var dataAccessProviderRegistration = new SingletonRegistration <IDataAccessProvider>(dataAccessProvider); ConfigurationResolver.AddRegistration(factoryRegistration); ConfigurationResolver.AddRegistration(mongoDataAccessProviderRegistration); ConfigurationResolver.AddRegistration(dataAccessProviderRegistration); }
protected override void ActivateInternal() { var versionService = new WallpaperClientVersionService(); var registration = new SingletonRegistration <WallpaperClientVersionService>(versionService); ConfigurationResolver.AddRegistration(registration); var uiApp = Resolver.GetInstance <IUiApplication>(); uiApp.ShutdownMode = ShutdownMode.OnExplicitShutdown; var resourceDictionaryManager = Resolver.GetInstance <IResourceDictionaryManager>(); var dir = new ResourceDictionary { Source = new Uri("/Plugin.Application.Wallpaper.Client;component/WallpaperClientResourceDictionary.xaml", UriKind.RelativeOrAbsolute) }; resourceDictionaryManager.AddToApplication(dir); var result = dir["WallpaperNotifyIcon"] as TaskbarIcon; if (result != null) { var viewModel = Resolver.CreateConcreteInstanceWithDependencies <TaskBarIconViewModel>(); ConfigurationResolver.AddRegistration(new ServiceInstanceRegistration <IUserInteraction>(viewModel)); result.DataContext = viewModel; result.Loaded += (s, e) => viewModel.State.OnLogin(); } //Workaround for bug in NotfiyIcon library var tt = new ToolTip(); tt.IsOpen = true; tt.IsOpen = false; }
private SingletonVariableDeclaration CreateSingletonVariableDeclaration(SingletonRegistration singletonRegistration) => new SingletonVariableDeclaration(singletonRegistration.Service.FullyQualifiedTypeName(), singletonRegistration.Service.Name);