OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ | 5 #ifndef SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ |
6 #define SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ | 6 #define SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "sync/base/sync_export.h" | 11 #include "sync/base/sync_export.h" |
12 | 12 |
13 namespace syncer { | 13 namespace syncer { |
14 | 14 |
15 class SyncManager; | 15 class SyncManager; |
16 | 16 |
17 // Helper class to allow dependency injection of the SyncManager. | 17 // Helper class to allow dependency injection of the SyncManager. |
18 class SYNC_EXPORT SyncManagerFactory { | 18 class SYNC_EXPORT SyncManagerFactory { |
19 public: | 19 public: |
20 SyncManagerFactory(); | 20 enum MANAGER_TYPE { |
| 21 NORMAL, // Normal sync manager |
| 22 BACKUP, // Backup sync manager |
| 23 ROLLBACK, // Rollback sync manager |
| 24 }; |
| 25 |
| 26 SyncManagerFactory(MANAGER_TYPE type); |
21 virtual ~SyncManagerFactory(); | 27 virtual ~SyncManagerFactory(); |
22 | 28 |
23 virtual scoped_ptr<SyncManager> CreateSyncManager(std::string name); | 29 virtual scoped_ptr<SyncManager> CreateSyncManager(std::string name); |
24 | 30 |
25 private: | 31 private: |
| 32 MANAGER_TYPE type_; |
26 DISALLOW_COPY_AND_ASSIGN(SyncManagerFactory); | 33 DISALLOW_COPY_AND_ASSIGN(SyncManagerFactory); |
27 }; | 34 }; |
28 | 35 |
29 } // namespace syncer | 36 } // namespace syncer |
30 | 37 |
31 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ | 38 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ |
OLD | NEW |