diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 09:35:42 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 09:35:42 +0000 |
commit | c1c32c85357f14756247b04b8b5ae41b05bf2e16 (patch) | |
tree | 58f25f64e1fa592e8daf276ef69901cd2218f929 /sync/syncable/on_disk_directory_backing_store.cc | |
parent | 63ee33bde2ec8471a70f0f0ec6a1962dd07fc8ab (diff) | |
download | chromium_src-c1c32c85357f14756247b04b8b5ae41b05bf2e16.zip chromium_src-c1c32c85357f14756247b04b8b5ae41b05bf2e16.tar.gz chromium_src-c1c32c85357f14756247b04b8b5ae41b05bf2e16.tar.bz2 |
[Sync] Move 'sync' target to sync/
Also move related test files.
Move WriteNode::UpdateEntryWithEncryption to nigori_util.h.
Clean up defines and dependencies. In particular, get rid of SYNC_ENGINE_VERSION_STRING and hard-code the string in the single place it's used.
Rename data_encryption.* to data_encryption_win.* and add a pragma for crypt32.lib.
Clean up exit-time constructor warnings in sync{able,er}_unittest.cc.
Remove some unused files.
BUG=117585
TEST=
TBR=jhawkins@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126872 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/syncable/on_disk_directory_backing_store.cc')
-rw-r--r-- | sync/syncable/on_disk_directory_backing_store.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sync/syncable/on_disk_directory_backing_store.cc b/sync/syncable/on_disk_directory_backing_store.cc new file mode 100644 index 0000000..22ffb77 --- /dev/null +++ b/sync/syncable/on_disk_directory_backing_store.cc @@ -0,0 +1,41 @@ +// 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/syncable/on_disk_directory_backing_store.h" + +#include "base/logging.h" + +namespace syncable { + +OnDiskDirectoryBackingStore::OnDiskDirectoryBackingStore( + const std::string& dir_name, const FilePath& backing_filepath) + : DirectoryBackingStore(dir_name), + backing_filepath_(backing_filepath) { + db_->set_exclusive_locking(); + db_->set_page_size(4096); +} + +DirOpenResult OnDiskDirectoryBackingStore::Load( + MetahandlesIndex* entry_bucket, + Directory::KernelLoadInfo* kernel_load_info) { + DCHECK(CalledOnValidThread()); + if (!db_->is_open()) { + if (!db_->Open(backing_filepath_)) + return FAILED_OPEN_DATABASE; + } + + if (!InitializeTables()) + return FAILED_OPEN_DATABASE; + + if (!DropDeletedEntries()) + return FAILED_DATABASE_CORRUPT; + if (!LoadEntries(entry_bucket)) + return FAILED_DATABASE_CORRUPT; + if (!LoadInfo(kernel_load_info)) + return FAILED_DATABASE_CORRUPT; + + return OPENED; +} + +} // namespace syncable |