| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "sync/syncable/in_memory_directory_backing_store.h" | 5 #include "sync/syncable/in_memory_directory_backing_store.h" |
| 6 | 6 |
| 7 namespace syncer { | 7 namespace syncer { |
| 8 namespace syncable { | 8 namespace syncable { |
| 9 | 9 |
| 10 InMemoryDirectoryBackingStore::InMemoryDirectoryBackingStore( | 10 InMemoryDirectoryBackingStore::InMemoryDirectoryBackingStore( |
| 11 const std::string& dir_name) | 11 const std::string& dir_name) |
| 12 : DirectoryBackingStore(dir_name), | 12 : DirectoryBackingStore(dir_name) { |
| 13 consistent_cache_guid_requested_(false) { | |
| 14 } | 13 } |
| 15 | 14 |
| 16 DirOpenResult InMemoryDirectoryBackingStore::Load( | 15 DirOpenResult InMemoryDirectoryBackingStore::Load( |
| 17 Directory::MetahandlesMap* handles_map, | 16 Directory::MetahandlesMap* handles_map, |
| 18 JournalIndex* delete_journals, | 17 JournalIndex* delete_journals, |
| 19 MetahandleSet* metahandles_to_purge, | 18 MetahandleSet* metahandles_to_purge, |
| 20 Directory::KernelLoadInfo* kernel_load_info) { | 19 Directory::KernelLoadInfo* kernel_load_info) { |
| 21 if (!IsOpen()) { | 20 if (!IsOpen()) { |
| 22 if (!OpenInMemory()) | 21 if (!OpenInMemory()) |
| 23 return FAILED_OPEN_DATABASE; | 22 return FAILED_OPEN_DATABASE; |
| 24 } | 23 } |
| 25 | 24 |
| 26 if (!InitializeTables()) | 25 if (!InitializeTables()) |
| 27 return FAILED_OPEN_DATABASE; | 26 return FAILED_OPEN_DATABASE; |
| 28 | 27 |
| 29 if (consistent_cache_guid_requested_) { | |
| 30 if (!db()->Execute( | |
| 31 "UPDATE share_info " | |
| 32 "SET cache_guid = 'IrcjZ2jyzHDV9Io4+zKcXQ=='")) { | |
| 33 return FAILED_OPEN_DATABASE; | |
| 34 } | |
| 35 } | |
| 36 | |
| 37 if (!LoadEntries(handles_map, metahandles_to_purge)) | 28 if (!LoadEntries(handles_map, metahandles_to_purge)) |
| 38 return FAILED_DATABASE_CORRUPT; | 29 return FAILED_DATABASE_CORRUPT; |
| 39 if (!LoadDeleteJournals(delete_journals)) | 30 if (!LoadDeleteJournals(delete_journals)) |
| 40 return FAILED_DATABASE_CORRUPT; | 31 return FAILED_DATABASE_CORRUPT; |
| 41 if (!LoadInfo(kernel_load_info)) | 32 if (!LoadInfo(kernel_load_info)) |
| 42 return FAILED_DATABASE_CORRUPT; | 33 return FAILED_DATABASE_CORRUPT; |
| 43 if (!VerifyReferenceIntegrity(handles_map)) | 34 if (!VerifyReferenceIntegrity(handles_map)) |
| 44 return FAILED_DATABASE_CORRUPT; | 35 return FAILED_DATABASE_CORRUPT; |
| 45 | 36 |
| 46 return OPENED; | 37 return OPENED; |
| 47 } | 38 } |
| 48 | 39 |
| 49 } // namespace syncable | 40 } // namespace syncable |
| 50 } // namespace syncer | 41 } // namespace syncer |
| OLD | NEW |