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 // Data structures for communication between the history service on the main 6 // thread and the backend on the history thread. 7 8 #ifndef CHROME_BROWSER_HISTORY_HISTORY_MARSHALING_H_ 9 #define CHROME_BROWSER_HISTORY_HISTORY_MARSHALING_H_ 10 11 #include "base/memory/scoped_vector.h" 12 #include "chrome/browser/common/cancelable_request.h" 13 #include "chrome/browser/favicon/favicon_service.h" 14 #include "chrome/browser/history/history_service.h" 15 #include "chrome/browser/history/page_usage_data.h" 16 17 #if defined(OS_ANDROID) 18 #include "chrome/browser/history/history_marshaling_android.h" 19 #endif 20 21 namespace history { 22 23 // Querying ------------------------------------------------------------------- 24 25 typedef CancelableRequest1<HistoryService::QueryURLCallback, 26 Tuple2<URLRow, VisitVector> > 27 QueryURLRequest; 28 29 typedef CancelableRequest1<HistoryService::QueryHistoryCallback, 30 QueryResults> 31 QueryHistoryRequest; 32 33 typedef CancelableRequest1<HistoryService::QueryRedirectsCallback, 34 history::RedirectList> 35 QueryRedirectsRequest; 36 37 typedef CancelableRequest<HistoryService::GetVisibleVisitCountToHostCallback> 38 GetVisibleVisitCountToHostRequest; 39 40 typedef CancelableRequest1<HistoryService::QueryTopURLsAndRedirectsCallback, 41 Tuple2<std::vector<GURL>, 42 history::RedirectMap> > 43 QueryTopURLsAndRedirectsRequest; 44 45 typedef CancelableRequest1<HistoryService::QueryMostVisitedURLsCallback, 46 history::MostVisitedURLList> 47 QueryMostVisitedURLsRequest; 48 49 typedef CancelableRequest1<HistoryService::QueryFilteredURLsCallback, 50 history::FilteredURLList> 51 QueryFilteredURLsRequest; 52 53 // Segment usage -------------------------------------------------------------- 54 55 typedef CancelableRequest1<HistoryService::SegmentQueryCallback, 56 ScopedVector<PageUsageData> > 57 QuerySegmentUsageRequest; 58 59 // Keyword search terms ------------------------------------------------------- 60 61 typedef 62 CancelableRequest1<HistoryService::GetMostRecentKeywordSearchTermsCallback, 63 std::vector<KeywordSearchTermVisit> > 64 GetMostRecentKeywordSearchTermsRequest; 65 66 // Generic operations --------------------------------------------------------- 67 68 // The argument here is an input value, which is the task to run on the 69 // background thread. The callback is used to execute the portion of the task 70 // that executes on the main thread. 71 typedef CancelableRequest1<base::Closure, scoped_refptr<HistoryDBTask> > 72 HistoryDBTaskRequest; 73 74 } // namespace history 75 76 #endif // CHROME_BROWSER_HISTORY_HISTORY_MARSHALING_H_ 77