Exemple #1
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (this.btnStart.Text == "START")
            {
                var container = new SimpleInjector.Container();

                container.Register <IChatServices, ChatServices>();
                container.Register <IMessagesServices, MessagesServices>();
                container.Register <IUsersByChatServices, UsersByChatServices>();
                container.Register <IUsersServices, UsersServices>();
                container.RegisterSingleton <PresenceContext>();

                container.Verify();


                //PresenceServiceInitializer.configure(container);

                this.btnStart.Text = "STOP";
            }
            else
            {
                //PresenceServiceInitializer.getInstance().Stop();
                this.btnStart.Text = "START";
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            string serviceName = typeof(Program).Assembly.GetName().Name;

            Console.Title = serviceName;

            Console.WriteLine($"{serviceName} running...");

            #region Register Dependencies
            var container = new SimpleInjector.Container();

            container.RegisterServices();
            container.Verify();
            #endregion

            var consumer         = container.GetInstance <IConsumer <BariguiEvent> >();
            var responseConsumer = container.GetInstance <IConsumer <BariguiEventResponse> >();

            var bus = container.GetInstance <IEventBus>();

            consumer.Consume();
            responseConsumer.Consume();

            Task.Run(() =>
            {
                while (true)
                {
                    bus.Publish(new BariguiEvent("Hello World!", serviceName)).Wait();
                    Thread.Sleep(5000);
                }
            });

            Console.WriteLine("Listening for messages. Hit <return> to quit.");
            Console.ReadLine();
        }
        public void Main(string[] args)
        {
            GCSettings.LatencyMode = GCLatencyMode.SustainedLowLatency;

            var simpleInjectorContainer = new SimpleInjector.Container();
            var autofacBuilder = new ContainerBuilder();

            foreach (var type in typeof(Greeter).Assembly.GetTypes())
            {
                autofacBuilder.RegisterType(type);
                simpleInjectorContainer.Register(type);
            }

            simpleInjectorContainer.Verify();

            var container = autofacBuilder.Build();

            Console.WriteLine("Starting sample performance test");

            TimeIt(() => ClassWithDeps.InlinedConstructor(), "Inlined .NET (base line)");

            TimeIt(() => ClassWithDeps.Factory(), "Compile Injector (this library)");

            TimeIt(() => container.Resolve<ClassWithDeps>(), "Autofac");

            TimeIt(() => simpleInjectorContainer.GetInstance<ClassWithDeps>(), "SimpleInjector");

            Console.WriteLine("Done");
        }
Exemple #4
0
        public MainWindow()
        {
            var container = new Container();

            container.Register <IConfigService, ConfigService>();
            container.Register <IScreenColorService, ScreenColorService>();
            container.Register <IMonitorService, MonitorService>();
            container.Verify();

            _configService      = container.GetInstance <IConfigService>();
            _temperatureService = container.GetInstance <IScreenColorService>();
            _monitorService     = container.GetInstance <IMonitorService>();

            Monitors        = new ObservableCollection <Monitor>(_monitorService.GetMonitors());
            SelectedMonitor = Monitors.FirstOrDefault();

            bool exists = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location)).Length > 1;

            if (exists)            //If this program already has an instance
            {
                try
                {
                    NamedPipeClientStream pipeStream = new NamedPipeClientStream(".", "instance", PipeDirection.Out, PipeOptions.None);

                    pipeStream.Connect();

                    Environment.Exit(0);
                }
                catch (TimeoutException oEx)
                {
                    Debug.WriteLine(oEx.Message);
                }
            }
            else            //If the program is not already running
            {
                _pipeServer = new NamedPipeServerStream("instance", PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);

                _pipeServer.BeginWaitForConnection(WaitForConnectionCallBack, _pipeServer);
            }

            AssignKeyToConfigCommand = new RelayCommand(AssignKeyToConfig);
            SaveConfigCommand        = new RelayCommand(SaveConfig);
            DeleteConfigCommand      = new RelayCommand(DeleteConfig);
            MoveConfigUpCommand      = new RelayCommand(MoveConfigUp);
            MoveConfigDownCommand    = new RelayCommand(MoveConfigDown);
            RefreshMonitorsCommand   = new RelayCommand(RefreshMonitors);


            _notifyIcon.Icon    = Properties.Resources.icon;
            _notifyIcon.Click  += NotifyIconOnClick;
            _notifyIcon.Visible = true;

            SystemEvents.SessionSwitch          += SystemEventsOnSessionSwitch;
            SystemEvents.UserPreferenceChanging += SystemEvents_UserPreferenceChanging;
            SystemEvents.PaletteChanged         += SystemEvents_PaletteChanged;
            SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;

            InitializeComponent();
        }
