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

Side by Side Diff: sync/engine/sync_scheduler.h

Issue 10455012: [Sync] Add support for performing a GetKey on startup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move GetEncryptionKey logic into GetUpdates Created 8 years, 4 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 // A class to schedule syncer tasks intelligently. 5 // A class to schedule syncer tasks intelligently.
6 #ifndef SYNC_ENGINE_SYNC_SCHEDULER_H_ 6 #ifndef SYNC_ENGINE_SYNC_SCHEDULER_H_
7 #define SYNC_ENGINE_SYNC_SCHEDULER_H_ 7 #define SYNC_ENGINE_SYNC_SCHEDULER_H_
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 19 matching lines...) Expand all
30 30
31 namespace tracked_objects { 31 namespace tracked_objects {
32 class Location; 32 class Location;
33 } // namespace tracked_objects 33 } // namespace tracked_objects
34 34
35 namespace syncer { 35 namespace syncer {
36 36
37 struct ServerConnectionEvent; 37 struct ServerConnectionEvent;
38 38
39 struct ConfigurationParams { 39 struct ConfigurationParams {
40 enum KeystoreKeyStatus {
41 KEYSTORE_KEY_UNNECESSARY,
42 KEYSTORE_KEY_NEEDED
43 };
44 ConfigurationParams(); 40 ConfigurationParams();
45 ConfigurationParams( 41 ConfigurationParams(
46 const sync_pb::GetUpdatesCallerInfo::GetUpdatesSource& source, 42 const sync_pb::GetUpdatesCallerInfo::GetUpdatesSource& source,
47 const syncer::ModelTypeSet& types_to_download, 43 const syncer::ModelTypeSet& types_to_download,
48 const syncer::ModelSafeRoutingInfo& routing_info, 44 const syncer::ModelSafeRoutingInfo& routing_info,
49 KeystoreKeyStatus keystore_key_status,
50 const base::Closure& ready_task); 45 const base::Closure& ready_task);
51 ~ConfigurationParams(); 46 ~ConfigurationParams();
52 47
53 // Source for the configuration. 48 // Source for the configuration.
54 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source; 49 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source;
55 // The types that should be downloaded. 50 // The types that should be downloaded.
56 syncer::ModelTypeSet types_to_download; 51 syncer::ModelTypeSet types_to_download;
57 // The new routing info (superset of types to be downloaded). 52 // The new routing info (superset of types to be downloaded).
58 ModelSafeRoutingInfo routing_info; 53 ModelSafeRoutingInfo routing_info;
59 // Whether we need to perform a GetKey command.
60 KeystoreKeyStatus keystore_key_status;
61 // Callback to invoke on configuration completion. 54 // Callback to invoke on configuration completion.
62 base::Closure ready_task; 55 base::Closure ready_task;
63 }; 56 };
64 57
65 class SyncScheduler : public sessions::SyncSession::Delegate { 58 class SyncScheduler : public sessions::SyncSession::Delegate {
66 public: 59 public:
67 enum Mode { 60 enum Mode {
68 // In this mode, the thread only performs configuration tasks. This is 61 // In this mode, the thread only performs configuration tasks. This is
69 // designed to make the case where we want to download updates for a 62 // designed to make the case where we want to download updates for a
70 // specific type only, and not continue syncing until we are moved into 63 // specific type only, and not continue syncing until we are moved into
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 scoped_ptr<Syncer> syncer_; 405 scoped_ptr<Syncer> syncer_;
413 406
414 sessions::SyncSessionContext *session_context_; 407 sessions::SyncSessionContext *session_context_;
415 408
416 DISALLOW_COPY_AND_ASSIGN(SyncScheduler); 409 DISALLOW_COPY_AND_ASSIGN(SyncScheduler);
417 }; 410 };
418 411
419 } // namespace syncer 412 } // namespace syncer
420 413
421 #endif // SYNC_ENGINE_SYNC_SCHEDULER_H_ 414 #endif // SYNC_ENGINE_SYNC_SCHEDULER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698