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 |