blob: 39ae42771cc4cb31e8a9655dfee249e9747797f8 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "sync/sessions/sync_session_context.h"
#include "sync/sessions/debug_info_getter.h"
#include "sync/util/extensions_activity.h"
namespace syncer {
namespace sessions {
SyncSessionContext::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)
: connection_manager_(connection_manager),
directory_(directory),
extensions_activity_(extensions_activity),
notifications_enabled_(false),
max_commit_batch_size_(kDefaultMaxCommitBatchSize),
debug_info_getter_(debug_info_getter),
model_type_registry_(model_type_registry),
keystore_encryption_enabled_(keystore_encryption_enabled),
invalidator_client_id_(invalidator_client_id),
server_enabled_pre_commit_update_avoidance_(false),
client_enabled_pre_commit_update_avoidance_(
client_enabled_pre_commit_update_avoidance) {
std::vector<SyncEngineEventListener*>::const_iterator it;
for (it = listeners.begin(); it != listeners.end(); ++it)
listeners_.AddObserver(*it);
}
SyncSessionContext::~SyncSessionContext() {
}
ModelTypeSet SyncSessionContext::GetEnabledTypes() const {
return model_type_registry_->GetEnabledTypes();
}
void SyncSessionContext::SetRoutingInfo(
const ModelSafeRoutingInfo& routing_info) {
model_type_registry_->SetEnabledDirectoryTypes(routing_info);
}
} // namespace sessions
} // namespace syncer