Statistics
| Branch: | Revision:

root / trunk / NetSparkle / NetSparkleMainWindows.cs @ dccd340f

History | View | Annotate | Download (1.5 kB)

1 46426dbd Panagiotis Kanavos
using System;
2 46426dbd Panagiotis Kanavos
using System.Collections.Generic;
3 46426dbd Panagiotis Kanavos
using System.ComponentModel;
4 46426dbd Panagiotis Kanavos
using System.Data;
5 46426dbd Panagiotis Kanavos
using System.Drawing;
6 46426dbd Panagiotis Kanavos
using System.Linq;
7 049333d2 Panagiotis Kanavos
using System.Reflection;
8 46426dbd Panagiotis Kanavos
using System.Text;
9 46426dbd Panagiotis Kanavos
using System.Windows.Forms;
10 46426dbd Panagiotis Kanavos
using System.IO;
11 049333d2 Panagiotis Kanavos
using log4net;
12 46426dbd Panagiotis Kanavos
13 46426dbd Panagiotis Kanavos
namespace AppLimit.NetSparkle
14 46426dbd Panagiotis Kanavos
{
15 46426dbd Panagiotis Kanavos
    public partial class NetSparkleMainWindows : Form, IDisposable
16 46426dbd Panagiotis Kanavos
    {
17 049333d2 Panagiotis Kanavos
        private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
18 46426dbd Panagiotis Kanavos
19 46426dbd Panagiotis Kanavos
        public NetSparkleMainWindows()
20 46426dbd Panagiotis Kanavos
        {
21 46426dbd Panagiotis Kanavos
            // init ui
22 46426dbd Panagiotis Kanavos
            InitializeComponent();
23 46426dbd Panagiotis Kanavos
24 46426dbd Panagiotis Kanavos
        }
25 46426dbd Panagiotis Kanavos
26 46426dbd Panagiotis Kanavos
        public void Report(String message)
27 46426dbd Panagiotis Kanavos
        {
28 46426dbd Panagiotis Kanavos
            if (lstActions.InvokeRequired)
29 46426dbd Panagiotis Kanavos
                lstActions.Invoke(new Action<String>(Report), message);
30 46426dbd Panagiotis Kanavos
            else
31 46426dbd Panagiotis Kanavos
            {
32 46426dbd Panagiotis Kanavos
                // build the message 
33 46426dbd Panagiotis Kanavos
                DateTime c = DateTime.Now;
34 46426dbd Panagiotis Kanavos
                String msg = "[" + c.ToLongTimeString() + "." + c.Millisecond + "] " + message;
35 46426dbd Panagiotis Kanavos
36 46426dbd Panagiotis Kanavos
                // report to file
37 46426dbd Panagiotis Kanavos
                ReportToFile(msg);
38 46426dbd Panagiotis Kanavos
39 46426dbd Panagiotis Kanavos
                // report the message into ui
40 46426dbd Panagiotis Kanavos
                lstActions.Items.Add(msg);
41 46426dbd Panagiotis Kanavos
            }
42 46426dbd Panagiotis Kanavos
        }
43 46426dbd Panagiotis Kanavos
44 46426dbd Panagiotis Kanavos
        private void ReportToFile(String msg)
45 46426dbd Panagiotis Kanavos
        {
46 46426dbd Panagiotis Kanavos
            try
47 46426dbd Panagiotis Kanavos
            {
48 049333d2 Panagiotis Kanavos
                Log.Info(msg);
49 46426dbd Panagiotis Kanavos
            } catch(Exception)
50 46426dbd Panagiotis Kanavos
            {
51 46426dbd Panagiotis Kanavos
52 46426dbd Panagiotis Kanavos
            }
53 46426dbd Panagiotis Kanavos
        }
54 46426dbd Panagiotis Kanavos
55 46426dbd Panagiotis Kanavos
        #region IDisposable Members
56 46426dbd Panagiotis Kanavos
57 46426dbd Panagiotis Kanavos
        void IDisposable.Dispose()
58 46426dbd Panagiotis Kanavos
        {
59 46426dbd Panagiotis Kanavos
60 46426dbd Panagiotis Kanavos
            // close the base
61 46426dbd Panagiotis Kanavos
            base.Dispose();
62 46426dbd Panagiotis Kanavos
        }
63 46426dbd Panagiotis Kanavos
64 46426dbd Panagiotis Kanavos
        #endregion
65 46426dbd Panagiotis Kanavos
    }
66 46426dbd Panagiotis Kanavos
}