예제 #1
0
 private void RemovePrinterHelper(PrinterConnection printerToRemove)
 {
     try
     {
         if (printerToRemove.SerialPort != null)
         {
             // ISSUE: reference to a compiler-generated field
             // ISSUE: reference to a compiler-generated field
             LogEventHandler?.Invoke(this, new LogMessageEventArgs("Disconnecting from printer " + printerToRemove.SerialNumber + " on port " + printerToRemove.ComPort + "..."));
             printerToRemove.SerialPort.Dispose();
             // ISSUE: reference to a compiler-generated field
             // ISSUE: reference to a compiler-generated field
             LogEventHandler?.Invoke(this, new LogMessageEventArgs("Disconnected from printer " + printerToRemove.SerialNumber + " on port " + printerToRemove.ComPort ?? ""));
         }
     }
     catch (Exception ex)
     {
         // ISSUE: reference to a compiler-generated field
         // ISSUE: reference to a compiler-generated field
         LogEventHandler?.Invoke(this, new LogMessageEventArgs("Error: " + ex.Message));
     }
     // ISSUE: reference to a compiler-generated field
     if (PrinterDisconnectedEventHandler == null)
     {
         return;
     }
     // ISSUE: reference to a compiler-generated field
     PrinterDisconnectedEventHandler(this, new PrinterConnEventArgs(printerToRemove));
 }
예제 #2
0
 // Wrap event invocations inside a protected virtual method
 protected virtual void OnLogEventHandler(LogEventArgs e)
 {
     // Make a temporary copy of the event to avoid possibility of
     // a race condition if the last subscriber unsubscribes
     // immediately after the null check and before the event is raised.
     LogEventHandler?.Invoke(this, e);
 }
예제 #3
0
        private void NewPrinterHelper(PrinterConnEventArgs e)
        {
            var comPort = e.com_port;
            var printer = new PrinterConnection(comPort);

            lock (printer.SerialPort.ThreadSync)
            {
                if (!printer.ConnectTo())
                {
                    // ISSUE: reference to a compiler-generated field
                    if (LogEventHandler == null)
                    {
                        return;
                    }
                    // ISSUE: reference to a compiler-generated field
                    LogEventHandler(this, new LogMessageEventArgs("Could not connect to printer on port " + comPort));
                }
                else
                {
                    // ISSUE: reference to a compiler-generated field
                    // ISSUE: reference to a compiler-generated field
                    LogEventHandler?.Invoke(this, new LogMessageEventArgs("Successfully connected to printer on port " + comPort));
                    printers.TryAdd(comPort, printer);
                    // ISSUE: reference to a compiler-generated field
                    if (PrinterConnectedEventHandler == null)
                    {
                        return;
                    }
                    // ISSUE: reference to a compiler-generated field
                    PrinterConnectedEventHandler(this, new PrinterConnEventArgs(printer, comPort, e.vid_pid));
                }
            }
        }
예제 #4
0
파일: Log.cs 프로젝트: dotBunny/Galileo
        public void Add(string content, bool newLine = true)
        {
            // The "  " is for markdown
            if (newLine)
            {
                string output = content + "  " + Platform.EndOfLine();
                _output?.Write(output);

                // Strip output for usage
                OnLogEvent?.Invoke(output);
            }
            else
            {
                _output?.Write(content);
                OnLogEvent?.Invoke(content);
            }
        }
예제 #5
0
파일: Log.cs 프로젝트: alexbrain90/Tasks
        private void riseLogEvent(DateTime dateTime, string text, bool error)
        {
            LogEventHandler handler = LogEvent;
            LogEventArgs    args    = new LogEventArgs();

            args.dateTime = dateTime;
            args.text     = text;
            args.error    = error;
            handler?.Invoke(args);
        }
예제 #6
0
        protected override void Write(LogEventInfo logEvent)
        {
            var renderedMessage = RenderLogEvent(Layout, logEvent);

            // Memory Target. Used for a bit of backlog to send on connection
            var item = new LogEvent(logEvent, renderedMessage);

            if (MaxLogsCount > 0)
            {
                if (Logs.Count >= MaxLogsCount)
                {
                    Logs.RemoveAt(0);
                }
                Logs.Add(item);
            }

            LogEventHandler?.Invoke(item);
        }
예제 #7
0
 private void DoLog(EnumLogLevel level, string value)
 {
     LogEventHandler?.Invoke(this, new ScreenLogEventArgs(level, value));
 }
예제 #8
0
        private bool Run()
        {
            try
            {
                var stringList1 = new List <string>();
                var printerConnEventArgsList = new List <PrinterConnEventArgs>();
                lock (printers)
                {
                    foreach (KeyValuePair <string, PrinterConnection> printer in printers)
                    {
                        if (!stringList1.Contains(printer.Key))
                        {
                            stringList1.Add(printer.Key);
                        }
                    }
                }
                foreach (PrinterConnectionManager.PrinterTypeData printerProfile in printer_profiles)
                {
                    foreach (var str in printerFinder.UsbAttached(printerProfile.vid_pid.VID, printerProfile.vid_pid.PID))
                    {
                        if (stringList1.Contains(str))
                        {
                            stringList1.Remove(str);
                        }
                    }
                }
                lock (printers)
                {
                    foreach (KeyValuePair <string, PrinterConnection> printer in printers)
                    {
                        if (!printer.Value.IsAlive && !stringList1.Contains(printer.Key))
                        {
                            stringList1.Add(printer.Key);
                        }
                    }
                }
                foreach (var key in stringList1)
                {
                    PrinterConnection printerToRemove;
                    lock (printers)
                    {
                        if (!printers.TryRemove(key, out printerToRemove))
                        {
                            var message = "Already removed this printer :" + key;
                            // ISSUE: reference to a compiler-generated field
                            // ISSUE: reference to a compiler-generated field
                            LogEventHandler?.Invoke(this, new LogMessageEventArgs(message));
                        }
                    }
                    RemovePrinterHelper(printerToRemove);
                    Thread.Sleep(10);
                }
                foreach (PrinterConnectionManager.PrinterTypeData printerProfile in printer_profiles)
                {
                    List <string> stringList2 = printerFinder.UsbAttached(printerProfile.vid_pid.VID, printerProfile.vid_pid.PID);
                    lock (printers)
                    {
                        foreach (var str in stringList2)
                        {
                            if (!string.IsNullOrEmpty(str) && !printers.ContainsKey(str))
                            {
                                printerConnEventArgsList.Add(new PrinterConnEventArgs(str, printerProfile.vid_pid));
                            }
                        }
                    }
                }
                foreach (PrinterConnEventArgs e in printerConnEventArgsList)
                {
                    lock (printers)
                    {
                        NewPrinterHelper(e);
                    }

                    Thread.Sleep(10);
                }
            }
            catch (Exception ex)
            {
                // ISSUE: reference to a compiler-generated field
                // ISSUE: reference to a compiler-generated field
                LogEventHandler?.Invoke(this, new LogMessageEventArgs("Error: " + ex.Message));
            }
            return(true);
        }