Example #1
0
        public MessageProcessor(IRenderEvents eventRenderer, IList<IParseMessages> messageParsers)
        {
            Verify.NotNull(eventRenderer, "eventRenderer");
            Verify.NotNull(messageParsers, "messageParsers");

            renderer = eventRenderer;
            parsers = messageParsers;
            messageQueue = new BlockingCollection<IMessage>();
            cancellationTokenSource = new CancellationTokenSource();
            processor = new Thread(ProcessAllMessages) { IsBackground = true, Name = "Processor", };
            processor.Start();
        }
Example #2
0
        private SystemMonitor(Mutex singleInstance, IRenderEvents eventRenderer)
        {
            Verify.NotNull(singleInstance, "singleInstance");
            Verify.NotNull(eventRenderer, "eventRenderer");

            messageProcessor = new MessageProcessor(eventRenderer, Settings.GetParsers(new ProcessRetriever()));
            messageListeners = Settings.GetListeners(messageProcessor);
            mutex            = singleInstance;

            foreach (var messageListener in messageListeners)
            {
                messageListener.Start();
            }
        }
Example #3
0
        public MessageProcessor(IRenderEvents eventRenderer, IList <IParseMessages> messageParsers)
        {
            Verify.NotNull(eventRenderer, "eventRenderer");
            Verify.NotNull(messageParsers, "messageParsers");

            renderer                = eventRenderer;
            parsers                 = messageParsers;
            messageQueue            = new BlockingCollection <IMessage>();
            cancellationTokenSource = new CancellationTokenSource();
            processor               = new Thread(ProcessAllMessages)
            {
                IsBackground = true, Name = "Processor",
            };
            processor.Start();
        }
Example #4
0
        public static SystemMonitor CreateSingleInstance(IRenderEvents eventRenderer, out Boolean onlyInstance)
        {
            var singleInstance = new Mutex(true, "HarvesterSingleInstance", out onlyInstance);

            return(onlyInstance ? new SystemMonitor(singleInstance, eventRenderer) : new SystemMonitor(singleInstance));
        }