Exemple #5
0
        public void Init()
        {
            _container.Register <IFileHelper, FileHelper>();
            new DataRegister().Register(_container);
            new BusinessRegister().Register(_container);

            _container.Verify();
        }
Exemple #6
0
 static void StartSyslogServer()
 {
     #region SimpleInjector
     var container = new SimpleInjector.Container();
     container.Register <IMessageParser, MessageParser>();
     container.Register <IMessageStorage>(() => new MemoryStorage(10000));
     container.Verify();
     #endregion
     UDPListener listener = new UDPListener(8888);
     listener.StartListener(container.GetInstance <IMessageStorage>(), container.GetInstance <IMessageParser>());
 }
Exemple #7
0
        public static void Bootstrap(HttpConfiguration config)
        {
            var container = new SimpleInjector.Container();
            container.Register<IReportRepository<SummaryReport>>( ()=> new ReportRepository<SummaryReport>(), SimpleInjector.Lifestyle.Transient);

            
            container.Register<ISummaryReport>(() => new SummaryReport(container.GetInstance<IReportRepository<SummaryReport>>()), SimpleInjector.Lifestyle.Transient);
            container.RegisterDecorator(typeof(ISummaryReport), typeof(SummaryLogDecorator));
            container.Verify();
            config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
        }
Exemple #8
0
        private static void Bootstrap()
        {
            _container = new SimpleInjector.Container();

            Core.Configuracao.Dependencias.Resolve(new Container(_container));

            _container.Register <Form>();
            _container.GetRegistration(typeof(Form)).Registration.SuppressDiagnosticWarning(
                SimpleInjector.Diagnostics.DiagnosticType.DisposableTransientComponent, "Relaxa, eu cuido desse!");

            _container.Verify();
        }
Exemple #9
0
        public static BaseJobExecutorShell CreateAndStartEngine2()
        {
            var container = new SimpleInjector.Container();

            container.Register <IService2Contract, CounterWriter>();
            container.Verify();
            var engine = new GlutenFree.OddJob.Execution.Akka.HardInjectedJobExecutorShell <JobQueueLayerActor, JobWorkerActor, JobQueueCoordinator>(
                () => new JobQueueLayerActor(new SQLiteJobQueueManager(SQLiteSampleHelper.ConnFactoryFunc(),
                                                                       GenerateMappings.TableConfigurations["counter"], new NullOnMissingTypeJobTypeResolver())),
                () => new JobWorkerActor(new DefaultJobExecutor(new SimpleInjectorContainerFactory(container))),
                () => new JobQueueCoordinator(), new StandardConsoleEngineLoggerConfig("DEBUG"));

            engine.StartJobQueue("counter", 20, 3);
            return(engine);
        }
Exemple #10
0
        static void Main(string[] args)
        {
            #region Register Dependencies
            var container = new SimpleInjector.Container();

            container.RegisterServices();
            container.Verify();
            #endregion
            var consumer = container.GetInstance <IConsumer>();
            consumer.ConsumeMessages();


            Console.WriteLine("Sair...");
            Console.ReadLine();
        }
Exemple #11
0
        public static SimpleInjector.Container RegisterServices()
        {
            var container = new SimpleInjector.Container();

            container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();

            container.Register <IDatabaseService, DatabaseService>(SimpleInjector.Lifestyle.Scoped);
            container.Register <IGetMoviesListQuery, GetMoviesListQuery>(SimpleInjector.Lifestyle.Scoped);
            container.Register <IGetMovieQuery, GetMovieQuery>(SimpleInjector.Lifestyle.Scoped);
            container.Register <IAddMovieCommand, AddMovieCommand>(SimpleInjector.Lifestyle.Scoped);
            container.Register <IChangeMovieCommand, ChangeMovieCommand>(SimpleInjector.Lifestyle.Scoped);
            container.Register <IRemoveMovieCommand, RemoveMovieCommand>(SimpleInjector.Lifestyle.Scoped);

            container.Verify();

            return(container);
        }
