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 |