• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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