Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_store_sqlite.h

Issue 5794003: Deinline even more destructors. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_STORE_SQLITE_H_ 5 #ifndef CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_STORE_SQLITE_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_STORE_SQLITE_H_ 6 #define CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_STORE_SQLITE_H_
7 #pragma once 7 #pragma once
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 11 matching lines...) Expand all
22 class SafeBrowsingStoreSqlite : public SafeBrowsingStore { 22 class SafeBrowsingStoreSqlite : public SafeBrowsingStore {
23 public: 23 public:
24 SafeBrowsingStoreSqlite(); 24 SafeBrowsingStoreSqlite();
25 virtual ~SafeBrowsingStoreSqlite(); 25 virtual ~SafeBrowsingStoreSqlite();
26 26
27 virtual bool Delete(); 27 virtual bool Delete();
28 28
29 virtual void Init(const FilePath& filename, 29 virtual void Init(const FilePath& filename,
30 Callback0::Type* corruption_callback); 30 Callback0::Type* corruption_callback);
31 31
32 virtual bool BeginChunk() { 32 virtual bool BeginChunk();
33 return true;
34 }
35 33
36 // Get all Add prefixes out from the store. 34 // Get all Add prefixes out from the store.
37 virtual bool GetAddPrefixes(std::vector<SBAddPrefix>* add_prefixes); 35 virtual bool GetAddPrefixes(std::vector<SBAddPrefix>* add_prefixes);
38 virtual bool WriteAddPrefix(int32 chunk_id, SBPrefix prefix) { 36 virtual bool WriteAddPrefix(int32 chunk_id, SBPrefix prefix);
39 const std::vector<SBAddPrefix> prefixes(1, SBAddPrefix(chunk_id, prefix));
40 return WriteAddPrefixes(prefixes);
41 }
42 virtual bool WriteAddHash(int32 chunk_id, 37 virtual bool WriteAddHash(int32 chunk_id,
43 base::Time receive_time, 38 base::Time receive_time,
44 const SBFullHash& full_hash) { 39 const SBFullHash& full_hash);
45 const std::vector<SBAddFullHash>
46 hashes(1, SBAddFullHash(chunk_id, receive_time, full_hash));
47 return WriteAddHashes(hashes);
48 }
49 virtual bool WriteSubPrefix(int32 chunk_id, 40 virtual bool WriteSubPrefix(int32 chunk_id,
50 int32 add_chunk_id, SBPrefix prefix) { 41 int32 add_chunk_id, SBPrefix prefix);
51 const std::vector<SBSubPrefix>
52 prefixes(1, SBSubPrefix(chunk_id, add_chunk_id, prefix));
53 return WriteSubPrefixes(prefixes);
54 }
55 virtual bool WriteSubHash(int32 chunk_id, int32 add_chunk_id, 42 virtual bool WriteSubHash(int32 chunk_id, int32 add_chunk_id,
56 const SBFullHash& full_hash) { 43 const SBFullHash& full_hash);
57 const std::vector<SBSubFullHash> 44 virtual bool FinishChunk();
58 hashes(1, SBSubFullHash(chunk_id, add_chunk_id, full_hash));
59 return WriteSubHashes(hashes);
60 }
61 virtual bool FinishChunk() {
62 return true;
63 }
64 45
65 virtual bool BeginUpdate(); 46 virtual bool BeginUpdate();
66 // TODO(shess): Should not be public. 47 // TODO(shess): Should not be public.
67 virtual bool DoUpdate(const std::vector<SBAddFullHash>& pending_adds, 48 virtual bool DoUpdate(const std::vector<SBAddFullHash>& pending_adds,
68 std::vector<SBAddPrefix>* add_prefixes_result, 49 std::vector<SBAddPrefix>* add_prefixes_result,
69 std::vector<SBAddFullHash>* add_full_hashes_result); 50 std::vector<SBAddFullHash>* add_full_hashes_result);
70 // NOTE: |prefix_misses| is ignored, as it will be handled in 51 // NOTE: |prefix_misses| is ignored, as it will be handled in
71 // |SafeBrowsingStoreFile::DoUpdate()|. 52 // |SafeBrowsingStoreFile::DoUpdate()|.
72 virtual bool FinishUpdate(const std::vector<SBAddFullHash>& pending_adds, 53 virtual bool FinishUpdate(const std::vector<SBAddFullHash>& pending_adds,
73 const std::set<SBPrefix>& prefix_misses, 54 const std::set<SBPrefix>& prefix_misses,
74 std::vector<SBAddPrefix>* add_prefixes_result, 55 std::vector<SBAddPrefix>* add_prefixes_result,
75 std::vector<SBAddFullHash>* add_full_hashes_result); 56 std::vector<SBAddFullHash>* add_full_hashes_result);
76 virtual bool CancelUpdate(); 57 virtual bool CancelUpdate();
77 58
78 virtual void SetAddChunk(int32 chunk_id) { 59 virtual void SetAddChunk(int32 chunk_id);
79 add_chunks_cache_.insert(chunk_id); 60 virtual bool CheckAddChunk(int32 chunk_id);
80 } 61 virtual void GetAddChunks(std::vector<int32>* out);
81 virtual bool CheckAddChunk(int32 chunk_id) {
82 return add_chunks_cache_.count(chunk_id) > 0;
83 }
84 virtual void GetAddChunks(std::vector<int32>* out) {
85 out->clear();
86 out->insert(out->end(), add_chunks_cache_.begin(), add_chunks_cache_.end());
87 }
88 62
89 virtual void SetSubChunk(int32 chunk_id) { 63 virtual void SetSubChunk(int32 chunk_id);
90 sub_chunks_cache_.insert(chunk_id); 64 virtual bool CheckSubChunk(int32 chunk_id);
91 } 65 virtual void GetSubChunks(std::vector<int32>* out);
92 virtual bool CheckSubChunk(int32 chunk_id) {
93 return sub_chunks_cache_.count(chunk_id) > 0;
94 }
95 virtual void GetSubChunks(std::vector<int32>* out) {
96 out->clear();
97 out->insert(out->end(), sub_chunks_cache_.begin(), sub_chunks_cache_.end());
98 }
99 66
100 virtual void DeleteAddChunk(int32 chunk_id) { 67 virtual void DeleteAddChunk(int32 chunk_id);
101 add_del_cache_.insert(chunk_id); 68 virtual void DeleteSubChunk(int32 chunk_id);
102 }
103 virtual void DeleteSubChunk(int32 chunk_id) {
104 sub_del_cache_.insert(chunk_id);
105 }
106 69
107 // Returns the name of the SQLite journal file for |filename|. 70 // Returns the name of the SQLite journal file for |filename|.
108 // Exported for unit tests. 71 // Exported for unit tests.
109 static const FilePath JournalFileForFilename(const FilePath& filename) { 72 static const FilePath JournalFileForFilename(const FilePath& filename);
110 return FilePath(filename.value() + FILE_PATH_LITERAL("-journal"));
111 }
112 73
113 private: 74 private:
114 // For on-the-fly migration. 75 // For on-the-fly migration.
115 // TODO(shess): Remove (entire class) after migration. 76 // TODO(shess): Remove (entire class) after migration.
116 friend class SafeBrowsingStoreFile; 77 friend class SafeBrowsingStoreFile;
117 78
118 // The following routines return true on success, or false on 79 // The following routines return true on success, or false on
119 // failure. Failure is presumed to be persistent, so the caller 80 // failure. Failure is presumed to be persistent, so the caller
120 // should stop trying and unwind the transaction. 81 // should stop trying and unwind the transaction.
121 // OnCorruptDatabase() is called if SQLite returns SQLITE_CORRUPT. 82 // OnCorruptDatabase() is called if SQLite returns SQLITE_CORRUPT.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 base::hash_set<int32> add_del_cache_; 150 base::hash_set<int32> add_del_cache_;
190 base::hash_set<int32> sub_del_cache_; 151 base::hash_set<int32> sub_del_cache_;
191 152
192 // Called when SQLite returns SQLITE_CORRUPT. 153 // Called when SQLite returns SQLITE_CORRUPT.
193 scoped_ptr<Callback0::Type> corruption_callback_; 154 scoped_ptr<Callback0::Type> corruption_callback_;
194 155
195 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingStoreSqlite); 156 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingStoreSqlite);
196 }; 157 };
197 158
198 #endif // CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_STORE_SQLITE_H_ 159 #endif // CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_STORE_SQLITE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698