Exemple #12
0
        // This code configures Web API. The Startup class is specified as a type
        // parameter in the WebApp.Start method.
        public void Configuration(IAppBuilder appBuilder)
        {
            //System.Threading.Thread.Sleep(70000);//.
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Fingrid.Messaging"].ConnectionString;

            Container = new SimpleInjector.Container();
            //Container.Options.DefaultScopedLifestyle = new ExecutionContextScopeLifestyle();
            Container.Options.DefaultScopedLifestyle = new SimpleInjector.Lifestyles.AsyncScopedLifestyle();
            Container.RegisterAllDependencies(connectionString);

            Container.Verify();


            try
            {
                //GlobalConfiguration.Configuration.DependencyResolver =
                //    new SimpleInjector.Integration.WebApi.SimpleInjectorWebApiDependencyResolver(Container);
                //Fingrid.Infrastructure.Common.Logging.ILogger logger = Container.GetInstance<Fingrid.Infrastructure.Common.Logging.ILogger>();

                // Configure Web API for self-host.
                HttpConfiguration config = new HttpConfiguration()
                {
                    DependencyResolver = new SimpleInjector.Integration.WebApi.SimpleInjectorWebApiDependencyResolver(Container)
                };

                //config.EnableCors();

                //  Enable attribute based routing
                //  http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2
                config.MapHttpAttributeRoutes();

                //config.Routes.MapHttpRoute(
                //    name: "DefaultApi",
                //    routeTemplate: "api/{controller}/{id}",
                //    defaults: new { id = RouteParameter.Optional }
                //);

                appBuilder.UseWebApi(config);
            }
            catch (Exception)
            {
                //logger.LogError(ex);
                throw;
            }
        }
Exemple #13
0
        public Provisioning_VSToolsPackage()
        {
            Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering constructor for: {0}", this.ToString()));

            try
            {
                //init IoC
                Container = IoCBootstrapper.GetContainer(false);
                Container.Register <Services.ILogService, Services.ProjectLogService>(SimpleInjector.Lifestyle.Singleton);
                Container.Register <Services.IProjectService, Services.ProjectService>(SimpleInjector.Lifestyle.Transient);

                Container.Verify();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.TraceError("Provisioning_VSToolsPackage failed: " + ex.Message);
            }
        }
Exemple #14
0
        public static void Main(string[] args)
        {
            string serviceName = typeof(Program).Assembly.GetName().Name;

            #region Register Dependencies
            var container = new SimpleInjector.Container();

            container.RegisterServices();
            container.Verify();
            #endregion
            var consumer = container.GetInstance <IConsumer>();
            consumer.Connect();
            consumer.SendMessages(serviceName, "Hello World");
            consumer.Disconnect();


            Console.WriteLine("Press [enter] to exit.");
            Console.ReadLine();
        }
        static SimpleInjector.Container ConfigureIoC()
        {
            var container = new SimpleInjector.Container();

            container.Options.AllowOverridingRegistrations = true;
            Logger.Msg("IoC container created.");

            container.RegisterSingle <ILogger>(Logger);
            container.Register <IBuilder, Builder>();
            container.Register <IFileSystem, WindowsFileSystem>();
            container.Register <ICountingFileSystem, CountingFileSystem>();
            container.Register <IFileFilter, FileFilter>();
            container.RegisterSingle <Settings>(Settings);
            Logger.Msg("Default Lithogen types registered.");

            string[] plugins = Directory.GetFiles(Settings.PluginsDirectory, "*.dll", SearchOption.TopDirectoryOnly);
            if (plugins.Length > 0)
            {
                foreach (string plugin in plugins)
                {
                    Logger.Msg("Registering plugins from " + plugin);
                    var pluginTypes = from type in Assembly.LoadFile(plugin).GetExportedTypes()
                                      where !type.IsAbstract && !type.IsGenericTypeDefinition
                                      select type;
                    foreach (Type pluginType in pluginTypes)
                    {
                        foreach (Type t in OverridableTypes)
                        {
                            if (t.IsAssignableFrom(pluginType))
                            {
                                container.Register(t, pluginType);
                                Logger.Msg("Registered type {0} against interface {1}.", pluginType.FullName, t.Name);
                            }
                        }
                    }
                }
                Logger.Msg("All plugin types registered.");
            }

            container.Verify();
            Logger.Msg("IoC container verified.");
            return(container);
        }
