| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 // CancelableRequestProviders and Consumers work together to make requests that | 5 // CancelableRequestProviders and Consumers work together to make requests that |
| 6 // execute on a background thread in the provider and return data to the | 6 // execute on a background thread in the provider and return data to the |
| 7 // consumer. These classes collaborate to keep a list of open requests and to | 7 // consumer. These classes collaborate to keep a list of open requests and to |
| 8 // make sure that requests do not outlive either of the objects involved in the | 8 // make sure that requests do not outlive either of the objects involved in the |
| 9 // transaction. | 9 // transaction. |
| 10 // | 10 // |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 // | 115 // |
| 116 // It is intended that providers inherit from this class to provide the | 116 // It is intended that providers inherit from this class to provide the |
| 117 // necessary functionality. | 117 // necessary functionality. |
| 118 | 118 |
| 119 class CancelableRequestProvider { | 119 class CancelableRequestProvider { |
| 120 public: | 120 public: |
| 121 // Identifies a specific request from this provider. | 121 // Identifies a specific request from this provider. |
| 122 typedef int Handle; | 122 typedef int Handle; |
| 123 | 123 |
| 124 CancelableRequestProvider(); | 124 CancelableRequestProvider(); |
| 125 virtual ~CancelableRequestProvider(); | |
| 126 | 125 |
| 127 // Called by the enduser of the request to cancel it. This MUST be called on | 126 // Called by the enduser of the request to cancel it. This MUST be called on |
| 128 // the same thread that originally issued the request (which is also the same | 127 // the same thread that originally issued the request (which is also the same |
| 129 // thread that would have received the callback if it was not canceled). | 128 // thread that would have received the callback if it was not canceled). |
| 130 // handle must be for a valid pending (not yet complete or cancelled) request. | 129 // handle must be for a valid pending (not yet complete or cancelled) request. |
| 131 void CancelRequest(Handle handle); | 130 void CancelRequest(Handle handle); |
| 132 | 131 |
| 133 protected: | 132 protected: |
| 133 virtual ~CancelableRequestProvider(); |
| 134 |
| 134 // Adds a new request and initializes it. This is called by a derived class | 135 // Adds a new request and initializes it. This is called by a derived class |
| 135 // to add a new request. The request's Init() will be called (which is why | 136 // to add a new request. The request's Init() will be called (which is why |
| 136 // the consumer is required. The handle to the new request is returned. | 137 // the consumer is required. The handle to the new request is returned. |
| 137 Handle AddRequest(CancelableRequestBase* request, | 138 Handle AddRequest(CancelableRequestBase* request, |
| 138 CancelableRequestConsumerBase* consumer); | 139 CancelableRequestConsumerBase* consumer); |
| 139 | 140 |
| 140 // Called by the CancelableRequest when the request has executed. It will | 141 // Called by the CancelableRequest when the request has executed. It will |
| 141 // be removed from the list of pending requests (as opposed to canceling, | 142 // be removed from the list of pending requests (as opposed to canceling, |
| 142 // which will also set some state on the request). | 143 // which will also set some state on the request). |
| 143 void RequestCompleted(Handle handle); | 144 void RequestCompleted(Handle handle); |
| (...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 } | 1008 } |
| 1008 | 1009 |
| 1009 // The value. | 1010 // The value. |
| 1010 Type value; | 1011 Type value; |
| 1011 | 1012 |
| 1012 protected: | 1013 protected: |
| 1013 virtual ~CancelableRequest1() {} | 1014 virtual ~CancelableRequest1() {} |
| 1014 }; | 1015 }; |
| 1015 | 1016 |
| 1016 #endif // CHROME_BROWSER_CANCELABLE_REQUEST_H_ | 1017 #endif // CHROME_BROWSER_CANCELABLE_REQUEST_H_ |
| OLD | NEW |