| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_FACTORY_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_FACTORY_H_ |
| 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_FACTORY_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_FACTORY_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/memory/singleton.h" | 10 #include "base/memory/singleton.h" |
| 11 #include "components/browser_context_keyed_service/browser_context_keyed_service
_factory.h" | 11 #include "components/browser_context_keyed_service/browser_context_keyed_service
_factory.h" |
| 12 | 12 |
| 13 class Profile; | 13 class Profile; |
| 14 | 14 |
| 15 namespace sync_file_system { | 15 namespace sync_file_system { |
| 16 | 16 |
| 17 class RemoteFileSyncService; | 17 class RemoteFileSyncService; |
| 18 class SyncFileSystemService; | 18 class SyncFileSystemService; |
| 19 | 19 |
| 20 class SyncFileSystemServiceFactory : public ProfileKeyedServiceFactory { | 20 class SyncFileSystemServiceFactory : public BrowserContextKeyedServiceFactory { |
| 21 public: | 21 public: |
| 22 static SyncFileSystemService* GetForProfile(Profile* profile); | 22 static SyncFileSystemService* GetForProfile(Profile* profile); |
| 23 static SyncFileSystemService* FindForProfile(Profile* profile); | 23 static SyncFileSystemService* FindForProfile(Profile* profile); |
| 24 static SyncFileSystemServiceFactory* GetInstance(); | 24 static SyncFileSystemServiceFactory* GetInstance(); |
| 25 | 25 |
| 26 // This overrides the remote service for testing. | 26 // This overrides the remote service for testing. |
| 27 // For testing this must be called before GetForProfile is called. | 27 // For testing this must be called before GetForProfile is called. |
| 28 // Otherwise a new DriveFileSyncService is created for the new service. | 28 // Otherwise a new DriveFileSyncService is created for the new service. |
| 29 // Since we use scoped_ptr it's one-off and the instance is passed | 29 // Since we use scoped_ptr it's one-off and the instance is passed |
| 30 // to the newly created SyncFileSystemService. | 30 // to the newly created SyncFileSystemService. |
| 31 void set_mock_remote_file_service( | 31 void set_mock_remote_file_service( |
| 32 scoped_ptr<RemoteFileSyncService> mock_remote_service); | 32 scoped_ptr<RemoteFileSyncService> mock_remote_service); |
| 33 | 33 |
| 34 private: | 34 private: |
| 35 friend struct DefaultSingletonTraits<SyncFileSystemServiceFactory>; | 35 friend struct DefaultSingletonTraits<SyncFileSystemServiceFactory>; |
| 36 SyncFileSystemServiceFactory(); | 36 SyncFileSystemServiceFactory(); |
| 37 virtual ~SyncFileSystemServiceFactory(); | 37 virtual ~SyncFileSystemServiceFactory(); |
| 38 | 38 |
| 39 // ProfileKeyedServiceFactory overrides. | 39 // BrowserContextKeyedServiceFactory overrides. |
| 40 virtual ProfileKeyedService* BuildServiceInstanceFor( | 40 virtual BrowserContextKeyedService* BuildServiceInstanceFor( |
| 41 content::BrowserContext* context) const OVERRIDE; | 41 content::BrowserContext* context) const OVERRIDE; |
| 42 | 42 |
| 43 mutable scoped_ptr<RemoteFileSyncService> mock_remote_file_service_; | 43 mutable scoped_ptr<RemoteFileSyncService> mock_remote_file_service_; |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 } // namespace sync_file_system | 46 } // namespace sync_file_system |
| 47 | 47 |
| 48 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_FACTORY_H_ | 48 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_FACTORY_H_ |
| OLD | NEW |