15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sync/sessions/sync_session_context.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sync/sessions/debug_info_getter.h" 8a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "sync/util/extensions_activity.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace syncer { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace sessions { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SyncSessionContext::SyncSessionContext( 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ServerConnectionManager* connection_manager, 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) syncable::Directory* directory, 16a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) ExtensionsActivity* extensions_activity, 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::vector<SyncEngineEventListener*>& listeners, 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DebugInfoGetter* debug_info_getter, 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ModelTypeRegistry* model_type_registry, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool keystore_encryption_enabled, 21ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch bool client_enabled_pre_commit_update_avoidance, 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& invalidator_client_id) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : connection_manager_(connection_manager), 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) directory_(directory), 25a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) extensions_activity_(extensions_activity), 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) notifications_enabled_(false), 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) max_commit_batch_size_(kDefaultMaxCommitBatchSize), 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) debug_info_getter_(debug_info_getter), 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) model_type_registry_(model_type_registry), 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) keystore_encryption_enabled_(keystore_encryption_enabled), 31ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch invalidator_client_id_(invalidator_client_id), 32ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch server_enabled_pre_commit_update_avoidance_(false), 33ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch client_enabled_pre_commit_update_avoidance_( 34ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch client_enabled_pre_commit_update_avoidance) { 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::vector<SyncEngineEventListener*>::const_iterator it; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (it = listeners.begin(); it != listeners.end(); ++it) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) listeners_.AddObserver(*it); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SyncSessionContext::~SyncSessionContext() { 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)ModelTypeSet SyncSessionContext::GetEnabledTypes() const { 4423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) return model_type_registry_->GetEnabledTypes(); 4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} 4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void SyncSessionContext::SetRoutingInfo( 484e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const ModelSafeRoutingInfo& routing_info) { 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) model_type_registry_->SetEnabledDirectoryTypes(routing_info); 504e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 514e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace sessions 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace syncer 54