provided_file_system_interface.h revision 5c02ac1a9c1b504631c0a3d2b6e737b5d738bae1
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. 4 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_ 7 8#include "webkit/browser/fileapi/async_file_util.h" 9 10class EventRouter; 11 12namespace base { 13class FilePath; 14} // namespace base 15 16namespace chromeos { 17namespace file_system_provider { 18 19class ProvidedFileSystemInfo; 20class RequestManager; 21 22// Interface for a provided file system. Acts as a proxy between providers 23// and clients. 24// TODO(mtomasz): Add more methods once implemented. 25class ProvidedFileSystemInterface { 26 public: 27 virtual ~ProvidedFileSystemInterface() {} 28 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; 33 34 // Returns a provided file system info for this file system. 35 virtual const ProvidedFileSystemInfo& GetFileSystemInfo() const = 0; 36 37 // Returns a request manager for the file system. 38 virtual RequestManager* GetRequestManager() = 0; 39}; 40 41} // namespace file_system_provider 42} // namespace chromeos 43 44#endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INTERFACE_H_ 45