Exemple #1
0
        public static void Init()
        {
            CacheTimer = new System.Windows.Forms.Timer
            {
                Enabled  = false,
                Interval = 30
            };

            Globals.WinEventQueue   = new Queue <BusinessObjects.WinEventProcesss>();
            Globals.FileChangeQueue = new Queue <FileChange>();
            Globals.SyncLockObject  = new DummyLockObject();
            Globals.FilesLockObject = new DummyLockObject();

            // Load cached data which is expected to be in memory for fast access
            SetupCachedDatabaseData();

            // start up window change event tracking
            var o = Globals.ConfigOptions.Find(x => x.Name == AppWrapper.AppWrapper.WindowTypeEvents);

            Globals.WinEventType = int.Parse(o.Value) == 0 ? AppWrapper.AppWrapper.WindowEventType.EventHook : AppWrapper.AppWrapper.WindowEventType.Polling;

            if (Globals.WinEventType == AppWrapper.AppWrapper.WindowEventType.EventHook)
            {
                Globals.WindowChangeEventHandler = new WindowChangeEvents();
            }
            else
            {
                Globals.WindowChangeEventHandler = new WindowChangeEvents(true);
                WindowPolling.StartPolling();
            }

            // dont start filewatcher until window watcher is running
            Globals.FileWatchr = new FileWatcher();
        }