Exemple #16
0
        static void Main(string[] args)
        {
            // Configuración inicial del Injector de Dependencias.
            try
            {
                Container = new SimpleInjector.Container();
                var configIOC = new ConfiguracionIOC();
                configIOC.Configurar(Container);
                Container.Verify();
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Ocurrio un error al verificar las dependencias.\n" +
                                                "Revise la configuración, recompile y vuelva a ejecutar la aplicación.\n" +
                                                "Detalle del error: {0}", ex));
                throw;
            }

            Container.GetInstance <ClienteGenerador>().Iniciar();
        }
Exemple #17
0
        private static SimpleInjector.Container InitCore(IEnumerable<Action<SimpleInjector.Container>> additionalRegistrations = null)
        {
            SimpleInjector.Container container = new SimpleInjector.Container();

            InitCrossCutting(container);
            InitDAL(container);

            if (additionalRegistrations != null)
            {
                container.Options.AllowOverridingRegistrations = true;

                foreach (var additionalRegistration in additionalRegistrations)
                {
                    additionalRegistration(container);
                }
            }

            container.Verify();

            return container;
        }
Exemple #18
0
        private static SimpleInjector.Container InitCore(IEnumerable <Action <SimpleInjector.Container> > additionalRegistrations = null)
        {
            SimpleInjector.Container container = new SimpleInjector.Container();

            InitCrossCutting(container);
            InitDAL(container);

            if (additionalRegistrations != null)
            {
                container.Options.AllowOverridingRegistrations = true;

                foreach (var additionalRegistration in additionalRegistrations)
                {
                    additionalRegistration(container);
                }
            }

            container.Verify();

            return(container);
        }
Exemple #19
0
        static void Main(string[] args)
        {
            string serviceName = typeof(Program).Assembly.GetName().Name;

            Console.Title = serviceName;

            Console.WriteLine($"{serviceName} running...");


            #region Register Dependencies
            var container = new SimpleInjector.Container();

            container.RegisterServices();
            container.Verify();
            #endregion

            var consumer = container.GetInstance <IConsumer <BariguiEvent> >();
            consumer.Consume();

            Console.WriteLine("Listening for messages. Hit <return> to quit.");
            Console.ReadLine();
        }
Exemple #20
0
        static Program()
        {
            var storageEnv    = Environment.ExpandEnvironmentVariables($"%{StorageEnv}%");
            var globalContext = new GlobalContext
            {
                StoragePath = storageEnv,
                SymlinkPath = Path.Combine(storageEnv, "current"),
                Is64Bit     = Environment.Is64BitOperatingSystem
            };

            globalContext.ActiveVersionTrackerFilePath = Path.Combine(globalContext.StoragePath, "last-used");

            Container = new Container();
            Container.RegisterInstance(globalContext);
            Container.RegisterSingleton <NodeJsWebApi>();
            Container.RegisterSingleton <NodeJs>();
            Container.RegisterSingleton <AvailCommand>();
            Container.RegisterSingleton <ListCommand>();
            Container.RegisterSingleton <InstallCommand>();
            Container.RegisterSingleton <UninstallCommand>();
            Container.RegisterSingleton <UseCommand>();
            Container.Verify();
        }
Exemple #21
0
        private App()
        {
            if (!Debugger.IsAttached)
            {
                AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            }

            _mutex = new Mutex(false, $"h3x4d3c1m4l BrightLight - {Environment.UserName}", out bool createdNew);
            if (!createdNew)
            {
                // app already running
                MessageBox.Show("BrightLight is already running!", "BrightLight - Already running", MessageBoxButton.OK, MessageBoxImage.Information);
                Environment.Exit(0);
            }

            InitializeComponent();
            AppBuilder.Configure <AvaloniaApp>().UseWin32().UseDirect2D1().SetupWithoutStarting();

            var test = new SearchWindow(new MainViewModel(new RunUsingWpfDispatcherHelper(Dispatcher)));

            Container = new Container();
            Container.RegisterInstance(Dispatcher);
            Container.RegisterSingleton <IRunOnUiThreadHelper, RunUsingWpfDispatcherHelper>();
            Container.RegisterSingleton <MainViewModel>();
            Container.RegisterSingleton <SettingsViewModel>();
            Container.RegisterSingleton <SearchWindow>();
            Container.RegisterSingleton <SettingsWindow>();
            Container.RegisterSingleton <TaskbarIcon>();
            Container.RegisterSingleton(() => Settings.LoadOrDefault());
            Container.Verify();

            _showHotKey = new HotKey(Key.Space, KeyModifier.Ctrl | KeyModifier.Shift, key =>
            {
                Container.GetInstance <MainViewModel>().Reset();
                Container.GetInstance <SearchWindow>().Show();
            });
        }
