예제 #1
0
 public PokoraInterface(
     Logger logger,
     PokoraDisplayer displayer,
     ConsoleNotifier consoleNotifier,
     EventManager eventManager)
 {
     _logger          = logger;
     _displayer       = displayer;
     _consoleNotifier = consoleNotifier;
     _eventManager    = eventManager;
 }
예제 #2
0
        public static async Task <IUnityContainer> RegisterConfiguration()
        {
            var emitter = new MonithorEmitter("https://monithor.azurewebsites.net/thorhub", "Pokora Console");

            bool connectionEstablished = false;

            emitter.ConnectionStatusChanged += async(status) =>
            {
                if (status == ConnectionStatus.Healthy)
                {
                    connectionEstablished = true;
                    await emitter.Trace(MessageLevel.Informational, MessageType.Fonctional,
                                        "", "Pokora monithor connected",
                                        "");
                }
            };

            emitter.Connect();

            //TODO remove azure slow
            //while (!connectionEstablished)
            //{
            //    Console.WriteLine("trying to connect to monithor");
            //    await Task.Delay(1000);
            //}


            var container = new UnityContainer();
            var logger    = new Logger(emitter);

            container.RegisterInstance(logger, new ContainerControlledLifetimeManager());

            var eventManager = new EventManager();

            container.RegisterInstance(eventManager, new ContainerControlledLifetimeManager());

            var displayer = new PokoraDisplayer();

            container.RegisterInstance(displayer, new ContainerControlledLifetimeManager());

            return(container);
        }
예제 #3
0
 public ConsoleNotifier(EventManager eventManager, PokoraDisplayer pokoraDisplayer)
 {
     _eventManager    = eventManager;
     _pokoraDisplayer = pokoraDisplayer;
 }