diff options
Diffstat (limited to 'sync/internal_api/read_transaction.cc')
-rw-r--r-- | sync/internal_api/read_transaction.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sync/internal_api/read_transaction.cc b/sync/internal_api/read_transaction.cc new file mode 100644 index 0000000..5c38f6c --- /dev/null +++ b/sync/internal_api/read_transaction.cc @@ -0,0 +1,38 @@ +// 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/internal_api/read_transaction.h" + +#include "sync/syncable/syncable.h" + +namespace sync_api { + +////////////////////////////////////////////////////////////////////////// +// ReadTransaction member definitions +ReadTransaction::ReadTransaction(const tracked_objects::Location& from_here, + UserShare* share) + : BaseTransaction(share), + transaction_(NULL), + close_transaction_(true) { + transaction_ = new syncable::ReadTransaction(from_here, + share->directory.get()); +} + +ReadTransaction::ReadTransaction(UserShare* share, + syncable::BaseTransaction* trans) + : BaseTransaction(share), + transaction_(trans), + close_transaction_(false) {} + +ReadTransaction::~ReadTransaction() { + if (close_transaction_) { + delete transaction_; + } +} + +syncable::BaseTransaction* ReadTransaction::GetWrappedTrans() const { + return transaction_; +} + +} // namespace sync_api |