Home | History | Annotate | Download | only in internal_api
      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