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/internal_api/public/base_transaction.h" 6 7#include "sync/syncable/directory.h" 8#include "sync/syncable/nigori_handler.h" 9#include "sync/util/cryptographer.h" 10 11namespace syncer { 12 13////////////////////////////////////////////////////////////////////////// 14// BaseTransaction member definitions 15BaseTransaction::BaseTransaction(UserShare* share) 16 : user_share_(share) { 17 DCHECK(share && share->directory.get()); 18} 19 20BaseTransaction::~BaseTransaction() { 21} 22 23Cryptographer* BaseTransaction::GetCryptographer() const { 24 return GetDirectory()->GetCryptographer(this->GetWrappedTrans()); 25} 26 27ModelTypeSet BaseTransaction::GetEncryptedTypes() const { 28 syncable::NigoriHandler* nigori_handler = 29 GetDirectory()->GetNigoriHandler(); 30 return nigori_handler ? 31 nigori_handler->GetEncryptedTypes(this->GetWrappedTrans()) : 32 ModelTypeSet(); 33} 34 35} // namespace syncer 36