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 11 namespace syncer { 12 13 ////////////////////////////////////////////////////////////////////////// 14 // BaseTransaction member definitions 15 BaseTransaction::BaseTransaction(UserShare* share) 16 : user_share_(share) { 17 DCHECK(share && share->directory.get()); 18 } 19 20 BaseTransaction::~BaseTransaction() { 21 } 22 23 Cryptographer* BaseTransaction::GetCryptographer() const { 24 return GetDirectory()->GetCryptographer(this->GetWrappedTrans()); 25 } 26 27 ModelTypeSet 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