• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_
6 #define STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_
7 
8 #include "base/memory/scoped_ptr.h"
9 #include "storage/browser/fileapi/local_file_util.h"
10 #include "storage/browser/storage_browser_export.h"
11 
12 namespace storage {
13 
14 class FileSystemOperationContext;
15 
16 // Dragged file system is a specialized LocalFileUtil where read access to
17 // the virtual root directory (i.e. empty cracked path case) is allowed
18 // and single isolated context may be associated with multiple file paths.
19 class STORAGE_EXPORT_PRIVATE DraggedFileUtil
20     : public LocalFileUtil {
21  public:
22   DraggedFileUtil();
~DraggedFileUtil()23   virtual ~DraggedFileUtil() {}
24 
25   // FileSystemFileUtil overrides.
26   virtual base::File::Error GetFileInfo(
27       FileSystemOperationContext* context,
28       const FileSystemURL& url,
29       base::File::Info* file_info,
30       base::FilePath* platform_path) OVERRIDE;
31   virtual scoped_ptr<AbstractFileEnumerator> CreateFileEnumerator(
32       FileSystemOperationContext* context,
33       const FileSystemURL& root_url) OVERRIDE;
34 
35  private:
36   DISALLOW_COPY_AND_ASSIGN(DraggedFileUtil);
37 };
38 
39 }  // namespace storage
40 
41 #endif  // STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_
42