public async Task <List <IFile> > ListFiles(string directory)
        {
            var exs = FileExtensions.Select(x => "." + x).ToArray();
//			Console.WriteLine (filesystem.Status);
            var dbPath  = new DBPath(directory);
            var dbFiles = await filesystem.ListFolderAsync(dbPath);

            var q = from f in dbFiles
                    let n = f.Path.Name
                            where !n.StartsWith(".")
                            where f.IsFolder || (Array.IndexOf(exs, Path.GetExtension(n)) >= 0)
                            select(IFile) new DropboxFile(f, filesystem);

            DropboxDirectoryObserver dbObserver;

            if (!dbObservers.TryGetValue(directory, out dbObserver))
            {
                dbObserver = new DropboxDirectoryObserver();
                filesystem.AddObserverForPathAndChildren(dbObserver, dbPath, () => {
                    OnFilesChanged();
                });
                dbObservers.Add(directory, dbObserver);
            }

            return(q.ToList());
        }
Esempio n. 2
0
		public async Task<List<IFile>> ListFiles (string directory)
		{
			var exs = FileExtensions.Select (x => "." + x).ToArray ();
//			Console.WriteLine (filesystem.Status);
			var dbPath = new DBPath (directory);
			var dbFiles = await filesystem.ListFolderAsync (dbPath);

			var q = from f in dbFiles
					let n = f.Path.Name
					where !n.StartsWith (".")
					where f.IsFolder || (Array.IndexOf (exs, Path.GetExtension (n)) >= 0)
					select (IFile)new DropboxFile (f, filesystem);

			DropboxDirectoryObserver dbObserver;

			if (!dbObservers.TryGetValue (directory, out dbObserver)) {
				dbObserver = new DropboxDirectoryObserver ();
				filesystem.AddObserverForPathAndChildren (dbObserver, dbPath, () => {
					OnFilesChanged ();
				});
				dbObservers.Add (directory, dbObserver);
			}

			return q.ToList ();
		}