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/test/test_directory_backing_store.h" 6 7 #include "base/basictypes.h" 8 #include "base/logging.h" 9 10 namespace syncer { 11 namespace syncable { 12 TestDirectoryBackingStore(const std::string & dir_name,sql::Connection * db)13TestDirectoryBackingStore::TestDirectoryBackingStore( 14 const std::string& dir_name, sql::Connection* db) 15 : DirectoryBackingStore(dir_name, db) { 16 } 17 ~TestDirectoryBackingStore()18TestDirectoryBackingStore::~TestDirectoryBackingStore() { 19 // This variant of the DirectoryBackingStore does not own its connection, so 20 // we take care to not delete it here. 21 ignore_result(db_.release()); 22 } 23 Load(Directory::MetahandlesMap * handles_map,JournalIndex * delete_journals,Directory::KernelLoadInfo * kernel_load_info)24DirOpenResult TestDirectoryBackingStore::Load( 25 Directory::MetahandlesMap* handles_map, 26 JournalIndex* delete_journals, 27 Directory::KernelLoadInfo* kernel_load_info) { 28 DCHECK(db_->is_open()); 29 30 if (!InitializeTables()) 31 return FAILED_OPEN_DATABASE; 32 33 if (!DropDeletedEntries()) 34 return FAILED_DATABASE_CORRUPT; 35 if (!LoadEntries(handles_map)) 36 return FAILED_DATABASE_CORRUPT; 37 if (!LoadDeleteJournals(delete_journals)) 38 return FAILED_DATABASE_CORRUPT; 39 if (!LoadInfo(kernel_load_info)) 40 return FAILED_DATABASE_CORRUPT; 41 if (!VerifyReferenceIntegrity(handles_map)) 42 return FAILED_DATABASE_CORRUPT; 43 44 return OPENED; 45 } 46 47 } // namespace syncable 48 } // namespace syncer 49