Example #1
0
        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);
        }
Example #3
0
        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();
            });
        }
Example #6
0
        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;
        }
Example #8
0
 private SingletonVariableDeclaration CreateSingletonVariableDeclaration(SingletonRegistration singletonRegistration)
 => new SingletonVariableDeclaration(singletonRegistration.Service.FullyQualifiedTypeName(), singletonRegistration.Service.Name);