// 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/test/test_directory_backing_store.h" #include "base/logging.h" namespace syncer { namespace syncable { TestDirectoryBackingStore::TestDirectoryBackingStore( const std::string& dir_name, sql::Connection* db) : DirectoryBackingStore(dir_name, db) { } TestDirectoryBackingStore::~TestDirectoryBackingStore() { // This variant of the DirectoryBackingStore does not own its connection, so // we take care to not delete it here. ignore_result(db_.release()); } DirOpenResult TestDirectoryBackingStore::Load( Directory::MetahandlesMap* handles_map, JournalIndex* delete_journals, MetahandleSet* metahandles_to_purge, Directory::KernelLoadInfo* kernel_load_info) { DCHECK(db_->is_open()); if (!InitializeTables()) return FAILED_OPEN_DATABASE; if (!LoadEntries(handles_map, metahandles_to_purge)) return FAILED_DATABASE_CORRUPT; if (!LoadDeleteJournals(delete_journals)) return FAILED_DATABASE_CORRUPT; if (!LoadInfo(kernel_load_info)) return FAILED_DATABASE_CORRUPT; if (!VerifyReferenceIntegrity(handles_map)) return FAILED_DATABASE_CORRUPT; return OPENED; } bool TestDirectoryBackingStore::DeleteEntries(const MetahandleSet& handles) { return DirectoryBackingStore::DeleteEntries( DirectoryBackingStore::METAS_TABLE, handles); } } // namespace syncable } // namespace syncer