blob: adf47d3948236559a03a551fe39ffcf80c76643b [file] [log] [blame]
pilgrim4af8c212014-09-05 17:30:151// 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
avi5caf646e2015-12-21 21:21:508#include "base/macros.h"
pilgrim4af8c212014-09-05 17:30:159#include "base/memory/scoped_ptr.h"
10#include "storage/browser/fileapi/local_file_util.h"
11#include "storage/browser/storage_browser_export.h"
12
13namespace storage {
14
15class FileSystemOperationContext;
16
17// Dragged file system is a specialized LocalFileUtil where read access to
18// the virtual root directory (i.e. empty cracked path case) is allowed
19// and single isolated context may be associated with multiple file paths.
xhwang89a6a3da2015-11-06 18:24:2120class STORAGE_EXPORT DraggedFileUtil : public LocalFileUtil {
pilgrim4af8c212014-09-05 17:30:1521 public:
22 DraggedFileUtil();
dcheng1a54c8df2014-10-21 11:01:1923 ~DraggedFileUtil() override {}
pilgrim4af8c212014-09-05 17:30:1524
25 // FileSystemFileUtil overrides.
dcheng1a54c8df2014-10-21 11:01:1926 base::File::Error GetFileInfo(FileSystemOperationContext* context,
27 const FileSystemURL& url,
28 base::File::Info* file_info,
29 base::FilePath* platform_path) override;
30 scoped_ptr<AbstractFileEnumerator> CreateFileEnumerator(
pilgrim4af8c212014-09-05 17:30:1531 FileSystemOperationContext* context,
mohan.reddy8b6fef42014-10-07 04:56:2532 const FileSystemURL& root_url) override;
pilgrim4af8c212014-09-05 17:30:1533
34 private:
35 DISALLOW_COPY_AND_ASSIGN(DraggedFileUtil);
36};
37
38} // namespace storage
39
40#endif // STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_