• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "sync/sessions/sync_session_context.h"
6 
7 #include "sync/sessions/debug_info_getter.h"
8 #include "sync/util/extensions_activity.h"
9 
10 namespace syncer {
11 namespace sessions {
12 
SyncSessionContext(ServerConnectionManager * connection_manager,syncable::Directory * directory,ExtensionsActivity * extensions_activity,const std::vector<SyncEngineEventListener * > & listeners,DebugInfoGetter * debug_info_getter,ModelTypeRegistry * model_type_registry,bool keystore_encryption_enabled,bool client_enabled_pre_commit_update_avoidance,const std::string & invalidator_client_id)13 SyncSessionContext::SyncSessionContext(
14     ServerConnectionManager* connection_manager,
15     syncable::Directory* directory,
16     ExtensionsActivity* extensions_activity,
17     const std::vector<SyncEngineEventListener*>& listeners,
18     DebugInfoGetter* debug_info_getter,
19     ModelTypeRegistry* model_type_registry,
20     bool keystore_encryption_enabled,
21     bool client_enabled_pre_commit_update_avoidance,
22     const std::string& invalidator_client_id)
23     : connection_manager_(connection_manager),
24       directory_(directory),
25       extensions_activity_(extensions_activity),
26       notifications_enabled_(false),
27       max_commit_batch_size_(kDefaultMaxCommitBatchSize),
28       debug_info_getter_(debug_info_getter),
29       model_type_registry_(model_type_registry),
30       keystore_encryption_enabled_(keystore_encryption_enabled),
31       invalidator_client_id_(invalidator_client_id),
32       server_enabled_pre_commit_update_avoidance_(false),
33       client_enabled_pre_commit_update_avoidance_(
34           client_enabled_pre_commit_update_avoidance) {
35   std::vector<SyncEngineEventListener*>::const_iterator it;
36   for (it = listeners.begin(); it != listeners.end(); ++it)
37     listeners_.AddObserver(*it);
38 }
39 
~SyncSessionContext()40 SyncSessionContext::~SyncSessionContext() {
41 }
42 
GetEnabledTypes() const43 ModelTypeSet SyncSessionContext::GetEnabledTypes() const {
44   return model_type_registry_->GetEnabledTypes();
45 }
46 
SetRoutingInfo(const ModelSafeRoutingInfo & routing_info)47 void SyncSessionContext::SetRoutingInfo(
48     const ModelSafeRoutingInfo& routing_info) {
49   model_type_registry_->SetEnabledDirectoryTypes(routing_info);
50 }
51 
52 }  // namespace sessions
53 }  // namespace syncer
54