| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_HISTORY_TEXT_DATABASE_H__ | 5 #ifndef CHROME_BROWSER_HISTORY_TEXT_DATABASE_H__ |
| 6 #define CHROME_BROWSER_HISTORY_TEXT_DATABASE_H__ | 6 #define CHROME_BROWSER_HISTORY_TEXT_DATABASE_H__ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 struct Match { | 29 struct Match { |
| 30 // URL of the match. | 30 // URL of the match. |
| 31 GURL url; | 31 GURL url; |
| 32 | 32 |
| 33 // The title is returned because the title in the text database and the URL | 33 // The title is returned because the title in the text database and the URL |
| 34 // database may differ. This happens because we capture the title when the | 34 // database may differ. This happens because we capture the title when the |
| 35 // body is captured, and don't update it later. | 35 // body is captured, and don't update it later. |
| 36 std::wstring title; | 36 std::wstring title; |
| 37 | 37 |
| 38 // Time the page that was returned was visited. | 38 // Time the page that was returned was visited. |
| 39 Time time; | 39 base::Time time; |
| 40 | 40 |
| 41 // Identifies any found matches in the title of the document. These are not | 41 // Identifies any found matches in the title of the document. These are not |
| 42 // included in the snippet. | 42 // included in the snippet. |
| 43 Snippet::MatchPositions title_match_positions; | 43 Snippet::MatchPositions title_match_positions; |
| 44 | 44 |
| 45 // Snippet of the match we generated from the body. | 45 // Snippet of the match we generated from the body. |
| 46 Snippet snippet; | 46 Snippet snippet; |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 // Note: You must call init which must succeed before using this class. | 49 // Note: You must call init which must succeed before using this class. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 static const wchar_t* file_base(); | 91 static const wchar_t* file_base(); |
| 92 | 92 |
| 93 // Converts a filename on disk (optionally including a path) to a database | 93 // Converts a filename on disk (optionally including a path) to a database |
| 94 // identifier. If the filename doesn't have the correct format, returns 0. | 94 // identifier. If the filename doesn't have the correct format, returns 0. |
| 95 static DBIdent FileNameToID(const std::wstring& file_path); | 95 static DBIdent FileNameToID(const std::wstring& file_path); |
| 96 | 96 |
| 97 // Changing operations ------------------------------------------------------- | 97 // Changing operations ------------------------------------------------------- |
| 98 | 98 |
| 99 // Adds the given data to the page. Returns true on success. The data should | 99 // Adds the given data to the page. Returns true on success. The data should |
| 100 // already be converted to UTF-8. | 100 // already be converted to UTF-8. |
| 101 bool AddPageData(Time time, | 101 bool AddPageData(base::Time time, |
| 102 const std::string& url, | 102 const std::string& url, |
| 103 const std::string& title, | 103 const std::string& title, |
| 104 const std::string& contents); | 104 const std::string& contents); |
| 105 | 105 |
| 106 // Deletes the indexed data exactly matching the given URL/time pair. | 106 // Deletes the indexed data exactly matching the given URL/time pair. |
| 107 void DeletePageData(Time time, const std::string& url); | 107 void DeletePageData(base::Time time, const std::string& url); |
| 108 | 108 |
| 109 // Optimizes the tree inside the database. This will, in addition to making | 109 // Optimizes the tree inside the database. This will, in addition to making |
| 110 // access faster, remove any deleted data from the database (normally it is | 110 // access faster, remove any deleted data from the database (normally it is |
| 111 // added again as "removed" and it is manually cleaned up when it decides to | 111 // added again as "removed" and it is manually cleaned up when it decides to |
| 112 // optimize it naturally). It is bad for privacy if a user is deleting a | 112 // optimize it naturally). It is bad for privacy if a user is deleting a |
| 113 // page from history but it still exists in the full text database in some | 113 // page from history but it still exists in the full text database in some |
| 114 // form. This function will clean that up. | 114 // form. This function will clean that up. |
| 115 void Optimize(); | 115 void Optimize(); |
| 116 | 116 |
| 117 // Querying ------------------------------------------------------------------ | 117 // Querying ------------------------------------------------------------------ |
| 118 | 118 |
| 119 // Executes the given query. See QueryOptions for more info on input. | 119 // Executes the given query. See QueryOptions for more info on input. |
| 120 // | 120 // |
| 121 // The results are appended to any existing ones in |*results|, and the first | 121 // The results are appended to any existing ones in |*results|, and the first |
| 122 // time considered for the output is in |first_time_searched| | 122 // time considered for the output is in |first_time_searched| |
| 123 // (see QueryResults for more). | 123 // (see QueryResults for more). |
| 124 // | 124 // |
| 125 // When |options.most_recent_visit_only|, any URLs found will be added to | 125 // When |options.most_recent_visit_only|, any URLs found will be added to |
| 126 // |unique_urls|. If a URL is already in the set, additional results will not | 126 // |unique_urls|. If a URL is already in the set, additional results will not |
| 127 // be added (giving the ability to uniquify URL results, with the most recent | 127 // be added (giving the ability to uniquify URL results, with the most recent |
| 128 // If |most_recent_visit_only| is not set, |unique_urls| will be untouched. | 128 // If |most_recent_visit_only| is not set, |unique_urls| will be untouched. |
| 129 // | 129 // |
| 130 // Callers must run QueryParser on the user text and pass the results of the | 130 // Callers must run QueryParser on the user text and pass the results of the |
| 131 // QueryParser to this method as the query string. | 131 // QueryParser to this method as the query string. |
| 132 void GetTextMatches(const std::string& query, | 132 void GetTextMatches(const std::string& query, |
| 133 const QueryOptions& options, | 133 const QueryOptions& options, |
| 134 std::vector<Match>* results, | 134 std::vector<Match>* results, |
| 135 URLSet* unique_urls, | 135 URLSet* unique_urls, |
| 136 Time* first_time_searched); | 136 base::Time* first_time_searched); |
| 137 | 137 |
| 138 // Converts the given database identifier to a filename. This does not include | 138 // Converts the given database identifier to a filename. This does not include |
| 139 // the path, just the file and extension. | 139 // the path, just the file and extension. |
| 140 static std::wstring IDToFileName(DBIdent id); | 140 static std::wstring IDToFileName(DBIdent id); |
| 141 | 141 |
| 142 private: | 142 private: |
| 143 // Ensures that the tables and indices are created. Returns true on success. | 143 // Ensures that the tables and indices are created. Returns true on success. |
| 144 bool CreateTables(); | 144 bool CreateTables(); |
| 145 | 145 |
| 146 // See the constructor. | 146 // See the constructor. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 162 | 162 |
| 163 MetaTableHelper meta_table_; | 163 MetaTableHelper meta_table_; |
| 164 | 164 |
| 165 DISALLOW_EVIL_CONSTRUCTORS(TextDatabase); | 165 DISALLOW_EVIL_CONSTRUCTORS(TextDatabase); |
| 166 }; | 166 }; |
| 167 | 167 |
| 168 } // namespace history | 168 } // namespace history |
| 169 | 169 |
| 170 #endif // CHROME_BROWSER_HISTORY_TEXT_DATABASE_H__ | 170 #endif // CHROME_BROWSER_HISTORY_TEXT_DATABASE_H__ |
| 171 | 171 |
| OLD | NEW |