Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: sync/internal_api/sync_rollback_manager.h

Issue 235053006: Add sync manager classes for backup/rollback: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef SYNC_INTERNAL_API_SYNC_ROLLBACK_MANAGER_H_
6 #define SYNC_INTERNAL_API_SYNC_ROLLBACK_MANAGER_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "sync/internal_api/sync_rollback_manager_base.h"
12
13 namespace syncer {
14
15 // SyncRollbackManager restores user's data to pre-sync state using backup
16 // DB created by SyncBackupManager.
17 class SyncRollbackManager : public SyncRollbackManagerBase {
18 public:
19 SyncRollbackManager();
20 virtual ~SyncRollbackManager();
21
22 // SyncManager implementation.
23 virtual void Init(
24 const base::FilePath& database_location,
25 const WeakHandle<JsEventHandler>& event_handler,
26 const std::string& sync_server_and_path,
27 int sync_server_port,
28 bool use_ssl,
29 scoped_ptr<HttpPostProviderFactory> post_factory,
30 const std::vector<scoped_refptr<ModelSafeWorker> >& workers,
31 ExtensionsActivity* extensions_activity,
32 SyncManager::ChangeDelegate* change_delegate,
33 const SyncCredentials& credentials,
34 const std::string& invalidator_client_id,
35 const std::string& restored_key_for_bootstrapping,
36 const std::string& restored_keystore_key_for_bootstrapping,
37 InternalComponentsFactory* internal_components_factory,
38 Encryptor* encryptor,
39 scoped_ptr<UnrecoverableErrorHandler> unrecoverable_error_handler,
40 ReportUnrecoverableErrorFunction
41 report_unrecoverable_error_function,
42 CancelationSignal* cancelation_signal) OVERRIDE;
43 virtual void StartSyncingNormally(
44 const ModelSafeRoutingInfo& routing_info) OVERRIDE;
45
46 private:
47 // Deletes specified entries in local model.
48 SyncerError DeleteOnWorkerThread(ModelType type, std::vector<int64> handles);
49
50 std::map<ModelSafeGroup, scoped_refptr<ModelSafeWorker> > workers_;
51
52 SyncManager::ChangeDelegate* change_delegate_;
53
54 // Types that can be rolled back.
55 ModelTypeSet rollback_ready_types_;
56 };
57
58 } // namespace syncer
59
60 #endif // SYNC_INTERNAL_API_SYNC_ROLLBACK_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698