diff options
Diffstat (limited to 'chrome/browser/sync/syncable/syncable.cc')
-rw-r--r-- | chrome/browser/sync/syncable/syncable.cc | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/chrome/browser/sync/syncable/syncable.cc b/chrome/browser/sync/syncable/syncable.cc index 99cc2ba..903b71d 100644 --- a/chrome/browser/sync/syncable/syncable.cc +++ b/chrome/browser/sync/syncable/syncable.cc @@ -352,12 +352,12 @@ EntryKernel* Directory::GetEntryByServerTag(const string& tag) { return NULL; } -EntryKernel* Directory::GetEntryByHandle(const int64 metahandle) { +EntryKernel* Directory::GetEntryByHandle(int64 metahandle) { ScopedKernelLock lock(this); return GetEntryByHandle(metahandle, &lock); } -EntryKernel* Directory::GetEntryByHandle(const int64 metahandle, +EntryKernel* Directory::GetEntryByHandle(int64 metahandle, ScopedKernelLock* lock) { // Look up in memory kernel_->needle.put(META_HANDLE, metahandle); @@ -998,12 +998,21 @@ void BaseTransaction::Lock() { } BaseTransaction::BaseTransaction(Directory* directory, const char* name, - const char* source_file, int line, WriterTag writer) + const char* source_file, int line, WriterTag writer) : directory_(directory), dirkernel_(directory->kernel_), name_(name), source_file_(source_file), line_(line), writer_(writer) { Lock(); } +BaseTransaction::BaseTransaction(Directory* directory) + : directory_(directory), + dirkernel_(NULL), + name_(NULL), + source_file_(NULL), + line_(NULL), + writer_(INVALID) { +} + BaseTransaction::~BaseTransaction() {} void BaseTransaction::UnlockAndLog(OriginalEntries* originals_arg) { @@ -1098,6 +1107,11 @@ WriteTransaction::WriteTransaction(const ScopedDirLookup& scoped_dir, originals_(new OriginalEntries) { } +WriteTransaction::WriteTransaction(Directory *directory) + : BaseTransaction(directory), + originals_(new OriginalEntries) { +} + void WriteTransaction::SaveOriginal(EntryKernel* entry) { if (NULL == entry) return; |