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 enum MANAGER_TYPE { | 20 enum MANAGER_TYPE { |
21 NORMAL, // Normal sync manager | 21 NORMAL, // Normal sync manager |
22 BACKUP, // Backup sync manager | 22 BACKUP, // Backup sync manager |
23 ROLLBACK, // Rollback sync manager | 23 ROLLBACK, // Rollback sync manager |
24 }; | 24 }; |
25 | 25 |
26 SyncManagerFactory(MANAGER_TYPE type); | 26 SyncManagerFactory(MANAGER_TYPE type); |
27 virtual ~SyncManagerFactory(); | 27 virtual ~SyncManagerFactory(); |
28 | 28 |
29 virtual scoped_ptr<SyncManager> CreateSyncManager(std::string name); | 29 virtual scoped_ptr<SyncManager> CreateSyncManager(const std::string& name); |
30 | 30 |
31 private: | 31 private: |
32 MANAGER_TYPE type_; | 32 MANAGER_TYPE type_; |
33 DISALLOW_COPY_AND_ASSIGN(SyncManagerFactory); | 33 DISALLOW_COPY_AND_ASSIGN(SyncManagerFactory); |
34 }; | 34 }; |
35 | 35 |
36 } // namespace syncer | 36 } // namespace syncer |
37 | 37 |
38 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ | 38 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_FACTORY_H_ |
OLD | NEW |