| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 // Chromium settings and storage represent user-selected preferences and | 5 // Chromium settings and storage represent user-selected preferences and |
| 6 // information and MUST not be extracted, overwritten or modified except | 6 // information and MUST not be extracted, overwritten or modified except |
| 7 // through Chromium defined APIs. | 7 // through Chromium defined APIs. |
| 8 | 8 |
| 9 #ifndef CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__ | 9 #ifndef CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__ |
| 10 #define CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__ | 10 #define CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__ |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 // The originator of the service request. | 76 // The originator of the service request. |
| 77 WebDataServiceConsumer* consumer_; | 77 WebDataServiceConsumer* consumer_; |
| 78 | 78 |
| 79 WDTypedResult* result_; | 79 WDTypedResult* result_; |
| 80 | 80 |
| 81 DISALLOW_COPY_AND_ASSIGN(WebDataRequest); | 81 DISALLOW_COPY_AND_ASSIGN(WebDataRequest); |
| 82 }; | 82 }; |
| 83 | 83 |
| 84 ////////////////////////////////////////////////////////////////////////////// | 84 ////////////////////////////////////////////////////////////////////////////// |
| 85 // | 85 // |
| 86 // Webdata request templates | |
| 87 // | |
| 88 // Internally we use instances of the following template to represent | |
| 89 // requests. | |
| 90 ////////////////////////////////////////////////////////////////////////////// | |
| 91 | |
| 92 template <class T> | |
| 93 class GenericRequest : public WebDataRequest { | |
| 94 public: | |
| 95 GenericRequest(WebDataService* service, | |
| 96 WebDataServiceConsumer* consumer, | |
| 97 WebDataRequestManager* manager, | |
| 98 const T& arg) | |
| 99 : WebDataRequest(service, consumer, manager), | |
| 100 arg_(arg) { | |
| 101 } | |
| 102 | |
| 103 virtual ~GenericRequest() { | |
| 104 } | |
| 105 | |
| 106 const T& arg() const { return arg_; } | |
| 107 | |
| 108 private: | |
| 109 T arg_; | |
| 110 }; | |
| 111 | |
| 112 template <class T, class U> | |
| 113 class GenericRequest2 : public WebDataRequest { | |
| 114 public: | |
| 115 GenericRequest2(WebDataService* service, | |
| 116 WebDataServiceConsumer* consumer, | |
| 117 WebDataRequestManager* manager, | |
| 118 const T& arg1, | |
| 119 const U& arg2) | |
| 120 : WebDataRequest(service, consumer, manager), | |
| 121 arg1_(arg1), | |
| 122 arg2_(arg2) { | |
| 123 } | |
| 124 | |
| 125 virtual ~GenericRequest2() { } | |
| 126 | |
| 127 const T& arg1() const { return arg1_; } | |
| 128 | |
| 129 const U& arg2() const { return arg2_; } | |
| 130 | |
| 131 private: | |
| 132 T arg1_; | |
| 133 U arg2_; | |
| 134 }; | |
| 135 | |
| 136 ////////////////////////////////////////////////////////////////////////////// | |
| 137 // | |
| 138 // Webdata Request Manager | 86 // Webdata Request Manager |
| 139 // | 87 // |
| 140 // Tracks all WebDataRequests for a WebDataService. | 88 // Tracks all WebDataRequests for a WebDataService. |
| 141 // | 89 // |
| 142 // Note: This is an internal interface, not to be used outside of webdata/ | 90 // Note: This is an internal interface, not to be used outside of webdata/ |
| 143 ////////////////////////////////////////////////////////////////////////////// | 91 ////////////////////////////////////////////////////////////////////////////// |
| 144 class WebDataRequestManager { | 92 class WebDataRequestManager { |
| 145 public: | 93 public: |
| 146 WebDataRequestManager(); | 94 WebDataRequestManager(); |
| 147 | 95 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 166 // Next handle to be used for requests. Incremented for each use. | 114 // Next handle to be used for requests. Incremented for each use. |
| 167 WebDataServiceBase::Handle next_request_handle_; | 115 WebDataServiceBase::Handle next_request_handle_; |
| 168 | 116 |
| 169 typedef std::map<WebDataServiceBase::Handle, WebDataRequest*> RequestMap; | 117 typedef std::map<WebDataServiceBase::Handle, WebDataRequest*> RequestMap; |
| 170 RequestMap pending_requests_; | 118 RequestMap pending_requests_; |
| 171 | 119 |
| 172 DISALLOW_COPY_AND_ASSIGN(WebDataRequestManager); | 120 DISALLOW_COPY_AND_ASSIGN(WebDataRequestManager); |
| 173 }; | 121 }; |
| 174 | 122 |
| 175 #endif // CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__ | 123 #endif // CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__ |
| OLD | NEW |