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 12namespace storage { 13 14class 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. 19class STORAGE_EXPORT_PRIVATE DraggedFileUtil 20 : public LocalFileUtil { 21 public: 22 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