public IFileInfo GetFileInfo(string subpath)
        {
            IFileDirectoryItem result = Directory.GetFile(subpath);

            if (result == null)
            {
                return(new NotFoundFileInfo(subpath));
            }
            return(result.FileInfo);
        }
Beispiel #2
0
 /// <summary>
 /// Watches a specific file in the directory, and raises an event when the file is updated, or deleted.
 /// </summary>
 /// <param name="file"></param>
 private void Register(IFileDirectoryItem file)
 {
     // An existing file can be watched for deltion or modification (updates).
     // Creation is an event that is raised at the folder level for new child item.
     _watchingFolders.AddOrUpdate(file.Path, (key) =>
     {
         // folder.ItemAdded += Folder_ItemAdded;
         file.Deleted += Item_Deleted; // the file was deleted.
         file.Updated += Item_Updated; // the file was updated.
         return(file);
     }, (key, item) => item);
 }
Beispiel #3
0
        private bool Unregister(IFileDirectoryItem file)
        {
            IDirectoryItem removed;

            if (_watchingFolders.TryRemove(file.Path, out removed))
            {
                removed.Deleted -= Item_Deleted;
                removed.Updated -= Item_Updated;
                return(true);
            }

            return(false);
        }