| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FAKE_PROVIDED_FILE_SYSTEM_H_ |
| #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FAKE_PROVIDED_FILE_SYSTEM_H_ |
| |
| #include <string> |
| |
| #include "chrome/browser/chromeos/file_system_provider/provided_file_system_info.h" |
| #include "chrome/browser/chromeos/file_system_provider/provided_file_system_interface.h" |
| |
| namespace extensions { |
| class EventRouter; |
| } // namespace extensions |
| |
| namespace chromeos { |
| namespace file_system_provider { |
| |
| class RequestManager; |
| |
| // Fake provided file system implementation. Does not communicate with target |
| // extensions. Used for unit tests. |
| class FakeProvidedFileSystem : public ProvidedFileSystemInterface { |
| public: |
| explicit FakeProvidedFileSystem( |
| const ProvidedFileSystemInfo& file_system_info); |
| virtual ~FakeProvidedFileSystem(); |
| |
| // ProvidedFileSystemInterface overrides. |
| virtual void RequestUnmount( |
| const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
| virtual const ProvidedFileSystemInfo& GetFileSystemInfo() const OVERRIDE; |
| virtual RequestManager* GetRequestManager() OVERRIDE; |
| |
| // Factory callback, to be used in Service::SetFileSystemFactory(). The |
| // |event_router| argument can be NULL. |
| static ProvidedFileSystemInterface* Create( |
| extensions::EventRouter* event_router, |
| const ProvidedFileSystemInfo& file_system_info); |
| |
| private: |
| ProvidedFileSystemInfo file_system_info_; |
| |
| DISALLOW_COPY_AND_ASSIGN(FakeProvidedFileSystem); |
| }; |
| |
| } // namespace file_system_provider |
| } // namespace chromeos |
| |
| #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FAKE_PROVIDED_FILE_SYSTEM_H_ |