Exemplo n.º 1
0
        private void OnChange(object sender, FileSystemEventArgs e)
        {
            // make sure the path exist on the file system. Changes can't be made to paths that don't exist
            if (File.Exists(e.FullPath) || Directory.Exists(e.FullPath))
            {
                // check if the path exist in the _existingPaths collection
                if (!_existingPaths.Contains(e.FullPath))
                {
                    return;
                }

                FileSystemObserverKey key = new FileSystemObserverKey()
                {
                    Name      = new FileInfo(e.Name).Name,
                    FullPath  = e.FullPath,
                    EventType = FileSystemObserverEventType.ChangedEventType
                };

                FileSystemObserverValue value = new FileSystemObserverValue()
                {
                    EventType = FileSystemObserverEventType.ChangedEventType,
                    Timestamp = DateTime.Now
                };

                OnFileSystemObserverEvent(key, value);
            }
        }
Exemplo n.º 2
0
        private void OnFileSystemObserverEvent(FileSystemObserverKey key, FileSystemObserverValue value)
        {
            // common method for adding events to pendingEvents collection from the On event handlers

            // block other threads from access pending events while processing
            lock (_pendingEvents)
            {
                // save most recent event
                _pendingEvents[key] = value;

                // start timer if not already started
                if (!_timerStarted)
                {
                    _timer.Change(100, 100);
                    _timerStarted = true;
                }
            }
        }
Exemplo n.º 3
0
        private void OnRename(object sender, RenamedEventArgs e)
        {
            FileSystemObserverKey key = new FileSystemObserverKey()
            {
                OldFullPath = e.OldFullPath,
                OldName     = new FileInfo(e.OldName).Name,
                FullPath    = e.FullPath,
                Name        = new FileInfo(e.Name).Name,
                EventType   = FileSystemObserverEventType.RenamedEventType
            };

            FileSystemObserverValue value = new FileSystemObserverValue()
            {
                EventType = FileSystemObserverEventType.RenamedEventType,
                Timestamp = DateTime.Now
            };

            OnFileSystemObserverEvent(key, value);
        }
Exemplo n.º 4
0
        private void OnDelete(object sender, FileSystemEventArgs e)
        {
            // check if the path exist in the _existingPaths collection
            if (_existingPaths.Contains(e.FullPath))
            {
                FileSystemObserverKey key = new FileSystemObserverKey()
                {
                    Name      = new FileInfo(e.Name).Name,
                    FullPath  = e.FullPath,
                    EventType = FileSystemObserverEventType.DeletedEventType
                };

                FileSystemObserverValue value = new FileSystemObserverValue()
                {
                    EventType = FileSystemObserverEventType.DeletedEventType,
                    Timestamp = DateTime.Now
                };

                OnFileSystemObserverEvent(key, value);
            }
        }