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 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 40 SyncSessionContext::~SyncSessionContext() { 41 } 42 43 ModelTypeSet SyncSessionContext::GetEnabledTypes() const { 44 return model_type_registry_->GetEnabledTypes(); 45 } 46 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