Index: chrome/browser/chromeos/file_system_provider/provided_file_system.h |
diff --git a/chrome/browser/chromeos/file_system_provider/provided_file_system.h b/chrome/browser/chromeos/file_system_provider/provided_file_system.h |
index 3bde99a95b2c54c315dd9d01fa22d478b23fb326..7080ad88abb9f4bb29c442ff3429bfd4cecc6819 100644 |
--- a/chrome/browser/chromeos/file_system_provider/provided_file_system.h |
+++ b/chrome/browser/chromeos/file_system_provider/provided_file_system.h |
@@ -31,10 +31,6 @@ namespace base { |
class FilePath; |
} // namespace base |
-namespace extensions { |
-class EventRouter; |
-} // namespace extensions |
- |
namespace chromeos { |
namespace file_system_provider { |
@@ -73,7 +69,9 @@ class AutoUpdater : public base::RefCounted<AutoUpdater> { |
// Provided file system implementation. Forwards requests between providers and |
// clients. |
-class ProvidedFileSystem : public ProvidedFileSystemInterface { |
+template <class DestinationPolicy> |
+class ProvidedFileSystem : public ProvidedFileSystemInterface, |
+ public DestinationPolicy { |
public: |
ProvidedFileSystem(Profile* profile, |
const ProvidedFileSystemInfo& file_system_info); |
@@ -81,7 +79,8 @@ class ProvidedFileSystem : public ProvidedFileSystemInterface { |
// Sets a custom event router. Used in unit tests to mock out the real |
// extension. |
- void SetEventRouterForTesting(extensions::EventRouter* event_router); |
+ void SetEventRouterForTesting( |
+ typename DestinationPolicy::EventRouterType* event_router); |
// Sets a custom notification manager. It will recreate the request manager, |
// so is must be called just after creating ProvideFileSystem instance. |
@@ -232,8 +231,10 @@ class ProvidedFileSystem : public ProvidedFileSystemInterface { |
const storage::AsyncFileUtil::StatusCallback& callback, |
base::File::Error result); |
- Profile* profile_; // Not owned. |
- extensions::EventRouter* event_router_; // Not owned. May be NULL. |
+ // Not owned. |
+ Profile* profile_; |
+ // Not owned. May be NULL |
+ typename DestinationPolicy::EventRouterType* event_router_; |
ProvidedFileSystemInfo file_system_info_; |
scoped_ptr<NotificationManagerInterface> notification_manager_; |
scoped_ptr<RequestManager> request_manager_; |
@@ -242,8 +243,8 @@ class ProvidedFileSystem : public ProvidedFileSystemInterface { |
OpenedFiles opened_files_; |
base::ObserverList<ProvidedFileSystemObserver> observers_; |
- base::WeakPtrFactory<ProvidedFileSystem> weak_ptr_factory_; |
- DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystem); |
+ base::WeakPtrFactory<ProvidedFileSystem<DestinationPolicy>> weak_ptr_factory_; |
+ DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystem<DestinationPolicy>); |
}; |
} // namespace file_system_provider |