• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 #pragma once
11 
12 #include "base/memory/scoped_vector.h"
13 #include "chrome/browser/favicon_service.h"
14 #include "chrome/browser/history/history.h"
15 #include "chrome/browser/history/page_usage_data.h"
16 #include "content/browser/cancelable_request.h"
17 
18 namespace history {
19 
20 // Querying -------------------------------------------------------------------
21 
22 typedef CancelableRequest1<HistoryService::QueryURLCallback,
23                            Tuple2<URLRow, VisitVector> >
24     QueryURLRequest;
25 
26 typedef CancelableRequest1<HistoryService::QueryHistoryCallback,
27                            QueryResults>
28     QueryHistoryRequest;
29 
30 typedef CancelableRequest1<HistoryService::QueryRedirectsCallback,
31                            history::RedirectList>
32     QueryRedirectsRequest;
33 
34 typedef CancelableRequest<HistoryService::GetVisitCountToHostCallback>
35     GetVisitCountToHostRequest;
36 
37 typedef CancelableRequest1<HistoryService::QueryTopURLsAndRedirectsCallback,
38                            Tuple2<std::vector<GURL>,
39                                   history::RedirectMap> >
40     QueryTopURLsAndRedirectsRequest;
41 
42 typedef CancelableRequest1<HistoryService::QueryMostVisitedURLsCallback,
43                            history::MostVisitedURLList>
44     QueryMostVisitedURLsRequest;
45 
46 // Thumbnails -----------------------------------------------------------------
47 
48 typedef CancelableRequest<HistoryService::ThumbnailDataCallback>
49     GetPageThumbnailRequest;
50 
51 // Favicons -------------------------------------------------------------------
52 
53 typedef CancelableRequest<FaviconService::FaviconDataCallback>
54     GetFaviconRequest;
55 
56 // Downloads ------------------------------------------------------------------
57 
58 typedef CancelableRequest1<HistoryService::DownloadQueryCallback,
59                            std::vector<DownloadCreateInfo> >
60     DownloadQueryRequest;
61 
62 typedef CancelableRequest<HistoryService::DownloadCreateCallback>
63     DownloadCreateRequest;
64 
65 // Deletion --------------------------------------------------------------------
66 
67 typedef CancelableRequest<HistoryService::ExpireHistoryCallback>
68     ExpireHistoryRequest;
69 
70 // Segment usage --------------------------------------------------------------
71 
72 typedef CancelableRequest1<HistoryService::SegmentQueryCallback,
73                            ScopedVector<PageUsageData> >
74     QuerySegmentUsageRequest;
75 
76 // Keyword search terms -------------------------------------------------------
77 
78 typedef
79     CancelableRequest1<HistoryService::GetMostRecentKeywordSearchTermsCallback,
80                        std::vector<KeywordSearchTermVisit> >
81     GetMostRecentKeywordSearchTermsRequest;
82 
83 // Generic operations ---------------------------------------------------------
84 
85 // The argument here is an input value, which is the task to run on the
86 // background thread. The callback is used to execute the portion of the task
87 // that executes on the main thread.
88 typedef CancelableRequest1<HistoryService::HistoryDBTaskCallback,
89                            scoped_refptr<HistoryDBTask> >
90     HistoryDBTaskRequest;
91 
92 }  // namespace history
93 
94 #endif  // CHROME_BROWSER_HISTORY_HISTORY_MARSHALING_H__
95