1 // Copyright 2014 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INTERFACE_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INTERFACE_H_
8 #include "webkit/browser/fileapi/async_file_util.h"
17 namespace file_system_provider
{
19 class ProvidedFileSystemInfo
;
22 // Interface for a provided file system. Acts as a proxy between providers
24 // TODO(mtomasz): Add more methods once implemented.
25 class ProvidedFileSystemInterface
{
27 virtual ~ProvidedFileSystemInterface() {}
29 // Requests unmounting of the file system. The callback is called when the
30 // request is accepted or rejected, with an error code.
31 virtual void RequestUnmount(
32 const fileapi::AsyncFileUtil::StatusCallback
& callback
) = 0;
34 // Requests metadata of the passed |entry_path|. It can be either a file
36 virtual void GetMetadata(
37 const base::FilePath
& entry_path
,
38 const fileapi::AsyncFileUtil::GetFileInfoCallback
& callback
) = 0;
40 // Returns a provided file system info for this file system.
41 virtual const ProvidedFileSystemInfo
& GetFileSystemInfo() const = 0;
43 // Returns a request manager for the file system.
44 virtual RequestManager
* GetRequestManager() = 0;
47 } // namespace file_system_provider
48 } // namespace chromeos
50 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INTERFACE_H_