private void HandleFolderEvents(IFSEvent e) {
            var movedEvent = e as IFSMovedEvent;
            FolderEvent folderEvent;
            if (movedEvent != null) {
                folderEvent = new FolderMovedEvent(
                    this.fsFactory.CreateDirectoryInfo(movedEvent.OldPath),
                    this.fsFactory.CreateDirectoryInfo(movedEvent.LocalPath),
                    null,
                    null,
                    this)
                { Local = MetaDataChangeType.MOVED };
            } else {
                folderEvent = new FolderEvent(this.fsFactory.CreateDirectoryInfo(e.LocalPath), null, this);
                switch (e.Type) {
                case WatcherChangeTypes.Created:
                    folderEvent.Local = MetaDataChangeType.CREATED;
                    break;
                case WatcherChangeTypes.Changed:
                    folderEvent.Local = MetaDataChangeType.CHANGED;
                    break;
                case WatcherChangeTypes.Deleted:
                    folderEvent.Local = MetaDataChangeType.DELETED;
                    break;
                default:
                    // This should never ever happen
                    return;
                }
            }

            Queue.AddEvent(folderEvent);
        }
        private void HandleFolderEvents(IFSEvent e)
        {
            var         movedEvent = e as IFSMovedEvent;
            FolderEvent folderEvent;

            if (movedEvent != null)
            {
                folderEvent = new FolderMovedEvent(
                    this.fsFactory.CreateDirectoryInfo(movedEvent.OldPath),
                    this.fsFactory.CreateDirectoryInfo(movedEvent.LocalPath),
                    null,
                    null,
                    this)
                {
                    Local = MetaDataChangeType.MOVED
                };
            }
            else
            {
                folderEvent = new FolderEvent(this.fsFactory.CreateDirectoryInfo(e.LocalPath), null, this);
                switch (e.Type)
                {
                case WatcherChangeTypes.Created:
                    folderEvent.Local = MetaDataChangeType.CREATED;
                    break;

                case WatcherChangeTypes.Changed:
                    folderEvent.Local = MetaDataChangeType.CHANGED;
                    break;

                case WatcherChangeTypes.Deleted:
                    folderEvent.Local = MetaDataChangeType.DELETED;
                    break;

                default:
                    // This should never ever happen
                    return;
                }
            }

            Queue.AddEvent(folderEvent);
        }
Beispiel #3
0
        /// <summary>
        /// Handles the FSEvents of files and creates FileEvents.
        /// </summary>
        /// <param name='e'>
        /// The FSEvent.
        /// </param>
        private void HandleFileEvents(IFSEvent e)
        {
            var movedEvent = e as IFSMovedEvent;

            if (movedEvent != null)
            {
                var oldfile  = this.fsFactory.CreateFileInfo(movedEvent.OldPath);
                var newfile  = this.fsFactory.CreateFileInfo(movedEvent.LocalPath);
                var newEvent = new FileMovedEvent(
                    oldfile,
                    newfile,
                    null,
                    null);
                Logger.Debug("Adding Event: " + newEvent);
                Queue.AddEvent(newEvent);
            }
            else
            {
                var file     = this.fsFactory.CreateFileInfo(e.LocalPath);
                var newEvent = new FileEvent(file, null);
                switch (e.Type)
                {
                case WatcherChangeTypes.Created:
                    newEvent.Local        = MetaDataChangeType.CREATED;
                    newEvent.LocalContent = ContentChangeType.CREATED;
                    break;

                case WatcherChangeTypes.Changed:
                    newEvent.LocalContent = ContentChangeType.CHANGED;
                    break;

                case WatcherChangeTypes.Deleted:
                    newEvent.Local        = MetaDataChangeType.DELETED;
                    newEvent.LocalContent = ContentChangeType.DELETED;
                    break;
                }

                Logger.Debug("Adding Event: " + newEvent);

                Queue.AddEvent(newEvent);
            }
        }
        /// <summary>
        /// Handles the FSEvents of files and creates FileEvents.
        /// </summary>
        /// <param name='e'>
        /// The FSEvent.
        /// </param>
        private void HandleFileEvents(IFSEvent e) {
            var movedEvent = e as IFSMovedEvent;
            if (movedEvent != null) {
                var oldfile = this.fsFactory.CreateFileInfo(movedEvent.OldPath);
                var newfile = this.fsFactory.CreateFileInfo(movedEvent.LocalPath);
                var newEvent = new FileMovedEvent(
                    oldfile,
                    newfile,
                    null,
                    null);
                Queue.AddEvent(newEvent);
            } else {
                var file = this.fsFactory.CreateFileInfo(e.LocalPath);
                var newEvent = new FileEvent(file, null);
                switch (e.Type) {
                case WatcherChangeTypes.Created:
                    newEvent.Local = MetaDataChangeType.CREATED;
                    newEvent.LocalContent = ContentChangeType.CREATED;
                    break;
                case WatcherChangeTypes.Changed:
                    newEvent.LocalContent = ContentChangeType.CHANGED;
                    break;
                case WatcherChangeTypes.Deleted:
                    newEvent.Local = MetaDataChangeType.DELETED;
                    newEvent.LocalContent = ContentChangeType.DELETED;
                    break;
                }

                Queue.AddEvent(newEvent);
            }
        }