Exemple #22
0
        private static void OnStartup(string[] args)
        {
            // TODO free console for UI execution

            // Bootstrap container
            container = new SimpleInjector.Container();

            container.RegisterSingleton<IPlatformFacade, WindowsPlatform>();
            container.RegisterSingleton<IWindowManagerService, WindowManagerService>();
            container.RegisterSingleton<IKeyMapService, KeyMapService>();
            container.RegisterSingleton<INotificationService, NotificationService>();
            container.RegisterSingleton<IMainWindow, MainWindow>();

            // Register default command set
            var commands =
                AppDomain.CurrentDomain.GetAssemblies()
                         .SelectMany(s => s.GetTypes())
                         .Where(p => p != typeof(ICommand) && typeof(ICommand).IsAssignableFrom(p))
                         .ToList();
            container.RegisterCollection<ICommand>(commands);
            container.Register(
                typeof(ICommandHandler<>),
                container.GetTypesToRegister(typeof(ICommandHandler<>), new[] { Assembly.GetExecutingAssembly() })
                    .Where(t => t.IsPublic));

            // Register handlers
            var commandHandlers =
                commands.Select(command => container.GetInstance(typeof(ICommandHandler<>).MakeGenericType(command)));
            container.RegisterSingleton<ICommandService>(
                () => new CommandService(container.GetAllInstances<ICommand>(), commandHandlers));

            container.Verify();

            mainForm = container.GetInstance<IMainWindow>() as Form;

            // Parse arguments and run the app
            var getopt = new GetOpt(Options);

            char returnChar = ' ';
            int optionIndex = 0;
            string optionArg = null;
            bool startWindowManager = true;

            try
            {
                do
                {
                    // parse the args
                    switch (returnChar)
                    {
                        case 'h':
                            Console.Write(getopt.Description);
                            return;
                        case 'v':
                            Console.WriteLine(Application.ProductVersion);
                            return;
                        case 'f': // parse alternate rc file
                            configFile = optionArg;
                            break;
                        case 'c': // send a command
                            startWindowManager = false;
                            break;
                        case 'r': // reset all windows to decorated regular state, in case things screw up :(
                            startWindowManager = false;
                            WindowManagerService.Reset();
                            break;
                    }

                    returnChar = getopt.Parse(args, ref optionIndex, out optionArg);
                }
                while (returnChar != ' ');
            }
            catch (GetOpt.InvalidOptionException e)
            {
                Console.WriteLine(Properties.Resources.Option_Help_Error);
                Console.WriteLine(e);
                return;
            }

            if (startWindowManager)
            {
                // Start the services
                ((ServiceBase)container.GetInstance<IKeyMapService>()).Start();
                ((ServiceBase)container.GetInstance<IWindowManagerService>()).Start();
                ((ServiceBase)container.GetInstance<INotificationService>()).Start();

                // set the internal variables
                // set the data structures
                // read rc file
                ////CommandManager.Execute((int)CommandManager.OtherCommands.source, new string[] { _configFile });
                var keyMapService = container.GetInstance<IKeyMapService>();

                // Top keymap does not require the window on focus, they are global hot keys
                // Prefix key must reside here
                keyMapService.AddKeyMap("top");
                keyMapService.SetTopKey("top", Keys.Control | Keys.B);

                // Root keymap is the default keymap invoked via Prefix key with readkey command
                // All other default shortcuts reside here
                keyMapService.AddKeyMap("root");

                var commandService = container.GetInstance<ICommandService>();
                commandService.Run("definekey top T readkey root");

                // Set default variables
                // commandService.Run()
                ////keyMapService.SetTopKey("root", Keys.Control | Keys.T);
                Application.Run(mainForm);
            }
            else
            {
                // check if an instance already runs
                // send the commands
                // throw output to console or to the bar
            }
        }
Exemple #23
0
 static Program()
 {
     container.RegisterSingleton <IAppConfig, AppConfig>();
     container.RegisterSingleton <ILog, Log>();
     container.Verify();
 }